﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Yanghn Notes</title><link>http://www.blogjava.net/haining128/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:01:33 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:01:33 GMT</pubDate><ttl>60</ttl><item><title>如何查看LINUX下系统占用的资源(TOP、FREE、UPTIME)[转]</title><link>http://www.blogjava.net/haining128/articles/320448.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320448.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320448.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320448.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320448.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320448.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 12px; font-family: verdana, geneva, arial, helvetica, sans-serif; text-align: justify"> <p id="" style="font-size: 13px; text-indent: 2em"><strong>top</strong><span class="Apple-converted-space">&nbsp;</span>1.作用<br>top命令用来显示执行中的程序进程，使用权限是所有用户。</p> <p id="" style="font-size: 13px; text-indent: 2em">2.格式<br>top [－] [d delay] [q] [c] [S] [s] [i] [n]</p> <p style="font-size: 13px; text-indent: 2em">3.主要参数<br>d：指定更新的间隔，以秒计算。<br>q：没有任何延迟的更新。如果使用者有超级用户，则top命令将会以最高的优先序执行。<br>c：显示进程完整的路径与名称。<br>S：累积模式，会将己完成或消失的子行程的CPU时间累积起来。<br>s：安全模式。<br>i：不显示任何闲置(Idle)或无用(Zombie)的行程。<br>n：显示更新的次数，完成后将会退出top。</p> <p style="font-size: 13px">　</p> <p style="font-size: 13px"><img alt="如何查看Linux下系统占用的资源(top、free、uptime)[多图]图片1" src="http://www.vipcn.com/uploadImages/2007-4-8/2007487352312262.jpg" border="0"></p> <center>点击查看大图</center> <p style="font-size: 13px">&nbsp;</p> <p style="font-size: 13px; text-indent: 2em">图1 top命令的显示</p> <p style="font-size: 13px; text-indent: 2em">在图1中，第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况，包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况，包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况，包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多，下面列出了详细解释。<br>PID（Process ID）：进程标示号。<br>USER：进程所有者的用户名。<br>PR：进程的优先级别。<br>NI：进程的优先级别数值。<br>VIRT：进程占用的虚拟内存值。<br>RES：进程占用的物理内存值。<br>SHR：进程使用的共享内存值。<br>S：进程的状态，其中S表示休眠，R表示正在运行，Z表示僵死状态，N表示该进程优先值是负数。<br>%CPU：该进程占用的CPU使用率。<br>%MEM：该进程占用的物理内存和总内存的百分比。<br>TIME＋：该进程启动后占用的总的CPU时间。<br>Command：进程启动的启动命令名称，如果这一行显示不下，进程会有一个完整的命令行。<br>top命令使用过程中，还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。<br>&lt;空格&gt;：立刻刷新。<br></p>P：根据CPU使用大小进行排序。<br>T：根据时间、累计时间排序。<br>q：退出top命令。<br>m：切换显示内存信息。<br>t：切换显示进程和CPU状态信息。<br>c：切换显示命令名称和完整命令行。<br>M：根据使用内存大小进行排序。<br>W：将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。  <p style="font-size: 13px; text-indent: 2em">可以看到，top命令是一个功能十分强大的监控系统的工具，对于系统管理员而言尤其重要。但是，它的缺点是会消耗很多系统资源。</p> <p style="font-size: 13px">更多的请看：http://www.qqread.com/windows/2003/index.html</p> <p style="font-size: 13px; text-indent: 2em"><strong>free</strong></p> <p style="font-size: 13px; text-indent: 2em">1.作用<br>free命令用来显示内存的使用情况，使用权限是所有用户。</p> <p style="font-size: 13px; text-indent: 2em">2.格式<br>free [－b－k－m] [－o] [－s delay] [－t] [－V]</p> <p style="font-size: 13px; text-indent: 2em">3.主要参数<br>－b －k －m：分别以字节（KB、MB）为单位显示内存使用情况。<br>－s delay：显示每隔多少秒数来显示一次内存使用情况。<br>－t：显示内存总和列。<br>－o：不显示缓冲区调节列。</p> <p style="font-size: 13px; text-indent: 2em">4.应用实例<br>free命令是用来查看内存使用情况的主要命令。和top命令相比，它的优点是使用简单，并且只占用很少的系统资源。通过－S参数可以使用free命令不间断地监视有多少内存在使用，这样可以把它当作一个方便实时监控器。<br>＃free －b －s5</p> <p style="font-size: 13px; text-indent: 2em">使用这个命令后终端会连续不断地报告内存使用情况（以字节为单位），每5秒更新一次。</p> <p style="font-size: 13px; text-indent: 2em"><img alt="如何查看Linux下系统占用的资源(top、free、uptime)[多图]图片2" src="http://www.vipcn.com/uploadImages/2007-4-8/2007487352359571.jpg" border="0"></p> <center>点击查看大图</center> <p style="font-size: 13px">&nbsp;</p> <p style="font-size: 13px">更多的请看：http://www.qqread.com/windows/2003/index.html</p> <p style="font-size: 13px; text-indent: 2em">uptime 命令</p> <p style="font-size: 13px">我曾经看到资料上讲，load avarage &lt;3 系统良好，大于5 则有严重的性能问题。注意，这个值还应当除以CPU数目。<br><br>如果load avarage=8 ,CPU=3,8/3=2.666，2.66这个值表示系统状态良好</p>于5也不一定是严重性能问题，有可能是的确主机提供的服务超过了他能够提供的能力，需要扩容了。要具体看看。  <p style="font-size: 13px">&nbsp;</p> <p style="font-size: 13px"><img alt="如何查看Linux下系统占用的资源(top、free、uptime)[多图]图片2" src="http://www.vipcn.com/uploadImages/2007-4-8/2007487352359571.jpg" border="0"></p> <center>点击查看大图</center> <p style="font-size: 13px">&nbsp;</p> <p id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="font-size: 13px">下次我们来说 vmstat 与 iostat 这两个很有用的命令。</p></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320448.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:09 <a href="http://www.blogjava.net/haining128/articles/320448.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi学习笔记2-调用外部 DLL 中的函数(1. 早绑定)</title><link>http://www.blogjava.net/haining128/articles/320449.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320449.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320449.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320449.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320449.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 14px; line-height: 18px; font-family: 'Courier New', verdana, arial; white-space: pre"><pre id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#000080"><b>unit</b></font> Unit1;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>interface</b></font>

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>uses</b></font>
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>type</b></font>
  TForm1 = <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>class</b></font>(TForm)
    Button1: TButton;
    <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> Button1Click(Sender: TObject);
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>private</b></font>
    <font color="#008000">{ Private declarations }</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>public</b></font>
    <font color="#008000">{ Public declarations }</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  Form1: TForm1;

<font color="#008000">//MB 函数的声明：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>function</b></font> MB(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>stdcall</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>implementation</b></font>

<font color="#008000"></font><font color="#008284">{$R *.dfm}</font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">{调用外部 DLL 中的函数，譬如调用系统 user32.dll 中的 MessageBoxA}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//function MB(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//  stdcall; external user32 name 'MessageBoxA';</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">{其中 user32 是 Delphi 定义的常量 'user32.dll'，可以直接写成：}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//function MB(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//  stdcall; external 'user32.dll' name 'MessageBoxA';</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">{name 后面说明函数的真实名字}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">{external 子句说明单元载入时就加载函数，也就是早绑定；如果晚绑定需要用 LoadLibrary}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">{stdcall 指令表示参数传递是从右到左（Pascal则反之），不通过CPU寄存器传递}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">{4个参数的数据类型可以使用对应的 Delphi 数据类型，譬如：}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//function MB(hWnd: LongWord; lpText, lpCaption: PChar; uType: LongWord): Integer;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//  stdcall; external 'user32.dll' name 'MessageBoxA';</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">{或者是：}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//function MB(hWnd: Cardinal; lpText, lpCaption: PChar; uType: Cardinal): Integer;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//  stdcall; external 'user32.dll' name 'MessageBoxA';</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">{如果函数在此单元声明后，需要给其他单元调用，需要先在 interface 区声明：}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//function MB(hWnd: Cardinal; lpText, lpCaption: PChar; uType: Cardinal): Integer;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//  stdcall;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">{本例已经这样做了，如果要测试其他几种情况，需要先注释掉它}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">{然后在 implementation 区，说明函数的来源：}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>function</b></font> MB; <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>external</b></font> <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'user32.dll'</font><font color="#000080"><b></b></font> name <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'MessageBoxA'</font><font color="#000080"><b></b></font>;

<font color="#008000">//调用测试：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> TForm1.Button1Click(Sender: TObject);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  t,b:  PChar;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  t := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'标题'</font><font color="#000080"><b></b></font>;
  b := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'内容'</font><font color="#000080"><b></b></font>;
  MB(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font>,b,t,<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font>);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>.</pre></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:09 <a href="http://www.blogjava.net/haining128/articles/320449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>informix使用备忘录</title><link>http://www.blogjava.net/haining128/articles/320445.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320445.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320445.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320445.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320445.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 13px; color: rgb(75,75,75); line-height: 20px; font-family: georgia, verdana, arial, helvetica, sans-seriff; text-align: left"><strong style="font-size: 12pt">1.&nbsp; 启动与停止命令</strong><br>&nbsp;&nbsp;&nbsp;&nbsp; 停止命令如下：<br><font size="2"> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">onmode&nbsp; </span><span style="color: rgb(128,128,128)">-</span><span style="color: rgb(0,0,0)">k</span></div>&nbsp;&nbsp;&nbsp; onmode 命令 语法： onmode [-k] [-m] [-s] [-u] [-y]<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp;&nbsp; onmode -k 　　　　执行立即shutdown，将系统变为off-line模式<br>&nbsp;&nbsp;&nbsp; onmode -m 　　　　将系统从quiescent模式变为on-line模式<br>&nbsp;&nbsp;&nbsp; onmode -s 　　　　执行graceful shutdown<br>&nbsp;&nbsp;&nbsp; onmode -u 　　　　 执行immediate shutdwon<br>&nbsp;&nbsp;&nbsp; onmode -y 　　　 对提示自动回答yes<br>&nbsp;&nbsp; 启动命令如下：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">oninit&nbsp; </span><span style="color: rgb(128,128,128)">-</span><span style="color: rgb(0,0,0)">v </span></div><br><strong style="font-size: 12pt">2. 查看数据库编码</strong><br>&nbsp;&nbsp;&nbsp; dbaccess进入后，进入到sysmaster库，运行如下命令可查看当前各个库的编码：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,255)">select</span><span style="color: rgb(0,0,0)">&nbsp;</span><span style="color: rgb(128,128,128)">*</span><span style="color: rgb(0,0,0)">&nbsp;</span><span style="color: rgb(0,0,255)">from</span><span style="color: rgb(0,0,0)"> sysdbslocale;</span></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行结果类似如下：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">dbs_dbsname&nbsp; sysmaster<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_collate&nbsp; en_US.</span><span style="font-weight: bold; color: rgb(128,0,0)">819</span><span style="color: rgb(0,0,0)"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">&nbsp;<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_dbsname&nbsp; sysutils<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_collate&nbsp; en_US.</span><span style="font-weight: bold; color: rgb(128,0,0)">819</span><span style="color: rgb(0,0,0)"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">&nbsp;<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_dbsname&nbsp; sysuser<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_collate&nbsp; en_US.</span><span style="font-weight: bold; color: rgb(128,0,0)">819</span><span style="color: rgb(0,0,0)"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">&nbsp;<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_dbsname&nbsp; sdp<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_collate&nbsp; en_US.</span><span style="font-weight: bold; color: rgb(128,0,0)">57372</span><span style="color: rgb(0,0,0)"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">&nbsp;<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_dbsname&nbsp; smp<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">dbs_collate&nbsp; en_US.</span><span style="font-weight: bold; color: rgb(128,0,0)">57372</span></div><br><strong><span style="font-size: 12pt"><strong>3.<span class="Apple-converted-space">&nbsp;</span></strong><font size="2"><strong>查看informix占用的端口</strong></font></span></strong><font size="2"><br>&nbsp;&nbsp;&nbsp;&nbsp; 在informix的安装目录的<font size="2">etc目录下的sqlhosts文件，可查看端口信息，例如下面表示informix的端口为7778:<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">sdpdb&nbsp;&nbsp;&nbsp; onsoctcp&nbsp;&nbsp;&nbsp;&nbsp; minicc2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-weight: bold; color: rgb(128,0,0)">7778</span></div><br><span style="font-size: 12pt"><strong><span style="font-size: 12pt"><strong>4. 使用dbaccess命令从文件导入建表信息</strong><br></span></strong></span>&nbsp;&nbsp;&nbsp; 若想从某个包含建表建索引等信息的文件里面将信息导入到某个库中，可将文件拷贝到要运行命令的目录，而后运行：<br>&nbsp;&nbsp;&nbsp; dbaccess 数据库名称 文件名称<br>&nbsp;&nbsp;&nbsp; 例如运行如下命令表示将create.sql文件中的信息导入到amigo数据库中：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">dbaccess amigo </span><span style="color: rgb(0,0,255)">create</span><span style="color: rgb(0,0,0)">.sql</span></div><br><strong style="font-size: 12pt">5. 给某个用户赋予某个库的dba权限</strong><br>&nbsp;&nbsp; 使用dbaccess命令进去后，选择“Query-language”，接着选择需要赋予dba权限的库，再选择“New”，输入如下命令并运行来赋予权限：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,255)">grant</span><span style="color: rgb(0,0,0)"> dba </span><span style="color: rgb(0,0,255)">to</span><span style="color: rgb(0,0,0)"> 用户名;</span></div>&nbsp;<br><span style="font-size: 12pt"><strong>6. 连接informix库的用户的.bash_profile的配置</strong></span><br>&nbsp;&nbsp;&nbsp; 参考配置如下：<br> <div style="border-right: rgb(204,204,204) 1px solid; padding-right: 5px; border-top: rgb(204,204,204) 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: rgb(204,204,204) 1px solid; width: 597px; word-break: break-all; padding-top: 4px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(238,238,238)"><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><span style="color: rgb(0,0,0)">SDFDB</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">sdp<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export SDFDB<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">INFORMIXDIR</span><span style="color: rgb(128,128,128)">=/</span><span style="color: rgb(0,0,0)">home</span><span style="color: rgb(128,128,128)">/</span><span style="color: rgb(0,0,0)">informix<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">INFORMIXSERVER</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">sdpdb1 <br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">ONCONFIG</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">onconfig.scp2<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">PATH</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">$PATH:$INFORMIXDIR</span><span style="color: rgb(128,128,128)">/</span><span style="color: rgb(0,0,0)">bin<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">LD_LIBRARY_PATH</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">$LD_LIBRARY_PATH:$INFORMIXDIR</span><span style="color: rgb(128,128,128)">/</span><span style="color: rgb(0,0,0)">lib:$INFORMIXDIR</span><span style="color: rgb(128,128,128)">/</span><span style="color: rgb(0,0,0)">lib</span><span style="color: rgb(128,128,128)">/</span><span style="color: rgb(0,0,0)">esql <br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export INFORMIXDIR<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export INFORMIXSERVER<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export ONCONFIG PATH<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export LD_LIBRARY_PATH<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export LANG</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">en_US.utf8<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export DB_LOCALE</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">en_US.utf8<br><img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top">export CLIENT_LOCALE</span><span style="color: rgb(128,128,128)">=</span><span style="color: rgb(0,0,0)">en_US.utf8</span></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中SDFDB为数据库的名称，INFORMIXDIR为informix的安装根路径，sdpdb1为INFORMIXSERVER</font></font></font></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:08 <a href="http://www.blogjava.net/haining128/articles/320445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux 查看硬件信息的命令&amp;lt;转&amp;gt;</title><link>http://www.blogjava.net/haining128/articles/320446.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320446.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320446.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320446.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 16px; line-height: 19px; font-family: 宋体">Linux 常用的查看系统信息的命令：<br> <table cellspacing="2" cellpadding="2" width="500" border="0"> <tbody> <tr> <td style="font-size: 12px">&nbsp;<span style="font-size: 12pt"><span style="font-family: 宋体">查看CPU信息：cat /proc/cpuinfo<br>查看硬盘信息：&nbsp; df -lh<br>查看内存信息： free -m<br></span></span></td></tr></tbody></table><br><br><br>在LINUX环境开发驱动程序，首先要探测到新硬件，接下来就是开发驱动程序。<br><br>常用命令整理如下：<br> <table cellspacing="2" cellpadding="2" width="500" border="0"> <tbody> <tr> <td style="font-size: 12px">&nbsp;<span style="font-size: 12pt"><span style="font-family: 宋体">用硬件检测程序kuduz探测新硬件：service kudzu start ( or restart)<br><br>查看CPU信息：cat /proc/cpuinfo<br><br>查看板卡信息：cat /proc/pci<br><br>查看PCI信息：lspci (相比cat /proc/pci更直观）<span class="Apple-converted-space">&nbsp;</span><br>例子： lspci |grep Ethernet 查看网卡型号<br><br>查看内存信息：cat /proc/meminfo<br><br>查看USB设备：cat /proc/bus/usb/devices<br><br>查看键盘和鼠标:cat /proc/bus/input/devices<br><br>查看系统硬盘信息和使用情况：fdisk &amp; disk - l &amp; df<br><br>查看各设备的中断请求(IRQ):cat /proc/interrupts<br><br>查看系统体系结构：uname -a</span></span></td></tr></tbody></table><br><br>dmidecode查看硬件信息，包括bios、cpu、内存等信息<br> <table cellspacing="2" cellpadding="2" width="500" border="0"> <tbody> <tr> <td style="font-size: 12px">&nbsp; <p>Dmidecode</p> <p>dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS，既可以得到当前的配置，也可以得到系统支持的最大配置，比如说支持的最大内存数等。<br>&nbsp;<br>DMI有人也叫SMBIOS(System Management BIOS)，这两个标准都由DMTF(Desktop Management Task Force)开发。</p> <p>dmidecode的输出格式一般如下：<br>----------------------------------------<br>Handle 0x0002<br>&nbsp; DMI type 2, 8 bytes<br>&nbsp; Base Board Information<br>&nbsp;&nbsp; Manufacturer:Intel<br>&nbsp;&nbsp; Product Name: C440GX+<br>&nbsp;&nbsp; Version: 727281-0001<br>&nbsp;&nbsp; Serial Number: INCY92700942<br>----------------------------------------<br>其中的前三行都称为记录头(recoce Header), 其中包括了：<br>&nbsp; 1、recode id(handle): DMI表中的记录标识符，这是唯一的,比如上例中的Handle 0x0002。<br>&nbsp; 2、dmi type id: 记录的类型，譬如说:BIOS，Memory，上例是type 2，即"Base Board Information"<br>&nbsp; 3、recode size: DMI表中对应记录的大小，上例为8 bytes.（不包括文本信息，所有实际输出的内容比这个size要更大。）<br>&nbsp;&nbsp; 记录头之后就是记录的值：<br>&nbsp; 4、decoded values: 记录值可以是多行的，比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。<br>&nbsp;<br><strong>dmidecode的使用方法</strong><br>&nbsp;<br>1. 最简单的的显示全部dmi信息：<br><strong># dmidecode</strong><br>这样将输出所有的dmi信息，你可能会被一大堆的信息吓坏，通常可以使用下面的方法。<br>&nbsp;<br>2.更精简的信息显示：<br>&nbsp;<strong># dmidecode -q</strong><br>-q(--quite) 只显示必要的信息，这个很管用哦。<br>&nbsp;<br>3.显示指定类型的信息：<br>通常我只想查看某类型，比如CPU，内存或者磁盘的信息而不是全部的。这可以使用-t(--type TYPE)来指定信息类型：<br>&nbsp;<strong># dmidecode -t bios</strong><br># dmidecode -t bios, processor (这种方式好像不可以用，必须用下面的数字的方式)<br>&nbsp;<strong># dmidecode -t 0,4</strong>&nbsp; (显示bios和processor)<br>&nbsp;<br>dmidecode到底支持哪些type?<br>这些可以在man dmidecode里面看到：<br>文本参数支持：<br>&nbsp; bios, system, baseboard, chassis, processor, memory, cache, connector, slot<br>数字参数支持很多：（见附录）<br>&nbsp;<br>4.通过关键字查看信息：<br>比如只想查看序列号，可以使用:<br># dmidecode -s system-serial-number<br>-s (--string keyword)支持的keyword包括：<br>-------------------------------------------------------------------------------------<br>&nbsp; bios-vendor,bios-version, bios-release-date,<br>&nbsp; system-manufacturer, system-product-name, system-version, system-serial-number,<br>&nbsp; baseboard-manu-facturer,baseboard-product-name,&nbsp; baseboard-version, baseboard-serial-number, baseboard-asset-tag,<br>&nbsp; chassis-manufacturer, chas-sis-version, chassis-serial-number, chassis-asset-tag,<br>&nbsp; processor-manufacturer, processor-version.<br>-------------------------------------------------------------------------------------<br>&nbsp;<br>5.示例<br>5.1 查看当前内存和支持的最大内存<br>Linux下，可以使用free或者查看meminfo来获得当前的物理内存：<br>#<span class="Apple-converted-space">&nbsp;</span><strong>free</strong><br>&nbsp;&nbsp;&nbsp; total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free&nbsp;&nbsp;&nbsp;&nbsp; shared&nbsp;&nbsp;&nbsp; buffers&nbsp;&nbsp;&nbsp;&nbsp; cached<br>Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8182532&nbsp;&nbsp;&nbsp; 8010792&nbsp;&nbsp;&nbsp;&nbsp; 171740&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 148472&nbsp;&nbsp;&nbsp; 4737896<br>-/+ buffers/cache:&nbsp;&nbsp;&nbsp; 3124424&nbsp;&nbsp;&nbsp; 5058108<br>Swap:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4192956&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3304&nbsp;&nbsp;&nbsp; 4189652<br># grep MemTotal /proc/meminfo<br>MemTotal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8182532 kB<br>这里显示了当前服务器的物理内存是8GB。<br>&nbsp;<br>服务器到底能扩展到多大的内存？</p> <p>#<strong>dmidecode -t 16</strong><br># dmidecode 2.7<br>SMBIOS 2.4 present.</p> <p>Handle 0x0013, DMI type 16, 15 bytes.<br>Physical Memory Array<br>&nbsp;&nbsp; Location: System Board Or Motherboard<br>&nbsp;&nbsp; Use: System Memory<br>&nbsp;&nbsp; Error Correction Type: Multi-bit ECC<br>&nbsp;&nbsp; Maximum Capacity: 64 GB&nbsp;&nbsp;&nbsp;&nbsp; （可扩展到64GB）<br>&nbsp;&nbsp; Error Information Handle: Not Provided<br>&nbsp;&nbsp; Number Of Devices: 4<br>&nbsp;<br>但是，事实不一定如此，因此插槽可能已经插满了。也就是我们还必须查清这里的8G到底是4*2GB, 2*4GB还是其他？<br>如果是4*2GB，那么尽管可以扩展到64GB，但是插槽已经插满，无法扩展了：<br>#<strong>dmidecode -t 17</strong><br># dmidecode 2.7<br>SMBIOS 2.4 present.</p> <p>Handle 0x0015, DMI type 17, 27 bytes.<br>Memory Device<br>&nbsp;&nbsp; Array Handle: 0x0013<br>&nbsp;&nbsp; Error Information Handle: Not Provided<br>&nbsp;&nbsp; Total Width: 72 bits<br>&nbsp;&nbsp; Data Width: 64 bits<br>&nbsp;&nbsp; Size: 2048 MB 【插槽1有1条2GB内存】<br>&nbsp;&nbsp; Form Factor: DIMM<br>&nbsp;&nbsp; Set: None<br>&nbsp;&nbsp; Locator: DIMM00<br>&nbsp;&nbsp; Bank Locator: BANK<br>&nbsp;&nbsp; Type: Other<br>&nbsp;&nbsp; Type Detail: Other<br>&nbsp;&nbsp; Speed: 667 MHz (1.5 ns)<br>&nbsp;&nbsp; Manufacturer:<br>&nbsp;&nbsp; Serial Number: BZACSKZ001<br>&nbsp;&nbsp; Asset Tag: RAM82<br>&nbsp;&nbsp; Part Number: MT9HTF6472FY-53EA2</p> <p>Handle 0x0017, DMI type 17, 27 bytes.<br>Memory Device<br>&nbsp;&nbsp; Array Handle: 0x0013<br>&nbsp;&nbsp; Error Information Handle: Not Provided<br>&nbsp;&nbsp; Total Width: 72 bits<br>&nbsp;&nbsp; Data Width: 64 bits<br>&nbsp;&nbsp; Size: 2048 MB 【插槽2有1条2GB内存】<br>&nbsp;&nbsp; Form Factor: DIMM<br>&nbsp;&nbsp; Set: None<br>&nbsp;&nbsp; Locator: DIMM10<br>&nbsp;&nbsp; Bank Locator: BANK<br>&nbsp;&nbsp; Type: Other<br>&nbsp;&nbsp; Type Detail: Other<br>&nbsp;&nbsp; Speed: 667 MHz (1.5 ns)<br>&nbsp;&nbsp; Manufacturer:<br>&nbsp;&nbsp; Serial Number: BZACSKZ001<br>&nbsp;&nbsp; Asset Tag: RAM83<br>&nbsp;&nbsp; Part Number: MT9HTF6472FY-53EA2</p> <p>Handle 0x0019, DMI type 17, 27 bytes.<br>Memory Device<br>&nbsp;&nbsp; Array Handle: 0x0013<br>&nbsp;&nbsp; Error Information Handle: Not Provided<br>&nbsp;&nbsp; Total Width: 72 bits<br>&nbsp;&nbsp; Data Width: 64 bits<br>&nbsp;&nbsp; Size: 2048 MB 【插槽3有1条2GB内存】<br>&nbsp;&nbsp; Form Factor: DIMM<br>&nbsp;&nbsp; Set: None<br>&nbsp;&nbsp; Locator: DIMM20<br>&nbsp;&nbsp; Bank Locator: BANK<br>&nbsp;&nbsp; Type: Other<br>&nbsp;&nbsp; Type Detail: Other<br>&nbsp;&nbsp; Speed: 667 MHz (1.5 ns)<br>&nbsp;&nbsp; Manufacturer:<br>&nbsp;&nbsp; Serial Number: BZACSKZ001<br>&nbsp;&nbsp; Asset Tag: RAM84<br>&nbsp;&nbsp; Part Number: MT9HTF6472FY-53EA2</p> <p>Handle 0x001B, DMI type 17, 27 bytes.<br>Memory Device<br>&nbsp;&nbsp; Array Handle: 0x0013<br>&nbsp;&nbsp; Error Information Handle: Not Provided<br>&nbsp;&nbsp; Total Width: 72 bits<br>&nbsp;&nbsp; Data Width: 64 bits<br>&nbsp;&nbsp; Size: 2048 MB 【插槽4有1条2GB内存】<br>&nbsp;&nbsp; Form Factor: DIMM<br>&nbsp;&nbsp; Set: None<br>&nbsp;&nbsp; Locator: DIMM30<br>&nbsp;&nbsp; Bank Locator: BANK<br>&nbsp;&nbsp; Type: Other<br>&nbsp;&nbsp; Type Detail: Other<br>&nbsp;&nbsp; Speed: 667 MHz (1.5 ns)<br>&nbsp;&nbsp; Manufacturer:<br>&nbsp;&nbsp; Serial Number: BZACSKZ001<br>&nbsp;&nbsp; Asset Tag: RAM85<br>&nbsp;&nbsp; Part Number: MT9HTF6472FY-53EA2<br>&nbsp;<br>根据上面输出可以发现，如果要扩展，只有将上面的内存条换成16GB的，才能达到4*16GB=64GB的最大支持内存。<br>&nbsp;<br>附录：<br>dmidecode支持的数字参数：<br>Type&nbsp;&nbsp; Information<br>&nbsp;&nbsp;&nbsp; ----------------------------------------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; BIOS<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp; System<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp; Base Board<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp; Chassis<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp; Processor<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp; Memory Controller<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp; Memory Module<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp; Cache<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp; Port Connector<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp; System Slots<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp; On Board Devices<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp; OEM Strings<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12&nbsp;&nbsp; System Configuration Options<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp; BIOS Language<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp; Group Associations<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp; System Event Log<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp; Physical Memory Array<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp; Memory Device<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18&nbsp;&nbsp; 32-bit Memory Error<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp; Memory Array Mapped Address<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp; Memory Device Mapped Address<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp; Built-in Pointing Device<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22&nbsp;&nbsp; Portable Battery<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp; System Reset<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp; Hardware Security<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 25&nbsp;&nbsp; System Power Controls<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp; Voltage Probe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 27&nbsp;&nbsp; Cooling Device<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 28&nbsp;&nbsp; Temperature Probe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29&nbsp;&nbsp; Electrical Current Probe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30&nbsp;&nbsp; Out-of-band Remote Access<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31&nbsp;&nbsp; Boot Integrity Services<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32&nbsp;&nbsp; System Boot<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 33&nbsp;&nbsp; 64-bit Memory Error<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 34&nbsp;&nbsp; Management Device<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 35&nbsp;&nbsp; Management Device Component<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 36&nbsp;&nbsp; Management Device Threshold Data<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37&nbsp;&nbsp; Memory Channel<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38&nbsp;&nbsp; IPMI Device<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39&nbsp;&nbsp; Power Supply</p></td></tr></tbody></table><br>dmesg | more 查看硬件信息<br><br><br>对于“/proc”中文件可使用文件查看命令浏览其内容，文件中包含系统特定信息：<br> <table cellspacing="2" cellpadding="2" width="500" border="0"> <tbody> <tr> <td id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="font-size: 12px">&nbsp;<span style="font-size: 12pt"><span style="font-family: 宋体">Cpuinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主机CPU信息<br>Dma&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主机DMA通道信息<br>Filesystems&nbsp;&nbsp;&nbsp; 文件系统信息<br>Interrupts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主机中断信息<br>Ioprots&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主机I/O端口号信息<br>Meninfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主机内存信息<br>Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux内存版本信息</span></span></td></tr></tbody></table></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:08 <a href="http://www.blogjava.net/haining128/articles/320446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个人开公司的流程</title><link>http://www.blogjava.net/haining128/archive/2010/05/10/320447.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:08:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/archive/2010/05/10/320447.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320447.html</wfw:comment><comments>http://www.blogjava.net/haining128/archive/2010/05/10/320447.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320447.html</trackback:ping><description><![CDATA[<div class="blog mini_mode_blog" id="pageContainer"> <div class="bg_mode"> <div class="box_ml bor"> <div class="mode_gb"> <div class="mode_gb_cont"> <div class="blog_cont"> <div class="blog_main"> <div class="real_blog" id="veryContent" style="text-indent: 0em; height: auto! important"> <table id="blogContentTable" style="table-layout: fixed; width: 100%; position: relative" cellspacing="0" cellpadding="0"> <tbody> <tr> <td style="word-wrap: break-word" valign="top"> <div id="blogContainer" style="overflow: hidden; position: relative; height: 100%"> <div id="blogDetailDiv" style="font-size: 16px"> <p>一、选择公司的形式：<br><br><br>普通的有限责任公司，最低注册资金3万元，需要2个（或以上）股东，从06年1月起新的公司法规定，允许1个股东注册有限责任公司，这种特殊的有限责任公司又称“一人有限公司”（但公司名称中不会有“一人”字样，执照上会注明“自然人独资”），最低注册资金10万元。<br><br>如果你和朋友、家人合伙投资创业，可选择普通的有限公司，最低注册资金3万元；如果只有你一个人作为股东，则选择一人有限公司，最低注册资金10万元。<br><br><br>二、注册公司的步骤：<br><br>1.核名：到工商局去领取一张“企业（字号）名称预先核准申请表”，填写你准备取的公司名称，由工商局上网（工商局内部网）检索是否有重名，如果没有重名，就可以使用这个名称，就会核发一张“企业（字号）名称预先核准通知书”。这一步的手续费是30元。 （30元可以帮你检索5个名字，很多名字重复，所以一般常见的名字就不用试了，免得花冤枉钱）<br><br>2.租房：去专门的写字楼租一间办公室，如果你自己有厂房或者办公室也可以，有的地方不允许在居民楼里办公。租房后要签订租房合同，并让房东提供房产证的复印件。<br>签订好租房合同后，还要到税务局去买印花税，按年租金的千分之一的税率购买，例如你的每年房租是1万元，那就要买10元钱的印花税，贴在房租合同的首页，后面凡是需要用到房租合同的地方，都需要是贴了印花税的合同复印件。<br><br>3.编写“公司章程”：可以在工商局网站下载“公司章程”的样本，修改一下就可以了。章程的最后由所有股东签名。<br><br>4.刻私章：去街上刻章的地方刻一个私章，给他们讲刻法人私章（方形的）。费用大概20元左右。<br><br>5.到会计师事务所领取“银行询征函”：联系一家会计师事务所，领取一张“银行询征函”（必须是原件，会计师事务所盖鲜章）。如果你不清楚，可以看报纸上的分类广告，有很多会计师事务所的广告。<br><br>6.去银行开立公司验资户：所有股东带上自己入股的那一部分钱到银行，带上公司章程、工商局发的核名通知、法人代表的私章、身份证、用于验资的钱、空白询征函表格，到银行去开立公司帐户，你要告诉银行是开验资户。开立好公司帐户后，各个股东按自己出资额向公司帐户中存入相应的钱。<br>银行会发给每个股东缴款单、并在询征函上盖银行的章。<br>注 意：公司法规定，注册公司时，投资人（股东）必须缴纳足额的资本，可以以贷币形式（也就是人民币）出资，也可以以实物（如汽车）、房产、知识产权等出资。 到银行办的只是货币出资这一部分，如果你有实物、房产等作为出资的，需要到会计师事务所鉴定其价值后再以其实际价值出资，比较麻烦，因此建议你直接拿钱来 出资，公司法不管你用什么手段拿的钱，自己的也好、借的也好，只要如数缴足出资款即可。<br><br>7.办理验资报告：拿着银行出具的股东缴款单、银行盖章后的询征函，以及公司章程、核名通知、房租合同、房产证复印件，到会计师事务所办理验资报告。一般费用500元左右（50万以下注册资金）。<br><br>8.注册公司：到工商局领取公司设立登记的各种表格，包括设立登记申请表、股东（发起人）名单、董事经理监理情况、法人代表登记表、指定代表或委托代理人登记表。填好后，连同核名通知、公司章程、房租合同、房产证复印件、验资报告一起交给工商局。大概3个工作日后可领取执照。此项费用约300元左右。<br><br>9.凭营业执照，到公安局指定的刻章社，去刻公章、财务章。后面步骤中，均需要用到公章或财务章。<br><br>10.办理企业组织机构代码证：凭营业执照到技术监督局办理组织机构代码证，费用是80元。办这个证需要半个月，技术监督局会首先发一个预先受理代码证明文件，凭这个文件就可以办理后面的税务登记证、银行基本户开户手续了。<br><br>11.去银行开基本户：凭营业执照、组织机构代码证，去银行开立基本帐号。最好是在原来办理验资时的那个银行的同一网点去办理，否则，会多收100元的验资帐户费用。<br>开基本户需要填很多表，你最好把能带齐的东西全部带上，要不然要跑很多趟，包括营业执照正本原件、身份证、组织机构代码证、公财章、法人章。<br>开基本户时，还需要购买一个密码器（从2005年下半年起，大多银行都有这个规定），密码器需要280元。今后你的公司开支票、划款时，都需要使用密码器来生成密码。<br><br>12.办理税务登记：领取执照后，30日内到当地税务局申请领取税务登记证。一般的公司都需要办理2种税务登记证，即国税和地税。费用是各40元，共80元。<br>办理税务登记证时，必须有一个会计，因为税务局要求提交的资料其中有一项是会计资格证和身份证。你可先请一个兼职会计，小公司刚开始请的兼职会计一般200元工资就可以了。<br><br>13.申请领购发票：如果你的公司是销售商品的，应该到国税去申请发票，如果是服务性质的公司，则到地税申领发票。<br><br>最后就开始营业了。 注意每个月按时向税务申报税哦，即使没有开展业务不需要缴税，也要进行零申报，否则会被罚款的。<br><br><br>有二点你可能比较关心：<br><br>1.公司必须建立健全的会计制度，你可能担心自己不会，怎么办？刚开始成立的公司，业务少，对会计的工作量也非常小，你可以请一个兼职会计，每个月到你的公司帮你建帐，二、三天时间就够了，给他200-500左右的工资即可。<br><br>2.公司的税额：<br>营业税：销售商品的公司，按所开发票额的4%征收增殖税；提供服务的公司，按所开发票额的5%征收营业税。<br>所得税：对企业的纯利润征收18-33%的企业所得税。 小公司的利润不多，一般是18%。对企业所得税，做帐很关键，如果帐面上你的利润很多，那税率就高。所以，平常的购买设备都要开发票，你吃饭、坐车的票都留起来，可以做为你的企业运作成本。<br><br>二种税的区别：营业税是对营业额征税，不管你赚没有赚钱，只有发生了交易，开了发票，就要征税；所得税，是对利润征税，利润就是营业额扣减各种成本后剩余的钱，只有赚了钱，才会征所得税。<br><br>还有其它各种各样很多种的税，但没有多少钱，主要是上面二种，特别是所得税非常高</p></div></div></td></tr></tbody></table></div></div></div></div></div></div></div></div><img src ="http://www.blogjava.net/haining128/aggbug/320447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:08 <a href="http://www.blogjava.net/haining128/archive/2010/05/10/320447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi学习笔记2-调用外部 DLL 中的函数(2. 晚绑定)</title><link>http://www.blogjava.net/haining128/archive/2010/05/10/320442.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/archive/2010/05/10/320442.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320442.html</wfw:comment><comments>http://www.blogjava.net/haining128/archive/2010/05/10/320442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320442.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 14px; line-height: 18px; font-family: 'Courier New', verdana, arial; white-space: pre"><pre id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#000080"><b>unit</b></font> Unit1;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>interface</b></font>

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>uses</b></font>
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>type</b></font>
  <font color="#008000">//晚绑定，也就是动态调用外部函数主要用以下三个命令：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000">//LoadLibrary：获取 DLL</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000">//GetProcAddress：获取函数</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000">//FreeLibrary：释放</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

  <font color="#008000">//定义一个过程类型，参数要和需要的函数一致</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  TMB = <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>function</b></font>(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>stdcall</b></font>;

  TForm1 = <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>class</b></font>(TForm)
    Button1: TButton;
    <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> Button1Click(Sender: TObject);
    <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> FormCreate(Sender: TObject);
    <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> FormDestroy(Sender: TObject);
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>private</b></font>
    MB: TMB;  <font color="#008000">{声明函数 MB}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
    inst: LongWord;  <font color="#008000">{声明一个变量来记录要使用的 DLL 句柄}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>public</b></font>
    <font color="#008000">{ Public declarations }</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  Form1: TForm1;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>implementation</b></font>

<font color="#008000"></font><font color="#008284">{$R *.dfm}</font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> TForm1.FormCreate(Sender: TObject);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  inst := LoadLibrary(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'user32.dll'</font><font color="#000080"><b></b></font>);
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>if</b></font> inst &lt;&gt; <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font> <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>then</b></font>
    MB := GetProcAddress(inst, <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'MessageBoxW'</font><font color="#000080"><b></b></font>);
<font color="#000080"><b>end</b></font>;

<font color="#008000">//调用测试：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> TForm1.Button1Click(Sender: TObject);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  t,b: PChar;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  t := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'标题'</font><font color="#000080"><b></b></font>;
  b := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'内容'</font><font color="#000080"><b></b></font>;
  MB(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font>, b, t, <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font>);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> TForm1.FormDestroy(Sender: TObject);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  FreeLibrary(inst);  <font color="#008000">{记得释放}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>.</pre></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:07 <a href="http://www.blogjava.net/haining128/archive/2010/05/10/320442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux SVN的安装使用笔记</title><link>http://www.blogjava.net/haining128/articles/320444.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320444.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320444.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320444.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320444.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320444.html</trackback:ping><description><![CDATA[<p>一、安装</p> <p>1. 下载：<a href="http://subversion.tigris.org">http://subversion.tigris.org</a></p> <p>2. 解压：#: tar zxvf subversion-1.3.2.tar.gz</p> <p>3. 依次输入./configure , make , make install 进行编译安装完成</p> <p>4. 开启SVN服务：svnserve –d</p> <p>5. 检测服务是否开启：netstat -ntlp如果看到3690的端口正常开放了，证明SVN启动了</p> <p>&nbsp;</p> <p>二、使用</p> <p>1. 建立项目：svnadmin create project_name 【project_name为你的project名字，可以任意取】</p> <p>2. 进入project_name\conf文件夹，（如果没有passwd文件，可以用vi创建），</p> <blockquote> <p>编辑 svnserve.conf 把anon-access = read ,auth_access = write<br>还有password-db = passwd 的注释去掉，还有[general]的注释也要去掉</p></blockquote> <p>&nbsp;</p><span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px; font-family: arial, sans-serif, helvetica, tahoma; text-align: left"> <p id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">.需要两个文件，httpd和subversion. httpd是web服务器，用来通过web访问subversion，httpd可以在apache官方网站上下载到 </p> <p id="" style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">2.新建一个用户：svnroot<span class="Apple-converted-space">&nbsp;</span><br>最好不要让root用户参与到<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>的权限管理和日常的运行和维护工作中来，但是下面的一些安装和配置操作还是 需要root用户来完成的，因为有些操作只有root才能做。权限问题很重要。曾经因为权限问题折腾了一天。</p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">3.编译安装httpd (root用户操作)：<br></p> <table border="0"> <tbody> <tr> <td id="" style="font-size: 1em"><font color="#008000">//解压apache2安装包</font><br># tar xvzf httpd-2.2.2.tar.gz<br><font color="#008000">//进入解压后的目录</font><br># cd httpd-2.2.2<br><font id="" color="#008000">//配置apache安装，前两个参数是必须要加的，你还可以根据您的需要添加其他的参数。</font><br><font color="#008000">//后面的参数制定你要把apache安装哪里</font><br># ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/<br># make<br><font color="#008000">//安装</font><br># make install<br># cd /usr/local/apache2/bin<br><font color="#008000">//启动apache服务</font><br># ./apachectl start<br><font color="#008000">//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。</font><br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">4.</p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">安装Subversion<br></p> <table border="0"> <tbody> <tr> <td id="" style="font-size: 1em"><font color="#008000">//解压SubVersion安装包 (root用户进行下面的操作)</font><br># tar xvzf Subversion-1.3.1.tar.gz<br><font color="#008000">//进入解压后的目录</font><br># cd Subversion-1.3.1<br><font color="#008000">//配置subversion安装</font><br>#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion<span class="Apple-converted-space">&nbsp;</span><br>--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib<span class="Apple-converted-space">&nbsp;</span><br>--enable-maintainer-mode<br># make<br><font color="#008000">//安装</font><br># make install<br><font color="#008000">//创建库文件所在的目录 (svnroot用户进行下面的操作)</font><br># mkdir /home/svnroot/repository<br><font color="#008000">//进入subversion的bin目录</font><br># cd /usr/local/subversion/bin<br><font color="#008000">//创建仓库"test"</font><br># ./svnadmin create /home/svnroot/repository/test<br># cd /home/svnroot/repository/test<br><font color="#008000">//看看是不是多了些文件，如果是则说明Subversion安装成功了</font><br># ls –l<br># cd /usr/local/subversion/bin<br><font color="#008000">//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去，</font><br><font color="#008000">//提交后的修订版为1。</font><br># ./<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span><span class="Apple-converted-space">&nbsp;</span>import /home/user/import file:///home/svnroot/repository/test –m "注释"<br><font color="#008000">//不让其他人有该目录的权限</font><br># chmod 700 /home/svnroot/repository</td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">5.修改Apache配置文件<br></p> <table border="0"> <tbody> <tr> <td id="" style="font-size: 1em"># cd /usr/local/apadche2/bin<span class="Apple-converted-space">&nbsp;</span><br><font color="#008000">//启动Apache<span class="Apple-converted-space">&nbsp;</span></font><br># ./apachect1 start<span class="Apple-converted-space">&nbsp;</span><br># vi /usr/local/apache2/conf/httpd.conf<span class="Apple-converted-space">&nbsp;</span><br>&nbsp; <span class="Apple-converted-space">&nbsp;</span><font color="#008000">//在最下面添加<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; LoadModule dav_svn_module modules/mod_dav_svn.so<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; LoadModule authz_svn_module modules/mod_authz_svn.so<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; &lt;Location /<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>&gt;<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; DAV<span class="Apple-converted-space">&nbsp;</span><span class="hilite2" style="background-color: rgb(85,255,85)">svn</span><span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; SVNParentPath /home/svnroot/repository/<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>父目录<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; AuthzSVNAccessFile /home/svnroot/repository/authz.conf<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//权限配置文件<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; AuthType Basic<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//连接类型设置<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; AuthName "Subversion.zoneyump"<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//连接框提示<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; AuthUserFile /home/svnroot/repository/authfile<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//用户配置文件<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; Require valid-user<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//采用何种认证<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; &lt;/Location&gt;<br><font color="#008000">&nbsp;&nbsp; //其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; //"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它，<br>&nbsp;&nbsp; //则只能第一个用户可以访问新建库<span class="Apple-converted-space">&nbsp;</span></font><br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">6.重启apache</p> <table border="0"> <tbody> <tr> <td style="font-size: 1em"># ./usr/local/apache2/bin/apachectl restart<span class="Apple-converted-space">&nbsp;</span><br><font color="#008000">//打开浏览器访问<a style="color: rgb(16,138,198); text-decoration: underline" href="http://localhost/svn/test/">http://localhost/<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>/test/</a>，如果有东西显示就说明成功。</font><br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">7.权限管理<br>1)增加用户<br></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <table border="0"> <tbody> <tr> <td style="font-size: 1em"># htpasswd [-c] /home/svnroot/repository/authfile wooin<br><font color="#008000">//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码，完成对用户的增加</font><br># htpasswd authfile 用户名(加入新的用户)<br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">2)权限分配<br></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <table border="0"> <tbody> <tr> <td style="font-size: 1em"># vi /home/svnroot/repository/authz.conf<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; [test:/]<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//这表示，仓库test的根目录下的访问权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; wooin = rw<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//test仓库wooin用户具有读和写权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; bao = r<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//test仓库bao用户具有读权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; [test2:/]<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//test2仓库根目录下的访问权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; wooin = r<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//wooin用户在test2仓库根目录下只有读权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; bao =<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//bao用户在 test2仓库根目录下无任何权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; [/]<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//这个表示在所有仓库的根目录下<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; * = r<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//这个表示对所有的用户都具有读权限<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; #[groups]<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//这个表示群组设置<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; #svn1-developers = wooin, bao<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//这个表示某群组里的成员<span class="Apple-converted-space">&nbsp;</span></font><br>&nbsp;&nbsp; #svn2-developers = wooin<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; #[svn1:/]<span class="Apple-converted-space">&nbsp;</span><br>&nbsp;&nbsp; #@svn1-developers = rw<span class="Apple-converted-space">&nbsp;</span><font color="#008000">//如果在前面加上@符号，则表示这是个群组权限设置</font><br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">将这个设置完成后。重启Apache，就可以通过<span class="Apple-converted-space">&nbsp;</span><br>http://localhost/<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>/test<span class="Apple-converted-space">&nbsp;</span><br>这个URL来访问仓库了，当然，受权限的限制，必须是合法用户才能访问且具有相应的权限</p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">&nbsp;</p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><br><font size="5">备注：</font></p> <p id="" style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">1。apache进程的权限：因为所有跟仓库传输的操作都是通过apache进程进行的，所以即使你给<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>用户设置了 很大的权限，但是apache进程没有访问仓库或者相关文件的权限也没有用，apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置，找到文件中的这两行：<br></p> <table border="0"> <tbody> <tr> <td style="font-size: 1em">User daemon # 将daemon改为svnroot，让apache进程以svnroot的身份运行<span class="Apple-converted-space">&nbsp;</span><br>Group daemon<span class="Apple-converted-space">&nbsp;</span><br></td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">2。</p> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">在/etc/profile的结尾设置一些<span class="hilite2" style="background-color: rgb(85,255,85)">svn</span>启动时要做的工作</p> <table border="0"> <tbody> <tr> <td style="font-size: 1em"># start apache server for<span class="Apple-converted-space">&nbsp;</span><span class="hilite2" style="background-color: rgb(85,255,85)">svn</span><span class="Apple-converted-space">&nbsp;</span><br>/usr/sbin/apachectl start<span class="Apple-converted-space">&nbsp;</span><br>export SVN_EDITOR=vi</td></tr></tbody></table> <p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"></p> <p id="" style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">3。/home/respository/svnroot下的文件操作权限有给svnroot.</p></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:07 <a href="http://www.blogjava.net/haining128/articles/320444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi学习笔记2-创建并调用 DLL</title><link>http://www.blogjava.net/haining128/articles/320440.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:06:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320440.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320440.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320440.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 14px; line-height: 18px; font-family: 'Courier New', verdana, arial; white-space: pre"><pre id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#008000">//通过 DLL Wizard 建立：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>library</b></font> TestDLL;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>uses</b></font>
  SysUtils,
  Classes,
  Dialogs;

<font color="#008000"></font><font color="#008284">{$R *.res}</font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">//建立过程</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> Test;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  ShowMessage(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'TestDLL.Test'</font><font color="#000080"><b></b></font>);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;

<font color="#008000">//输出</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>exports</b></font>
  Test;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>.


<font color="#008000">//在其他工程调用，如果不在一个工程组，需要在相同目录下、System32下或指定路径；</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000">//声明可以在实现区或接口区，这里的函数名要一致，甚至大小写。</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

<font color="#008000">//调用测试：</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> Test; <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>external</b></font> <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'TestDLL.dll'</font><font color="#000080"><b></b></font>;

<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>procedure</b></font> TForm1.Button1Click(Sender: TObject);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  Test;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;</pre></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:06 <a href="http://www.blogjava.net/haining128/articles/320440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi学习笔记3-关于位图的像素格式</title><link>http://www.blogjava.net/haining128/articles/320441.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:06:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320441.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320441.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320441.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320441.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 14px; color: rgb(75,75,75); line-height: 18px; font-family: verdana, arial"><span class="yy" style="font-weight: bold">1、判断位图的像素格式:</span>  <hr id="" style="border-right: rgb(128,128,128) 1px dashed; border-top: rgb(128,128,128) 1px dashed; border-left: rgb(128,128,128) 1px dashed; border-bottom: rgb(128,128,128) 1px dashed; height: 1px"> <pre class="Delphi" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><pre id="" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  bit: TBitmap;
  pix: TPixelFormat;
  s: <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>string</b></font>;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  bit := TBitmap.Create;
  bit.LoadFromFile(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'c:\temp\test.bmp'</font><font color="#000080"><b></b></font>); <font color="#008000">//位图路径</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>

  pix := bit.PixelFormat;
  s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">''</font><font color="#000080"><b></b></font>;
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>case</b></font> pix <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>of</b></font>
    pfDevice: s := <font color="#008000"></font><font color="#008284"></font><font id="" color="#0000ff">'Device'</font><font color="#000080"><b></b></font>; <font color="#008000">{设备支持的像素格式}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
    pf1bit:   s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'1bit'</font><font color="#000080"><b></b></font>;
    pf4bit:   s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'4bit'</font><font color="#000080"><b></b></font>;
    pf8bit:   s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'8bit'</font><font color="#000080"><b></b></font>;
    pf15bit:  s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'15bit'</font><font color="#000080"><b></b></font>;
    pf16bit:  s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'16bit'</font><font color="#000080"><b></b></font>;
    pf24bit:  s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'24bit'</font><font color="#000080"><b></b></font>;
    pf32bit:  s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'32bit'</font><font color="#000080"><b></b></font>;
    pfCustom: s := <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'Custom'</font><font color="#000080"><b></b></font>;  <font color="#008000">{其他格式}</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;
  ShowMessage(s);

  bit.Free;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;
<hr style="border-right: rgb(128,128,128) 1px dashed; border-top: rgb(128,128,128) 1px dashed; border-left: rgb(128,128,128) 1px dashed; border-bottom: rgb(128,128,128) 1px dashed; height: 1px">
</pre></pre><br><span class="yy" style="font-weight: bold">2、位图的像素格式转换:</span> 
<hr style="border-right: rgb(128,128,128) 1px dashed; border-top: rgb(128,128,128) 1px dashed; border-left: rgb(128,128,128) 1px dashed; border-bottom: rgb(128,128,128) 1px dashed; height: 1px">
<pre class="Delphi" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><pre id="" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  bit: TBitmap;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  bit := TBitmap.Create;
  bit.LoadFromFile(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'c:\temp\test.bmp'</font><font color="#000080"><b></b></font>);
  bit.PixelFormat := pf4bit;
  bit.SaveToFile(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'c:\temp\test2.bmp'</font><font color="#000080"><b></b></font>);
  bit.Free;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;
<hr style="border-right: rgb(128,128,128) 1px dashed; border-top: rgb(128,128,128) 1px dashed; border-left: rgb(128,128,128) 1px dashed; border-bottom: rgb(128,128,128) 1px dashed; height: 1px">
</pre></pre><br><span class="yy" style="font-weight: bold">3、按指定的像素格式保存位图:</span> 
<hr style="border-right: rgb(128,128,128) 1px dashed; border-top: rgb(128,128,128) 1px dashed; border-left: rgb(128,128,128) 1px dashed; border-bottom: rgb(128,128,128) 1px dashed; height: 1px">
<pre class="Delphi" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><pre id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  bit: TBitmap;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  bit := Self.GetFormImage;  <font color="#008000">//把窗体客户区获取为图像, 无须 bit := TBitmap.Create;</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
  bit.PixelFormat := pf1bit;
  bit.SaveToFile(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">'c:\temp\test.bmp'</font><font color="#000080"><b></b></font>);
  bit.Free; <font color="#008000">//但要释放</font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b></b></font>
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;</pre></pre></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:06 <a href="http://www.blogjava.net/haining128/articles/320441.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi学习1-文件Copy</title><link>http://www.blogjava.net/haining128/articles/320439.html</link><dc:creator>小海</dc:creator><author>小海</author><pubDate>Mon, 10 May 2010 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/haining128/articles/320439.html</guid><wfw:comment>http://www.blogjava.net/haining128/comments/320439.html</wfw:comment><comments>http://www.blogjava.net/haining128/articles/320439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/haining128/comments/commentRss/320439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/haining128/services/trackbacks/320439.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: medium simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="font-size: 14px; line-height: 18px; font-family: 'Courier New', verdana, arial; white-space: pre"><pre id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="padding-right: 0px; margin-top: 0px; padding-left: 0px; margin-bottom: 0px; padding-bottom: 0px; color: rgb(0,0,0); padding-top: 0px; font-family: 'Courier New', verdana, arial"><font color="#000080"><b>procedure</b></font> FileCopy(<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>const</b></font> FileFrom, FileTo: <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b id="">string</b></font>);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>var</b></font>
  FromF,ToF: <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>file</b></font>;
  NumRead,NumWritten: Integer;
  Buffer: <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>array</b></font>[<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">1</font><font color="#000080"><b></b></font>..<font color="#008000"></font><font color="#008284"></font><font color="#0000ff">2048</font><font color="#000080"><b></b></font>] <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>of</b></font> Byte;
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>begin</b></font>
  AssignFile(FromF, FileFrom);
  Reset(FromF, <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">1</font><font color="#000080"><b></b></font>);
  AssignFile(ToF, FileTo);
  Rewrite(ToF, <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">1</font><font color="#000080"><b></b></font>);

  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>repeat</b></font>
    BlockRead(FromF, Buffer, SizeOf(Buffer), NumRead);
    BlockWrite(ToF, Buffer, NumRead, NumWritten);
  <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>until</b></font> (NumRead = <font color="#008000"></font><font color="#008284"></font><font color="#0000ff">0</font><font color="#000080"><b></b></font>) <font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>or</b></font> (NumWritten &lt;&gt; NumRead);

  CloseFile(FromF);
  CloseFile(ToF);
<font color="#008000"></font><font color="#008284"></font><font color="#0000ff"></font><font color="#000080"><b>end</b></font>;</pre></span></span><img src ="http://www.blogjava.net/haining128/aggbug/320439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/haining128/" target="_blank">小海</a> 2010-05-10 10:05 <a href="http://www.blogjava.net/haining128/articles/320439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>