<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[缘份天空]]></title>
<link>http://www.zjidea.com/blog/</link>
<description><![CDATA[我的心情日记]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[lzq0323@yahoo.com.cn(相逢萍水)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>缘份天空</title>
	<url>http://www.zjidea.com/blog/images/logos.gif</url>
	<link>http://www.zjidea.com/blog/</link>
	<description>缘份天空</description>
</image>

			<item>
			<link>http://www.zjidea.com/blog/article/program/2010-01-29-Discuz.htm</link>
			<title><![CDATA[修改Discuz 注册文件防注册机]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Web编程]]></category>
			<pubDate>Fri,29 Jan 2010 15:39:26 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=464</guid>
		<description><![CDATA[论坛最讨厌的就是有注册机来注册，然后发表一大堆垃圾广告，相信广大站长们都各有妙招来对付。前段日子我也架设了一论坛，方便江西老乡们交流，可没想到垃圾贴N多，注册的成员也是乱七八糟的，郁闷之下，改为邀请码注册，虽然是封杀了广告贴，但好多老乡也跟着不能注册了，邀请码不方便得到，论坛人气大大下降。<br/><br/>思来想去，想了一个相对比较好的方法，注册还是需要邀请码，另外单独做一张网页，把邀请码全部从数据库里读出来，想注册的就用一个，这样注册就没多大问题了。当然，如果是人为的来注册发贴，那有可能就防不住了，这方法只能防住注册机来注册，我想，这样应该能减少90%的垃圾广告了吧！<br/><br/>废话不多说，想看效果的到论坛（<a target="_blank" href="http://www.jx0572.com" rel="external">http://www.jx0572.com</a>），下面开始具体操作！<br/><br/><br/><strong>第一步：新建显示邀请码的网页，并传到论坛根目录下（文件名：invit_code.php）</strong><br/><br/><br/>代码如下：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.zjidea.com/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>&lt;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank" rel="external">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;&gt;<br/>&lt;html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank" rel="external">http://www.w3.org/1999/xhtml</a>&#34;&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;自助获取邀请码&lt;/title&gt;<br/>&lt;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34; /&gt;<br/><br/>&lt;style type=&#34;text/css&#34;&gt;<br/>&lt;!--<br/>body,td,th {<br/>&#160;&#160;&#160;&#160;font-size: 13px;<br/>&#160;&#160;&#160;&#160;line-height: 30px;<br/>}<br/>body {<br/>&#160;&#160;&#160;&#160;margin-top: 0px;<br/>&#160;&#160;&#160;&#160;margin-left: 0px;<br/>&#160;&#160;&#160;&#160;margin-right: 0px;<br/>&#160;&#160;&#160;&#160;margin-bottom: 0px;<br/>}<br/><br/>--&gt;<br/>&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;br /&gt;<br/>&lt;table width=&#34;600&#34; border=&#34;0&#34;&nbsp;&nbsp;align=&#34;center&#34; cellpadding=&#34;0&#34; cellspacing=&#34;0&#34;&gt;<br/>&nbsp;&nbsp;&lt;tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align=&#34;center&#34;&gt;&lt;font color=&#34;#FF0000&#34;&gt;无邀请码时，请联系QQ：10101840   &lt;a href=&#34;<a href="http://wpa.qq.com/msgrd?V=1" target="_blank" rel="external">http://wpa.qq.com/msgrd?V=1</a>&amp;Uin=10101840&amp;Site=[XXX论坛]&amp;Menu=yes&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;<a href="http://wpa.qq.com/pa?p=1:10101840:1" target="_blank" rel="external">http://wpa.qq.com/pa?p=1:10101840:1</a>&#34; border=&#34;0&#34;&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/>&lt;br/&gt;<br/>&lt;table width=&#34;250&#34; border=&#34;0&#34; align=&#34;center&#34; cellpadding=&#34;0&#34; cellspacing=&#34;1&#34; bgcolor=&#34;#E3E3E3&#34;&gt;<br/>&nbsp;&nbsp;&lt;tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td height=&#34;25&#34; align=&#34;center&#34; bgcolor=&#34;#F7F7F7&#34;&gt;邀请码&lt;font color=&#34;#FF0000&#34;&gt;( 随意复制一条即可 )&lt;/font&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&nbsp;&nbsp;&lt;tr&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;td bgcolor=&#34;#FFFFFF&#34;&gt;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;?php <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$dbh = mysql_connect(&#39;localhost&#39;,&#39;UserName&#39;,&#39;password&#39;); <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mysql_sel&#101;ct_db(&#39;dataname&#39;); <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$query = &#34;Sel&#101;ct `invitecode`,`status` FROM `cdb_invites` wh&#101;re `status` = 1 o&#114; `status` = 3 &#34;; <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$res = mysql_query($query, $dbh); <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$err = mysql_error(); <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if($err){ <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo &#34;数据库连接出错，请检查！&#34;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$number = 1;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;while($row = mysql_fetch_row($res)){<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo &#34;&lt;font color=#FF0000&gt;邀请码&#34;.$number.&#34;: &lt;/font&gt;&#34;.$row[0];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo &#34;&lt;br/&gt;&#34;;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$number = $number +1;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mysql_free_result($res);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;?&gt;<br/>&#160;&#160;&#160;&#160;&lt;/script&gt;&lt;/td&gt;<br/>&nbsp;&nbsp;&lt;/tr&gt;<br/>&lt;/table&gt;<br/><br/>&lt;p&gt; &lt;/p&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div></div><br/>请自己行修改上面文件中的部分代码以适用于你的网站，主要修改如下：<br/><br/>$dbh = mysql_connect(&#39;localhost&#39;,&#39;UserName&#39;,&#39;password&#39;); <br/>mysql_sel&#101;ct_db(&#39;dataname&#39;); <br/><br/>localhost：你数据库的地址，如果和你的网站在同一主机，就用localhost，否则请填你SQL数据库的IP地址。<br/>UserName：SQL数据库登陆的用户名<br/>password：SQL数据库登陆的密码<br/>dataname：SQL数据库的表名<br/><br/><strong>下面的QQ及论坛名请修改：</strong><br/>&lt;font color=&#34;#FF0000&#34;&gt;无邀请码时，请联系QQ：10101840   &lt;a href=&#34;<a href="http://wpa.qq.com/msgrd?V=1" target="_blank" rel="external">http://wpa.qq.com/msgrd?V=1</a>&amp;Uin=10101840&amp;Site=[XXX论坛]&amp;Menu=yes&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;<a href="http://wpa.qq.com/pa?p=1:10101840:1" target="_blank" rel="external">http://wpa.qq.com/pa?p=1:10101840:1</a>&#34; border=&#34;0&#34;&gt;&lt;/a&gt;&lt;/font&gt;<br/><br/><br/><strong>第二步：修改注册窗口</strong><br/>修改注册窗口的目的是为了让在注册的网友可以找到邀请码<br/><br/>在论坛源码的templates\default文件下，打开register.htm文件，搜索代码&lt;label&gt;&lt;em&gt;{lang invite_code}:&lt;/em&gt;&lt;input type=&#34;text&#34; name=&#34;invitecode&#34; autocomplete=&#34;off&#34; size=&#34;25&#34; maxlength=&#34;16&#34; value=&#34;$invitecode&#34; id=&#34;invitecode&#34; onBlur=&#34;checkinvitecode()&#34; tabindex=&#34;1&#34; class=&#34;txt&#34; /&gt;&lt;!--{if $regstatus == 2}--&gt; *&lt;!--{/if}--&gt;&lt;/label&gt;，大概在85行左右，在其后面添加如下代码：<br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.zjidea.com/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;label&gt;&lt;em&gt; &lt;/em&gt;{lang invit_addr}&lt;/label&gt;</div></div><br/><br/><span style="color:Red">至于为什么要用{lang invit_addr}而不是直接写上文字，我其实也不清楚，第一次修改Discuz文件，对其框架结构也不熟，一开始我是直接写上文字的，但全部以失败告终，经过N次实验之后才知道代码里不能有中文字符！</span><br/><br/>然后保存文件并上传到目录templates\default下，覆盖原文件。<br/><br/><strong>第三步：修改变量文件</strong><br/>修改这文件是因为在第二步添加的代码里用到了‘invit_addr’<br/><br/>在论坛源码的templates\default文件下，打开templates.lang.php文件，在&#39;discuz_lang&#39; =&gt; &#39;templates&#39;,下面一行加入下面文字：<br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.zjidea.com/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/>&#39;invit_addr&#39; =&gt; &#39;&lt;a href=&#34;invit_code.php&#34; target=&#34;_blank&#34;&gt;&lt;font color=&#34;#FF0000&#34;&gt; &gt;&gt;点击获得 邀请码&lt;/font&gt;&lt;/a&gt;&#39;,<br/></div></div><br/><br/>保存并上传文件到templates\default目录，覆盖原文件。<br/><br/><strong>第四步：设置注册方式</strong><br/><br/>以管理员帐号登陆后台，在‘全局’--‘注册与访问’里将注册方式改为‘只开放邀请注册’<br/><br/><br/><strong>第五步：添加邀请码</strong><br/><br/>在个人中心里购买邀请码，这样你访问invit_code.php看看是不是有邀请码了。<br/><br/>这样全部搞定！<br/><br/>如果你不会修改文件，并且你也没有修改过论坛代码，你可以用下面的文件直接覆盖就OK了！<br/><br/><br/><br/><img src="http://www.zjidea.com/blog/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.zjidea.com/blog/attachments/month_1001/1201012915396.rar" target="_blank">点击下载此文件</a><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/computer/2010-01-28_SaveAspdf.htm</link>
			<title><![CDATA[把word 2007 的docx 转化成 pdf]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[电脑诊所]]></category>
			<pubDate>Thu,28 Jan 2010 08:25:58 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=463</guid>
		<description><![CDATA[是不是还在为Office 2007的文件格式转化成pdf文件而苦恼呢？其实你完全不用如此，你只要到Microsoft网站上下载个插件，装上之后，在office中可以把文件发布为pdf格式了。<br/><br/>插件下载页面：<a target="_blank" href="http://www.microsoft.com/downloads/details.aspx" rel="external">http://www.microsoft.com/downloads/details.aspx</a><br/>点击下载按钮下载，不大的文件，几分钟就能下好，下完后安装即可。<br/><br/>安装结束后，打开你的word，然后点击开始中的&#34;另存为\PDF”菜单命令&#34;，然后点击“发布”即可。注意，不会有进度条，所以不要以为软件不动了就是死了或者怎么样，也许你文件大一点会需要一点时间，发布后的效果还是跟在office中看到的效果一样的。]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/diary/2010-01-01_newyear.htm</link>
			<title><![CDATA[话别2009，迎接2010]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[心情坐标]]></category>
			<pubDate>Sun,10 Jan 2010 08:35:06 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=462</guid>
		<description><![CDATA[2010年到了，在这先祝福所有的朋友在新的一年里工作顺利，家庭美满，身体倍棒，吃嘛嘛香！<br/><br/>对于2009，最大的事件就是买好了房子，虽然不大，但也算是自己的窝，可以不用担心被人赶出家门了。<br/><br/>另外，2009年，生活和工作都没有多大变化，说好听点应该算是稳定吧，不好听点，生活太平淡，工作没起色，没啥盼头！<br/><br/>不过2009的最后一天，发生了一件让我比较郁闷的事。同学的QQ被盗了，然后让我帮她买5张充值卡，我竟然就买了，不过在最后关头，我同学发短信来提醒说她QQ被盗了，不然充值密码就发给那盗QQ的人了，真是惊险啊！这种事竟然会发生在我的身上，一向以谨慎自居的我，也上当了，也许是和她比较熟，她也经常在网上买东西，因此就没有太多怀疑，直接买下！<br/><br/>提醒大家以后碰到让你帮忙付钱的事，请多留下心眼，先打电话确认后再行动，不然到时就有苦果子吃了！<br/><br/><br/>2010年，新的一年，希望有新发展，有新的成就，有新的机遇！<br/><br/>今天已经有件喜事发生，老婆怀孕了。希望从今天开始，我的喜事连连，我的家庭和事业都会有新的开始<br/><br/>期待2010年的好事！！]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/diary/2009-12-21-name_design.htm</link>
			<title><![CDATA[艺术签名设计]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[心情坐标]]></category>
			<pubDate>Mon,21 Dec 2009 12:39:29 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=461</guid>
		<description><![CDATA[练了这么多年，自己的名字总是写不好，拿不出手啊！<br/><br/>于是想在网上找个帮忙设计下自己的签名，可找来找去，基本上是要自己输入手机号来获取，这不就是要自己付费嘛，本来就没几个钱，还是忍下吧，继续寻找免费的。。。<br/><br/>功夫不负有心人，终于让我找到了一下，哈哈~~~~<br/><br/>如果各位看官也想给自己来个签名设计，请留下您的大名与邮箱，我定会发送于你！<br/><br/>请看下面的例子：<br/><br/><img src="http://www.zjidea.com/blog/attachments/month_0912/82009122112350.jpg" border="0" alt=""/><br/><br/>另外还附带有名字解析，不过纯属娱乐，请勿当真！<br/><br/><img src="http://www.zjidea.com/blog/attachments/month_0912/a20091221123836.jpg" border="0" alt=""/><br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/diary/my_dead_hard_disk.htm</link>
			<title><![CDATA[悼念我那逝去的硬盘]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[心情坐标]]></category>
			<pubDate>Wed,16 Dec 2009 12:09:48 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=460</guid>
		<description><![CDATA[上星期六写了个程序，让做硬件的工程师来测试，没想到他测试的时候一不小心短路，整个房间跳电，我的本本也直接关机，然后再也开不起来了 <img src="http://www.zjidea.com/blog/images/smilies/Face_11.gif" border="0" style="margin:0px 0px -2px 0px" alt=""/>，经检测是硬盘坏了，只等着换一个新硬盘！只是有一件事让我想不通，通过USB也能让硬盘给挂了。测试硬件的板子短路，然后把USB写入器也给烧了，再直接进入电脑，我想也就USB端口烧坏，最多再加个主板也跟着烧，但万万没想到是硬盘烧坏了！气啊！！<br/><br/>这电脑是去年4月份的时候买的，各种资料也就从那时开始慢慢积累，到现在也有不少了，现在硬盘一坏，数据也就拷贝不出来了，郁闷啊！不过值得幸运的是，原来所写的程序上个月刚过做过备份，而从备份后也没有新的程序写，只是有的程序简单的修改了些，现在只能把修改过的程序再重新修改一次了！<br/><br/>至于个人资料，上次备份的时候已经把所有相片全部拷贝回家，剩下的财务记录，QQ聊天记录，以及平时搜集的各种资料也就全部Over <img src="http://www.zjidea.com/blog/images/smilies/Face_10.gif" border="0" style="margin:0px 0px -2px 0px" alt=""/>！！<br/><br/>教训是惨痛的，以后要学会经常备份数据，万一哪天又有什么不测风云，也不至于一命乌乎！<br/><br/>各位看官，现在赶紧备份次数据吧！说不定下哪天就轮到你了！ <img src="http://www.zjidea.com/blog/images/smilies/Face_03.gif" border="0" style="margin:0px 0px -2px 0px" alt=""/><br/><br/>That&#39;s go,do it now！<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/delphi/20091211_delphi_function4.htm</link>
			<title><![CDATA[Delphi函数大全4]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Delphi编程]]></category>
			<pubDate>Fri,11 Dec 2009 13:15:06 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=459</guid>
		<description><![CDATA[首部&nbsp;&nbsp;function TryStrToDate(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期Value是否成功<br/>说明&nbsp;&nbsp;字符非日期表达时返回False并且Value将输出为0<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin TryStrToDate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDateTime: TDateTime;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToDate(Edit1.Text, vDateTime);<br/>&nbsp;&nbsp;DateTimePicker1.Date := vDateTime;<br/>end;<br/>///////End TryStrToDate<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToTime(const S: string): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成时间<br/>说明&nbsp;&nbsp;字符非时间表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToTime<br/>例子&nbsp;&nbsp;DateTimePicker1.Time := StrToTime(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成时间<br/>说明&nbsp;&nbsp;字符非时间表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToTime<br/>例子&nbsp;&nbsp;DateTimePicker1.Time := StrToTimeDef(Edit1.Text, Time);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成时间Value是否成功<br/>说明&nbsp;&nbsp;字符非时间表达时返回False并且Value将输出为0<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin TryStrToTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDateTime: TDateTime;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToTime(Edit1.Text, vDateTime);<br/>&nbsp;&nbsp;DateTimePicker1.Time := vDateTime;<br/>end;<br/>///////End TryStrToTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToDateTime(const S: string): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期时间<br/>说明&nbsp;&nbsp;字符非日期时间表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToDateTime<br/>例子&nbsp;&nbsp;Edit1.Text := DateTimeToStr(StrToDateTime(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToDateTimeDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期时间<br/>说明&nbsp;&nbsp;字符非日期时间表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToDateTime<br/>例子&nbsp;&nbsp;Edit1.Text := DateTimeToStr(StrToDateTimeDef(Edit2.Text, Now));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToDateTime(const S: string; out Value: TDateTime): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期时间Value是否成功<br/>说明&nbsp;&nbsp;字符非日期时间表达时返回False并且Value将输出为0<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin TryStrToDateTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDateTime: TDateTime;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToDateTime(Edit1.Text, vDateTime);<br/>&nbsp;&nbsp;Edit2.Text := DateTimeToStr(vDateTime);<br/>end;<br/>///////End TryStrToDateTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FormatDateTime(const Format: string; DateTime: TDateTime): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回用指定的格式Format来格式化日期时间DateTime<br/>说明&nbsp;&nbsp;FormatDateTime(&#39;YYYY&#34;年&#34;MM&#34;月&#34;DD&#34;日&#34;&#39;, StrToDate(&#39;2002-03-09&#39;)) = &#39;2002年03月09日&#39;<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToString<br/>例子&nbsp;&nbsp;Edit2.Text := FormatDateTime(Edit1.Text, Now);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime); $[SysUtils.pas<br/>功能&nbsp;&nbsp;用指定的格式Format来格式化日期时间DateTime并返回到字符串Result中<br/>说明&nbsp;&nbsp;&lt;参见FormatDateTime&gt;<br/>参考&nbsp;&nbsp;function System.SetString<br/>例子&nbsp;&nbsp;&lt;参见FormatDateTime&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToDateTime(const Value: Extended): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数转换成日期时间类型<br/>说明&nbsp;&nbsp;如果浮点数超出范围将触发异常<br/>参考&nbsp;&nbsp;function System.Int<br/>例子&nbsp;&nbsp;Edit2.Text := DateTimeToStr(FloatToDateTime(StrToFloatDef(Edit1.Text, 0)));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function SysErrorMessage(ErrorCode: Integer): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回系统中错误代码所对应的信息<br/>说明&nbsp;&nbsp;此函可以有助于已习惯Windows编程的用户使用<br/>参考&nbsp;&nbsp;function Windows.FormatMessage;function System.SetString<br/>例子&nbsp;&nbsp;Edit1.Text := SysErrorMessage(SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetLocaleStr(Locale, LocaleType: Integer; const Default: string): string; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前系统指定参数的字符串值<br/>说明&nbsp;&nbsp;GetLocaleStr(GetThreadLocale, LOCALE_SLANGUAGE, &#39;&#39;) = &#39;中文(中国)&#39;<br/>参考&nbsp;&nbsp;function Windows.GetLocaleInfo<br/>例子&nbsp;&nbsp;Edit1.Text := GetLocaleStr(GetThreadLocale, SpinEdit1.Value, &#39;&lt;NULL&gt;&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetLocaleChar(Locale, LocaleType: Integer; Default: Char): Char; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前系统指定参数的字符值<br/>说明&nbsp;&nbsp;GetLocaleChar(GetThreadLocale, LOCALE_STHOUSAND, #0) = &#39;,&#39;<br/>参考&nbsp;&nbsp;function Windows.GetLocaleInfo<br/>例子&nbsp;&nbsp;Edit1.Text := GetLocaleChar(GetThreadLocale, LOCALE_SLANGUAGE, #0);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure GetFormatSettings; $[SysUtils.pas<br/>功能&nbsp;&nbsp;恢复系统参数设置<br/>说明&nbsp;&nbsp;日期时间格式等<br/>参考&nbsp;&nbsp;function Windows.GetThreadLocale;function Windows.GetLocaleStr<br/>例子<br/>///////Begin GetFormatSettings<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;ShortDateFormat := &#39;YYYY&#34;年&#34;MM&#34;月&#34;DD&#34;日&#34;&#39;;<br/>&nbsp;&nbsp;ShowMessage(DateToStr(Date));<br/>&nbsp;&nbsp;GetFormatSettings;<br/>&nbsp;&nbsp;ShowMessage(DateToStr(Date));<br/>end;<br/>///////End GetFormatSettings<br/>━━━━━━━━━━━━━━━━━━━━━ <br/>首部&nbsp;&nbsp;function InquireSignal(RtlSigNum: Integer): TSignalState; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure AbandonSignalHandler(RtlSigNum: Integer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure HookSignal(RtlSigNum: Integer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure UnhookSignal(RtlSigNum: Integer; OnlyIfHooked: Boolean = True); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure HookOSExceptions; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function MapSignal(SigNum: Integer; Context: PSigContext): LongWord; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure SignalConverter(ExceptionEIP: LongWord; FaultAddr: LongWord; ErrorCode: LongWord); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure SetSafeCallExceptionMsg(Msg: String); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure SetSafeCallExceptionAddr(Addr: Pointer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetSafeCallExceptionMsg: String; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetSafeCallExceptionAddr: Pointer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function LoadLibrary(ModuleName: PChar): HMODULE; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FreeLibrary(Module: HMODULE): LongBool; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetProcAddress(Module: HMODULE; Proc: PChar): Pointer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetModuleHandle(ModuleName: PChar): HMODULE; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetPackageModuleHandle(PackageName: PChar): HMODULE; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure Sleep(milliseconds: Cardinal);{$IFDEF MSWINDOWS} stdcall; {$ENDIF} $[SysUtils.pas<br/>功能&nbsp;&nbsp;让程序休眠一段时间<br/>说明&nbsp;&nbsp;以微米为单位<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Sleep(3000);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetModuleName(Module: HMODULE): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回动态连接库的名称<br/>说明&nbsp;&nbsp;如果参数为0则返回当前程序的名称<br/>参考&nbsp;&nbsp;function Windows.GetModuleFileName<br/>例子<br/>///////Begin GetModuleName<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vHandle: THandle;<br/>begin<br/>&nbsp;&nbsp;vHandle := LoadLibrary(PChar(Edit1.Text));<br/>&nbsp;&nbsp;Caption := GetModuleName(vHandle);<br/>&nbsp;&nbsp;FreeLibrary(vHandle);<br/>end;<br/>///////End GetModuleName<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExceptionErrorMessage(ExceptObject: TObject; ExceptAddr: Pointer; Buffer: PChar; Size: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回操作指针失败的信息长度<br/>说明&nbsp;&nbsp;信息放在缓冲Buffer中<br/>参考&nbsp;&nbsp;function Windows.VirtualQuery;function Windows.GetModuleFilename<br/>例子<br/>///////Begin ExceptionErrorMessage<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;ExceptionErrorMessage(Self, Self, vBuffer, 255);<br/>&nbsp;&nbsp;Caption := vBuffer;<br/>end;<br/>///////End ExceptionErrorMessage<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure ShowException(ExceptObject: TObject; ExceptAddr: Pointer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;提示一个操作指针失败的错误<br/>说明&nbsp;&nbsp;支持控制台程序<br/>参考&nbsp;&nbsp;function SysUtils.ExceptionErrorMessage;var System.IsConsole;function System.FindResourceHInstance<br/>例子&nbsp;&nbsp;ShowException(Self, Self);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure Abort; $[SysUtils.pas<br/>功能&nbsp;&nbsp;引起放弃的意外处理<br/>说明&nbsp;&nbsp;不显示任何错误信息<br/>参考&nbsp;&nbsp;type SysUtils.EAbort<br/>例子&nbsp;&nbsp;Abort;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure OutOfMemoryError; $[SysUtils.pas<br/>功能&nbsp;&nbsp;触发内存益出异常<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;var SysUtils.OutOfMemory<br/>例子&nbsp;&nbsp;OutOfMemoryError;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure Beep; $[SysUtils.pas<br/>功能&nbsp;&nbsp;触发计算机出声<br/>说明&nbsp;&nbsp;MessageBeep(0);<br/>参考&nbsp;&nbsp;function Windows.MessageBeep<br/>例子&nbsp;&nbsp;Beep;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function ByteType(const S: string; Index: Integer): TMbcsByteType; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S位置Index上的字符在MBCS中类型<br/>说明&nbsp;&nbsp;多字节字符系统:Multi-Byte Character System (MBCS)<br/>参考&nbsp;&nbsp;var SysUtils.SysLocale<br/>例子&nbsp;&nbsp;SpinEdit1.Value := o&#114;d(ByteType(Edit1.Text, SpinEdit2.Value));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串Str位置Index上的字符在MBCS中类型<br/>说明&nbsp;&nbsp;Index从0开始<br/>参考&nbsp;&nbsp;var SysUtils.SysLocale<br/>例子&nbsp;&nbsp;SpinEdit1.Value := o&#114;d(StrByteType(PChar(Edit1.Text), SpinEdit2.Value));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ByteToCharLen(const S: string; MaxLen: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S中有多少个多字节字符<br/>说明&nbsp;&nbsp;MaxLen指定处理字符个数<br/>参考&nbsp;&nbsp;function SysUtils.ByteToCharIndex<br/>例子&nbsp;&nbsp;SpinEdit1.Value := ByteToCharLen(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CharToByteLen(const S: string; MaxLen: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S中有多少个字符<br/>说明&nbsp;&nbsp;MaxLen指定处理多字节字符个数<br/>参考&nbsp;&nbsp;var SysUtils.SysLocale<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CharToByteLen(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ByteToCharIndex(const S: string; Index: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符位置对应的多字节字符位置<br/>说明&nbsp;&nbsp;ByteToCharIndex(&#39;你好&#39;, 2) = 1;ByteToCharIndex(&#39;你好&#39;, 3) = 2<br/>参考&nbsp;&nbsp;function SysUtils.NextCharIndex<br/>例子&nbsp;&nbsp;SpinEdit1.Value := ByteToCharIndex(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CharToByteIndex(const S: string; Index: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回多字节字符位置对应的字符起始位置<br/>说明&nbsp;&nbsp;CharToByteIndex(&#39;你好&#39;, 1) = 1;CharToByteIndex(&#39;你好&#39;, 2) = 3<br/>参考&nbsp;&nbsp;function System.Length<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CharToByteIndex(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function StrCharLength(const Str: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回第一个字符的宽度<br/>说明&nbsp;&nbsp;参数为空则返回0<br/>参考&nbsp;&nbsp;function Windows.CharNext<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrCharLength(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrNextChar(const Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符指针Str的下一个字符指针<br/>说明&nbsp;&nbsp;StrNextChar(&#39;1234&#39;) = &#39;234&#39;;<br/>参考&nbsp;&nbsp;function Windows.CharNext<br/>例子&nbsp;&nbsp;Edit2.Text := StrNextChar(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CharLength(const S: String; Index: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串中指定位置的字符宽度<br/>说明&nbsp;&nbsp;CharLength(&#39;English汉&#39;, 1) = 1;CharLength(&#39;English汉&#39;, 8) = 2<br/>参考&nbsp;&nbsp;function System.Assert;function SysUtils.StrCharLength<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CharLength(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function NextCharIndex(const S: String; Index: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回下一个字符的位置<br/>说明&nbsp;&nbsp;CharLength(&#39;你好&#39;, 1) = 3;CharLength(&#39;你好&#39;, 3) = 5<br/>参考&nbsp;&nbsp;function System.Assert;function SysUtils.StrCharLength<br/>例子&nbsp;&nbsp;SpinEdit1.Value := NextCharIndex(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IsPathDelimiter(const S: string; Index: Integer): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S中指定位置Index上是否是一个路径分隔符<br/>说明&nbsp;&nbsp;IsPathDelimiter(&#39;C:\Windows&#39;, 3) = True<br/>参考&nbsp;&nbsp;const SysUtils.PathDelim;function SysUtils.ByteType<br/>例子&nbsp;&nbsp;CheckBox1.Checked := IsPathDelimiter(Edit1.Text, SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IsDelimiter(const Delimiters, S: string; Index: Integer): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S中指定位置Index上是否是一个分隔符Delimiters<br/>说明&nbsp;&nbsp;IsDelimiter(&#39;@&#39;, &#39;wjhu111@21cn.com&#39;, 8) = True<br/>参考&nbsp;&nbsp;function SysUtils.ByteType<br/>例子&nbsp;&nbsp;CheckBox1.Checked := IsDelimiter(Edit1.Text, Edit2.Text, SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IncludeTrailingPathDelimiter(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回包括最后路径分隔符<br/>说明&nbsp;&nbsp;最后一个字符是路径分隔符则不变;否则加上一个路径分隔符返回<br/>参考&nbsp;&nbsp;function SysUtils.IsPathDelimiter;function System.Length<br/>例子&nbsp;&nbsp;Edit1.Text := IncludeTrailingPathDelimiter(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IncludeTrailingBackslash(const S: string): string; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回包括最后斜线<br/>说明&nbsp;&nbsp;Result := IncludeTrailingPathDelimiter(S);<br/>参考&nbsp;&nbsp;function SysUtils.IncludeTrailingPathDelimiter<br/>例子&nbsp;&nbsp;Edit1.Text := IncludeTrailingBackslash(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExcludeTrailingPathDelimiter(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回排除最后路径分隔符<br/>说明&nbsp;&nbsp;最后一个字符不是路径分隔符则不变;否则减去最后的路径分隔符返回<br/>参考&nbsp;&nbsp;function SysUtils.IsPathDelimiter;function System.Length;function System.SetLength<br/>例子&nbsp;&nbsp;Edit1.Text := ExcludeTrailingPathDelimiter(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExcludeTrailingBackslash(const S: string): string; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回排除最后斜线<br/>说明&nbsp;&nbsp;Result := ExcludeTrailingPathDelimiter(S)<br/>参考&nbsp;&nbsp;function SysUtils.ExcludeTrailingPathDelimiter<br/>例子&nbsp;&nbsp;Edit1.Text := ExcludeTrailingBackslash(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function LastDelimiter(const Delimiters, S: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回最后一个分隔符的位置<br/>说明&nbsp;&nbsp;LastDelimiter(&#39;.&#39;, &#39;kingron.myetang.com&#39;) = 16<br/>参考&nbsp;&nbsp;function SysUtils.StrScan;function SysUtils.ByteType<br/>例子&nbsp;&nbsp;SpinEdit1.Value := LastDelimiter(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AnsiCompareFileName(const S1, S2: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个文件名<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.AnsiCompareStr<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiCompareFileName(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function SameFileName(const S1, S2: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个文件名是否相等<br/>说明&nbsp;&nbsp;区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.AnsiCompareFileName<br/>例子&nbsp;&nbsp;CheckBox1.Checked := SameFileName(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiLowerCaseFileName(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回小写文件名<br/>说明&nbsp;&nbsp;在非多字节字符系统上相当于AnsiLowerCase<br/>参考&nbsp;&nbsp;function SysUtils.AnsiLowerCase<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiLowerCaseFileName(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiUpperCaseFileName(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回大写文件名<br/>说明&nbsp;&nbsp;在非多字节字符系统上相当于AnsiUpperCase<br/>参考&nbsp;&nbsp;function SysUtils.AnsiUpperCase<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiUpperCaseFileName(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AnsiPos(const Substr, S: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回子串Substr在字符中第一次出现的位置<br/>说明&nbsp;&nbsp;不存在则返回0<br/>参考&nbsp;&nbsp;SysUtils.AnsiStrPos<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiPos(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AnsiStrPos(Str, SubStr: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针子串Substr在指针字符中第一次出现的指针位置<br/>说明&nbsp;&nbsp;不存在则返回nil<br/>参考&nbsp;&nbsp;function SysUtils.StrByteType<br/>例子&nbsp;&nbsp;Edit3.Text := AnsiStrPos(PChar(Edit1.Text), PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AnsiStrRScan(Str: PChar; Chr: Char): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回在指针字符串Str搜索字符Chr最后一个出现的地址<br/>说明&nbsp;&nbsp;支持多字节字符系统;AnsiStrRScan(&#39;kingron.myetang.com&#39;, &#39;.&#39;) = &#39;.com&#39;<br/>参考&nbsp;&nbsp;function SysUtils.AnsiStrScan<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiStrScan(PChar(Edit1.Text), &#39;.&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrScan(Str: PChar; Chr: Char): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回在指针字符串Str搜索字符Chr第一个出现的地址<br/>说明&nbsp;&nbsp;支持多字节字符系统;AnsiStrRScan(&#39;kingron.myetang.com&#39;, &#39;.&#39;) = &#39;.myetang.com&#39;<br/>参考&nbsp;&nbsp;function SysUtils.StrScan<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiStrScan(PChar(Edit1.Text), &#39;.&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回替换后的字符串<br/>说明&nbsp;&nbsp;rfReplaceAll为替换全部内容;rfIgnoreCase为忽略大小写<br/>参考&nbsp;&nbsp;function SysUtils.AnsiUpperCase;function SysUtils.AnsiPos;function System.Copy<br/>例子<br/>///////Begin StringReplace<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;[]&#39;] :=<br/>&nbsp;&nbsp;&nbsp;&nbsp;StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, []);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;[rfReplaceAll]&#39;] :=<br/>&nbsp;&nbsp;&nbsp;&nbsp;StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll]);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;[rfIgnoreCase]&#39;] :=<br/>&nbsp;&nbsp;&nbsp;&nbsp;StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfIgnoreCase]);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;[rfReplaceAll, rfIgnoreCase]&#39;] :=<br/>&nbsp;&nbsp;&nbsp;&nbsp;StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll, rfIgnoreCase]);<br/>end;<br/>///////End StringReplace<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet; MaxCol: Integer): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function WrapText(const Line: string; MaxCol: Integer = 45): string; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回对字符串自动换行<br/>说明&nbsp;&nbsp;Result := WrapText(Line, sLineBreak, [&#39; &#39;, &#39;-&#39;, #9], MaxCol);<br/>参考&nbsp;&nbsp;function SysUtils.CharLength;function SysUtils.CompareText<br/>例子&nbsp;&nbsp;Memo1.Text := WrapText(Memo2.Text, SpinEdit1.Value); <br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FindCmdLineSwitch(const Switch: string; const Chars: TSysCharSet; IgnoreCase: Boolean): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function FindCmdLineSwitch(const Switch: string): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function FindCmdLineSwitch(const Switch: string; IgnoreCase: Boolean): Boolean; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回程序命令参数是否找到<br/>说明&nbsp;&nbsp;Result := FindCmdLineSwitch(Switch, SwitchChars, True);<br/>参考&nbsp;&nbsp;function System.ParamCount;function System.ParamStr;function SysUtils.AnsiCompareText<br/>例子&nbsp;&nbsp;CheckBox1.Checked := FindCmdLineSwitch(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure FreeAndNil(var Obj); $[SysUtils.pas<br/>功能&nbsp;&nbsp;释放对象Obj并赋为空<br/>说明&nbsp;&nbsp;如果对象已经释放资源将触发异常<br/>参考&nbsp;&nbsp;type System.TObject<br/>例子<br/>///////Begin FreeAndNil<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;Temp: TObject;<br/>begin<br/>&nbsp;&nbsp;Temp := TObject.Cr&#101;ate;<br/>&nbsp;&nbsp;Temp.Free;<br/>&nbsp;&nbsp;ShowMessage(Format(&#39;%p&#39;, [Pointer(Temp)]));<br/><br/>&nbsp;&nbsp;Temp := TObject.Cr&#101;ate;<br/>&nbsp;&nbsp;FreeAndNil(Temp);<br/>&nbsp;&nbsp;ShowMessage(Format(&#39;%p&#39;, [Pointer(Temp)]));<br/>end;<br/>///////End FreeAndNil<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function Supports(const Instance: TObject; const IID: TGUID; out Intf): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function Supports(const Instance: IInterface; const IID: TGUID): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function Supports(const Instance: TObject; const IID: TGUID): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function Supports(const AClass: TClass; const IID: TGUID): Boolean; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回对象是否支持指定的接口<br/>说明&nbsp;&nbsp;Result := AClass.GetInterfaceEntry(IID) &lt;&gt; nil;<br/>参考&nbsp;&nbsp;type System.TObject<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function Cr&#101;ateGUID(out Guid: TGUID): HResult; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回创建全局标识是否成功<br/>说明&nbsp;&nbsp;返回S_OK表示成功<br/>参考&nbsp;&nbsp;function Windows.CoCr&#101;ateGuid<br/>例子<br/>///////Begin Cr&#101;ateGUID<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vGUID: TGUID;<br/>begin<br/>&nbsp;&nbsp;Cr&#101;ateGUID(vGUID);<br/>&nbsp;&nbsp;Edit1.Text := GUIDToString(vGUID);<br/>end;<br/>///////End Cr&#101;ateGUID<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StringToGUID(const S: string): TGUID; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成全局标识<br/>说明&nbsp;&nbsp;如果字符串非法将触发异常<br/>参考&nbsp;&nbsp;fuction Windows.Succeeded<br/>例子&nbsp;&nbsp;Edit2.Text := GUIDToString(StringToGUID(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GUIDToString(const GUID: TGUID): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回全局标识GUID转换成字符串<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;fuction Windows.Succeeded<br/>例子&nbsp;&nbsp;Edit2.Text := GUIDToString(StringToGUID(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function IsEqualGUID(const guid1, guid2: TGUID): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个全局标识是否相同<br/>说明&nbsp;&nbsp;function IsEqualGUID; external &#39;ole32.dll&#39; name &#39;IsEqualGUID&#39;;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;CheckBox1.Checked := IsEqualGUID(StringToGUID(Edit1.Text), StringToGUID(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function LoadPackage(const Name: string): HMODULE; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回载入包资源<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.SafeLoadLibrary;function SysUtils.InitializePackage;function Windows.FreeLibrary<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure UnloadPackage(Module: HMODULE); $[SysUtils.pas<br/>功能&nbsp;&nbsp;取消载入包资源<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.FinalizePackage;function Windows.FreeLibrary<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure GetPackageInfo(Module: HMODULE; Param: Pointer; var Flags: Integer; InfoProc: TPackageInfoProc); $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回包的信息<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetPackageDescription(ModuleName: PChar): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回包的描述<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function System.LoadResourceModule;function Windows.LoadLibraryEx<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure InitializePackage(Module: HMODULE); $[SysUtils.pas<br/>功能&nbsp;&nbsp;初始化包<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function Windos.GetProcAddress<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure FinalizePackage(Module: HMODULE); $[SysUtils.pas<br/>功能&nbsp;&nbsp;终止化包<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function Windos.GetProcAddress<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure RaiseLastOSError; $[SysUtils.pas<br/>功能&nbsp;&nbsp;触发操作系统的最后一个异常<br/>说明&nbsp;&nbsp;如果没有出现异常则默认调用Api函数异常<br/>参考&nbsp;&nbsp;function Windows.GetLastError<br/>例子&nbsp;&nbsp;RaiseLastOSError;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure RaiseLastWin32Error; deprecated; $[SysUtils.pas<br/>功能&nbsp;&nbsp;触发Win32系统的最后一个异常<br/>说明&nbsp;&nbsp;如果没有出现异常则默认调用Api函数异常<br/>参考&nbsp;&nbsp;function SysUtils.RaiseLastOSError;<br/>例子&nbsp;&nbsp;RaiseLastWin32Error;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function Win32Check(RetVal: BOOL): BOOL; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回检测调用系统Api函数返回结果<br/>说明&nbsp;&nbsp;如果RetVal为False则触发异常<br/>参考&nbsp;&nbsp;function SysUtils.RaiseLastOSError<br/>例子&nbsp;&nbsp;CheckBox2.Checked := Win32Check(CheckBox1.Checked);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure AddTerminateProc(TermProc: TTerminateProc); $[SysUtils.pas<br/>功能&nbsp;&nbsp;添加一个退出过程到系统中<br/>说明&nbsp;&nbsp;执行AddTerminateProc(nil)将导致系统异常<br/>参考&nbsp;&nbsp;const System.TerminateProcList<br/>例子<br/>///////Begin AddTerminateProc<br/>function NewTerminateProc: Boolean;<br/>begin<br/>&nbsp;&nbsp;Result := True;<br/>&nbsp;&nbsp;ShowMessage(&#39;NewTerminateProc&#39;);<br/>end;<br/><br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;AddTerminateProc(NewTerminateProc);<br/>end;<br/>///////End AddTerminateProc<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CallTerminateProcs: Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回调用退出过程是否成功<br/>说明&nbsp;&nbsp;不建议调用<br/>参考&nbsp;&nbsp;const System.TerminateProcList<br/>例子&nbsp;&nbsp;CallTerminateProcs;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function GDAL: LongWord; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure RCS; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure RPR; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function SafeLoadLibrary(const Filename: string; ErrorMode: UINT = SEM_NOOPENFILEERRORBOX): HMODULE; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回安全方式载入动态连接库资源<br/>说明&nbsp;&nbsp;&lt;参见LoadLibrary&gt;<br/>参考&nbsp;&nbsp;function Windows.LoadLibrary<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function GetEnvironmentVariable(const Name: string): string; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回过程环境变量<br/>说明&nbsp;&nbsp;配合SetEnvironmentVariable函数使用<br/>参考&nbsp;&nbsp;function Windows.GetEnvironmentVariable<br/>例子&nbsp;&nbsp;Edit1.Text := GetEnvironmentVariable(Edit2.Text);<br/>///////Begin GetEnvironmentVariable<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;SetEnvironmentVariable(PChar(Edit2.Text), PChar(Edit3.Text));<br/>&nbsp;&nbsp;Edit1.Text := GetEnvironmentVariable(Edit2.Text);<br/>end;<br/>///////End GetEnvironmentVariable<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function InterlockedIncrement(var I: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function InterlockedDecrement(var I: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function InterlockedExchange(var A: Integer; B: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function InterlockedExchangeAdd(var A: Integer; B: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/delphi/20091211_delphi_function3.htm</link>
			<title><![CDATA[Delphi函数大全3]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Delphi编程]]></category>
			<pubDate>Fri,11 Dec 2009 13:12:45 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=458</guid>
		<description><![CDATA[首部&nbsp;&nbsp;procedure StrDispose(Str: PChar); $[SysUtils.pas<br/>功能&nbsp;&nbsp;释放指针字符串Str内存资源<br/>说明&nbsp;&nbsp;如果Str为nil则不作任何处理;并且释放空间大小信息<br/>参考&nbsp;&nbsp;function System.Dec;function System.SizeOf;function System.FreeMem<br/>例子&nbsp;&nbsp;&lt;参见StrNew&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式格式化一个数组常量的字符形式<br/>说明&nbsp;&nbsp;这个函数是我在Delphi中用得最多的函数，现在就列举几个例子给你个直观的理解<br/>&#34;%&#34; [索引 &#34;:&#34;] [&#34;-&#34;] [宽度] [&#34;.&#34; 摘要] 类型<br/>Format(&#39;x=%d&#39;, [12]); //&#39;x=12&#39; //最普通<br/>Format(&#39;x=%3d&#39;, [12]); //&#39;x= 12&#39; //指定宽度<br/>Format(&#39;x=%f&#39;, [12.0]); //&#39;x=12.00&#39; //浮点数<br/>Format(&#39;x=%.3f&#39;, [12.0]); //&#39;x=12.000&#39; //指定小数<br/>Format(&#39;x=%.*f&#39;, [5, 12.0]); //&#39;x=12.00000&#39; //动态配置<br/>Format(&#39;x=%.5d&#39;, [12]); //&#39;x=00012&#39; //前面补充0<br/>Format(&#39;x=%.5x&#39;, [12]); //&#39;x=0000C&#39; //十六进制<br/>Format(&#39;x=%1:d%0:d&#39;, [12, 13]); //&#39;x=1312&#39; //使用索引<br/>Format(&#39;x=%p&#39;, [nil]); //&#39;x=00000000&#39; //指针<br/>Format(&#39;x=%1.1e&#39;, [12.0]); //&#39;x=1.2E+001&#39; //科学记数法<br/>Format(&#39;x=%%&#39;, []); //&#39;x=%&#39; //得到&#34;%&#34;<br/>S := Format(&#39;%s%d&#39;, [S, I]); //S := S + StrToInt(I); //连接字符串<br/>参考&nbsp;&nbsp;proceduer SysUtils.FmtStr<br/>例子&nbsp;&nbsp;Edit1.Text := Format(Edit2.Text, [StrToFloatDef(Edit.3.Text, 0)]);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure FmtStr(var Result: string; const Format: string; const Args: array of const); $[SysUtils.pas<br/>功能&nbsp;&nbsp;按指定方式格式化一个数组常量的字符形式返回<br/>说明&nbsp;&nbsp;&lt;参见Format&gt;<br/>参考&nbsp;&nbsp;function SysUtils.FormatBuf;function System.Length;function System.SetLength<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrFmt(Buffer, Format: PChar; const Args: array of const): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式格式化一个数组常量的字符指针形式<br/>说明&nbsp;&nbsp;如果Buffer和Format其中只要有一个为nil则返回nil<br/>参考&nbsp;&nbsp;function SysUtils.FormatBuf<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLFmt(Buffer: PChar; MaxBufLen: Cardinal; Format: PChar; const Args: array of const): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式和长度格式化一个数组常量的字符指针形式<br/>说明&nbsp;&nbsp;StrLFmt(vBuffer, 6, &#39;%d|12345&#39;, [1024]) = &#39;1024|1&#39;;<br/>参考&nbsp;&nbsp;function SysUtils.FormatBuf<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen: Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式格式化一个数组常量到缓冲区Buffer中<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideFormat(const Format: WideString; const Args: array of const): WideString; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式格式化一个数组常量的多字节字符形式<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;procedure SysUtils.WideFmtStr<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure WideFmtStr(var Result: WideString; const Format: WideString; const Args: array of const); $[SysUtils.pas<br/>功能&nbsp;&nbsp;按指定方式格式化一个数组常量的多字节字符形式返回<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.WideFormatBuf<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideFormatBuf(var Buffer; BufLen: Cardinal; const Format; FmtLen: Cardinal; const Args: array of const): Cardinal; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回按指定方式格式化一个数组常量到缓冲区Buffer中<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;&lt;参见Format&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToStr(Value: Extended): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数Value转换成字符串<br/>说明&nbsp;&nbsp;当浮点数大等于1E15将采用科学记数法<br/>参考&nbsp;&nbsp;function SysUtils.FloatToText<br/>例子&nbsp;&nbsp;Edit1.Text := FloatToStr(Now);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CurrToStr(Value: Currency): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回货币数Value转换成字符串<br/>说明&nbsp;&nbsp;货币数只保留四位小数<br/>参考&nbsp;&nbsp;function SysUtils.FloatToText<br/>例子&nbsp;&nbsp;Edit1.Text := CurrToStr(Now);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToCurr(const Value: Extended): Currency; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数Value转换成货币数<br/>说明&nbsp;&nbsp;如果浮点数Value超出范围则将触发异常<br/>参考&nbsp;&nbsp;const SysUtiles.MinCurrency;const SysUtiles.MaxCurrency<br/>例子&nbsp;&nbsp;Edit1.Text := CurrToStr(FloatToCurr(Now));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数以指定格式转换成字符串<br/>说明&nbsp;&nbsp;Precision指定精度;Digits指定小数宽度<br/>参考&nbsp;&nbsp;function SysUtils.FloatToText<br/>例子<br/>///////Begin FloatToStrF<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffGeneral&#39;] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffGeneral, SpinEdit1.Value, SpinEdit2.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffExponent&#39;] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffExponent, SpinEdit1.Value, SpinEdit2.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffFixed&#39;] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffFixed, SpinEdit1.Value, SpinEdit2.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffNumber&#39;] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffNumber, SpinEdit1.Value, SpinEdit2.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffCurrency&#39;] := FloatToStrF(StrToFloatDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffCurrency, SpinEdit1.Value, SpinEdit2.Value);<br/>end;<br/>///////End FloatToStrF<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回货币类型以指定格式转换成字符串<br/>说明&nbsp;&nbsp;Digits指定小数宽度<br/>参考&nbsp;&nbsp;function SysUtils.FloatToText<br/>例子<br/>///////Begin CurrToStrF<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffGeneral&#39;] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffGeneral, SpinEdit1.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffExponent&#39;] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffExponent, SpinEdit1.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffFixed&#39;] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffFixed, SpinEdit1.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffNumber&#39;] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffNumber, SpinEdit1.Value);<br/>&nbsp;&nbsp;Memo1.Lines.Values[&#39;ffCurrency&#39;] := CurrToStrF(StrToCurrDef(Edit1.Text, 0),<br/>&nbsp;&nbsp;&nbsp;&nbsp;ffCurrency, SpinEdit1.Value);<br/>end;<br/>///////End CurrToStrF<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToText(BufferArg: PChar; const Value; ValueType: TFloatValue; Format: TFloatFormat; Precision, Digits: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数以指定格式转换成指针字符串的内存大小<br/>说明&nbsp;&nbsp;Precision指定精度;Digits指定小数宽度<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin FloatToText<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>&nbsp;&nbsp;E: Extended;<br/>begin<br/>&nbsp;&nbsp;E := StrToFloatDef(Edit1.Text, 0);<br/>&nbsp;&nbsp;SpinEdit3.Value := FloatToText(vBuffer, E,<br/>&nbsp;&nbsp;&nbsp;&nbsp;fvExtended, ffNumber, SpinEdit1.Value, SpinEdit2.Value);<br/>&nbsp;&nbsp;Edit2.Text := Copy(vBuffer, 1, SpinEdit3.Value);<br/>end;<br/>///////End FloatToText(<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FormatFloat(const Format: string; Value: Extended): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数类型以指定格式字符串Format转换成字符串<br/>说明&nbsp;&nbsp;FormatFloat(&#39;,.00&#39;, 1234567890) = &#39;1,234,567,890.00&#39;<br/>参考&nbsp;&nbsp;function SysUtils.FloatToTextFmt<br/>例子&nbsp;&nbsp;Edit1.Text := FormatFloat(Edit2.Text, StrToFloatDef(Edit3.Text, 0));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FormatCurr(const Format: string; Value: Currency): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回货币类型以指定格式字符串Format转换成字符串<br/>说明&nbsp;&nbsp;FormatCurr(&#39;,.00&#39;, 1234567890) = &#39;1,234,567,890.00&#39;<br/>参考&nbsp;&nbsp;function SysUtils.FloatToTextFmt<br/>例子&nbsp;&nbsp;Edit1.Text := FormatCurr(Edit2.Text, StrToCurrDef(Edit3.Text, 0));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FloatToTextFmt(Buf: PChar; const Value; ValueType: TFloatValue; Format: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回浮点数以指定格式字符串Format转换成指针字符串的内存大小<br/>说明&nbsp;&nbsp;ValueType指定无类型参数Value的类型<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin FloatToTextFmt<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>&nbsp;&nbsp;E: Extended;<br/>begin<br/>&nbsp;&nbsp;E := StrToFloatDef(Edit1.Text, 0);<br/>&nbsp;&nbsp;SpinEdit1.Value := FloatToTextFmt(vBuffer, E,<br/>&nbsp;&nbsp;&nbsp;&nbsp;fvExtended, PChar(Edit2.Text));<br/>&nbsp;&nbsp;Edit3.Text := Copy(vBuffer, 1, SpinEdit1.Value);<br/>end;<br/>///////End FloatToTextFmt<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToFloat(const S: string): Extended; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成浮点数<br/>说明&nbsp;&nbsp;字符串非浮点数表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子&nbsp;&nbsp;var E: Extended; begin E := StrToFloat(Edit1.Text); end;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToFloatDef(const S: string; const Default: Extended): Extended; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成浮点数<br/>说明&nbsp;&nbsp;字符串非浮点数表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子&nbsp;&nbsp;var E: Extended; begin E := StrToFloatDef(Edit1.Text, 0); end;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function TryStrToFloat(const S: string; out Value: Single): Boolean; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function TryStrToFloat(const S: string; out Value: Double): Boolean; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成浮点数Value是否成功<br/>说明&nbsp;&nbsp;字符串非浮点数表达时返回False并且Value将输出为不确定的值<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子<br/>///////Begin TryStrToFloat<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;E: Extended;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToFloat(Edit1.Text, E);<br/>&nbsp;&nbsp;Edit2.Text := FormatFloat(&#39;&#39;, E);<br/>end;<br/>///////End TryStrToFloat<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToCurr(const S: string): Currency; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成货币数<br/>说明&nbsp;&nbsp;字符串非货币数表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子&nbsp;&nbsp;var C: Currency; begin C := StrToCurr(Edit1.Text); end;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToCurrDef(const S: string; const Default: Currency): Currency; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成货币数<br/>说明&nbsp;&nbsp;字符串非货币数表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子&nbsp;&nbsp;var C: Currency; begin C := StrToCurrDef(Edit1.Text, 0); end;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToCurr(const S: string; out Value: Currency): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成货币数Value是否成功<br/>说明&nbsp;&nbsp;字符串非货币数表达时返回False并且Value将输出为不确定的值<br/>参考&nbsp;&nbsp;function SysUtils.TextToFloat<br/>例子<br/>///////Begin TryStrToCurr<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;C: Currency;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToCurr(Edit1.Text, C);<br/>&nbsp;&nbsp;Edit2.Text := FormatCurr(&#39;&#39;, C);<br/>end;<br/>///////End TryStrToCurr<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TextToFloat(Buffer: PChar; var Value; ValueType: TFloatValue): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Buffer转换成无类型变量Value<br/>说明&nbsp;&nbsp;ValueType指定无类型参数Value的类型<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin TextToFloat<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;E: Extended;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TextToFloat(PChar(Edit1.Text), E,<br/>&nbsp;&nbsp;&nbsp;&nbsp;fvExtended);<br/>&nbsp;&nbsp;Edit2.Text := FormatFloat(&#39;&#39;, E);<br/>end;<br/>///////End TextToFloat<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;将浮点数转换成浮点结构类型并返回到Result<br/>说明&nbsp;&nbsp;ValueType指定类型recision指定精度;Decimals指定小数<br/>参考&nbsp;&nbsp;type SysUtils.TFloatRec<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回日期时间类型转换成时间结构类型<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;type SysUtils.TTimeStamp<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回时间结构类型转换成日期时间类型<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;type SysUtils.TTimeStamp<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function MSecsToTimeStamp(MSecs: Comp): TTimeStamp; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回微妙转换成时间结构类型<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;type SysUtils.TTimeStamp<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回时间结构类型转换成微妙<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;type SysUtils.TTimeStamp<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function EncodeDate(Year, Month, Day: Word): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回合并年、月、日得到的日期<br/>说明&nbsp;&nbsp;当出现非法组合时将触发异常<br/>参考&nbsp;&nbsp;function SysUtils.TryEncodeDate<br/>例子&nbsp;&nbsp;Edit1.Text := DateToStr(EncodeDate(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回合并时、分、秒、微秒得到的时间<br/>说明&nbsp;&nbsp;当出现非法组合时将触发异常<br/>参考&nbsp;&nbsp;function SysUtils.TryEncodeTime<br/>例子&nbsp;&nbsp;Edit1.Text := TimeToStr(EncodeTime(SpinEdit1.Value, SpinEdit2.Value, SpinEdit3.Value, SpinEdit4.Value));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryEncodeDate(Year, Month, Day: Word; out Date: TDateTime): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回合并年、月、日得到的日期是否成功<br/>说明&nbsp;&nbsp;当出现非法组合时将返回False并且Date输出为0<br/>参考&nbsp;&nbsp;function SysUtils.IsLeapYear<br/>例子<br/>///////Begin TryEncodeDate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDate: TDate;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryEncodeDate(SpinEdit1.Value, SpinEdit2.Value,<br/>&nbsp;&nbsp;&nbsp;&nbsp;SpinEdit3.Value, TDateTime(vDate));<br/>&nbsp;&nbsp;Edit1.Text := DateToStr(vDate);<br/>end;<br/>///////End TryEncodeDate<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回合并时、分、秒、微秒得到的时间是否成功<br/>说明&nbsp;&nbsp;当出现非法组合时将返回False并且Time输出为0<br/>参考&nbsp;&nbsp;const SysUtils.MSecsPerDay<br/>例子<br/>///////Begin TryEncodeTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vTime: TTime;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryEncodeTime(SpinEdit1.Value, SpinEdit2.Value,<br/>&nbsp;&nbsp;&nbsp;&nbsp;SpinEdit3.Value, SpinEdit3.Value, TDateTime(vTime));<br/>&nbsp;&nbsp;Edit1.Text := TimeToStr(vTime);<br/>end;<br/>///////End TryEncodeTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word); $[SysUtils.pas<br/>功能&nbsp;&nbsp;分解日期为年、月、日<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.DecodeDateFully<br/>例子<br/>///////Begin DecodeDate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;Year, Month, Day: Word;<br/>begin<br/>&nbsp;&nbsp;DecodeDate(Date, Year, Month, Day);<br/>&nbsp;&nbsp;SpinEdit1.Value := Year;<br/>&nbsp;&nbsp;SpinEdit2.Value := Month;<br/>&nbsp;&nbsp;SpinEdit3.Value := Day;<br/>end;<br/>///////End DecodeDate<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;分解日期为年、月、日、星期<br/>说明&nbsp;&nbsp;[DOWay Of Week]<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToTimeStamp<br/>例子<br/>///////Begin DecodeDateFully<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;Year, Month, Day, DOW: Word;<br/>begin<br/>&nbsp;&nbsp;DecodeDateFully(Date, Year, Month, Day, DOW);<br/>&nbsp;&nbsp;SpinEdit1.Value := Year;<br/>&nbsp;&nbsp;SpinEdit2.Value := Month;<br/>&nbsp;&nbsp;SpinEdit3.Value := Day;<br/>&nbsp;&nbsp;SpinEdit4.Value := DOW;<br/>end;<br/>///////End DecodeDateFully<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function InternalDecodeDate(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;&lt;NULL&gt;<br/>说明&nbsp;&nbsp;Kylix函数<br/>参考&nbsp;&nbsp;function SysUtils.DecodeDateFully<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word); $[SysUtils.pas<br/>功能&nbsp;&nbsp;分解时间为时、分、秒、微妙<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToTimeStamp<br/>例子<br/>///////Begin DecodeTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;Hour, Min, Sec, MSec: Word;<br/>begin<br/>&nbsp;&nbsp;DecodeTime(Time, Hour, Min, Sec, MSec);<br/>&nbsp;&nbsp;SpinEdit1.Value := Hour;<br/>&nbsp;&nbsp;SpinEdit2.Value := Min;<br/>&nbsp;&nbsp;SpinEdit3.Value := Sec;<br/>&nbsp;&nbsp;SpinEdit4.Value := MSec;<br/>end;<br/>///////End DecodeTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime); $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回日期时间类型转换成系统时间类型<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.DecodeDateFully;function SysUtils.DecodeTime<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回系统时间类型转换成日期时间类型<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function SysUtils.EncodeDate;function SysUtils.EncodeTime<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DayOfWeek(const DateTime: TDateTime): Word; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回日期时间DateTime所在的星期<br/>说明&nbsp;&nbsp;1(星期天),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToTimeStamp<br/>例子&nbsp;&nbsp;<br/>///////Begin DayOfWeek<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>const<br/>&nbsp;&nbsp;cWeekCn: array[1..7] of string =<br/>(&#39;星期天&#39;, &#39;星期一&#39;, &#39;星期二&#39;, &#39;星期三&#39;, &#39;星期四&#39;, &#39;星期五&#39;, &#39;星期六&#39;);<br/>begin<br/>&nbsp;&nbsp;Edit1.Text := cWeekCn[DayOfWeek(Now)];<br/>end;<br/>///////End DayOfWeek<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Date: TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前日期<br/>说明&nbsp;&nbsp;Date - Int(Date)=0;<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToString<br/>例子&nbsp;&nbsp;Edit1.Text := DateToStr(Date);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Time: TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前时间<br/>说明&nbsp;&nbsp;Time - Frac(Time)=0;<br/>参考&nbsp;&nbsp;function Windows.GetLocalTime;function SysUtils.EncodeTime<br/>例子&nbsp;&nbsp;Edit1.Text := TimeToStr(Time);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Now: TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前日期时间<br/>说明&nbsp;&nbsp;Date + Time=Now<br/>参考&nbsp;&nbsp;function Windows.GetLocalTime;function SysUtils.EncodeDate;function SysUtils.EncodeTime<br/>例子&nbsp;&nbsp;Edit1.Text := DateTimeToStr(Now);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function CurrentYear: Word; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前年份<br/>说明&nbsp;&nbsp;&lt;NULL&gt;<br/>参考&nbsp;&nbsp;function Windows.GetLocalTime<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CurrentYear;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回增加月份给日期<br/>说明&nbsp;&nbsp;NumberOfMonths为负数时则减月份<br/>参考&nbsp;&nbsp;procedure SysUtils.DecodeDate;procedure SysUtils.IncAMonth;function SysUtils.EncodeDate;procedure SysUtils.ReplaceTime<br/>例子&nbsp;&nbsp;DateTimePicker1.Date := IncMonth(Date, SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1); $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回增加月份给年月日<br/>说明&nbsp;&nbsp;NumberOfMonths为负数时则减月份<br/>参考&nbsp;&nbsp;procedure System.Inc<br/>例子<br/>///////Begin IncAMonth<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vYear, vMonth, vDay: Word;<br/>begin<br/>&nbsp;&nbsp;DecodeDate(Date, vYear, vMonth, vDay);<br/>&nbsp;&nbsp;IncAMonth(vYear, vMonth, vDay, SpinEdit1.Value);<br/>&nbsp;&nbsp;DateTimePicker1.Date := EncodeDate(vYear, vMonth, vDay);<br/>end;<br/>///////End IncAMonth<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime); $[SysUtils.pas<br/>功能&nbsp;&nbsp;用时间NewTime替换日期时间DateTime的时间部分<br/>说明&nbsp;&nbsp;Int(DateTime) + Frac(NewTime)<br/>参考&nbsp;&nbsp;function System.Trunc;function System.Abs;function System.Frac<br/>例子<br/>///////Begin ReplaceTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDateTime: TDateTime;<br/>begin<br/>&nbsp;&nbsp;vDateTime := Now;<br/>&nbsp;&nbsp;ReplaceTime(vDateTime, DateTimePicker1.Time);<br/>&nbsp;&nbsp;Edit1.Text := DateTimeToStr(vDateTime);<br/>end;<br/>///////End ReplaceTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime); $[SysUtils.pas<br/>功能&nbsp;&nbsp;用日期NewDate替换日期时间DateTime的日期部分<br/>说明&nbsp;&nbsp;Int(NewTime) + Frac(DateTime)<br/>参考&nbsp;&nbsp;procedure SysUtils.ReplaceTime<br/>例子<br/>///////Begin ReplaceDate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vDateTime: TDateTime;<br/>begin<br/>&nbsp;&nbsp;vDateTime := Now;<br/>&nbsp;&nbsp;ReplaceDate(vDateTime, DateTimePicker1.Date);<br/>&nbsp;&nbsp;Edit1.Text := DateTimeToStr(vDateTime);<br/>end;<br/>///////End ReplaceDate<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IsLeapYear(Year: Word): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回年份Year是否是闰年<br/>说明&nbsp;&nbsp;(Year mod 4 = 0) and ((Year mod 100 &lt;&gt; 0) o&#114; (Year mod 400 = 0))<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;CheckBox1.Checked := IsLeapYear(SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DateToStr(const DateTime: TDateTime): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回日期DateTime转换成字符串<br/>说明&nbsp;&nbsp;转换格式由系统变量ShortDateFormat控制<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToString;var SysUtils.ShortDateFormat<br/>例子&nbsp;&nbsp;Edit1.Text := DateToStr(Date);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回时间DateTime转换成字符串<br/>说明&nbsp;&nbsp;转换格式由系统变量LongTimeFormat控制<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToString;var SysUtils.LongTimeFormat<br/>例子&nbsp;&nbsp;Edit1.Text := TimeToStr(Date);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DateTimeToStr(const DateTime: TDateTime): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回日期时间DateTime转换成字符串<br/>说明&nbsp;&nbsp;转换格式由系统变量ShortDateFormat和LongTimeFormat控制<br/>参考&nbsp;&nbsp;function SysUtils.DateTimeToString<br/>例子&nbsp;&nbsp;Edit1.Text := DateTimeToStr(Now);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToDate(const S: string): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期<br/>说明&nbsp;&nbsp;字符非日期表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToDate<br/>例子&nbsp;&nbsp;DateTimePicker1.Date := StrToDate(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToDateDef(const S: string; const Default: TDateTime): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成日期<br/>说明&nbsp;&nbsp;字符非日期表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToDate<br/>例子&nbsp;&nbsp;DateTimePicker1.Date := StrToDateDef(Edit1.Text, Date);<br/>━━━━━━━━━━━━━━━━━━━━━]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/delphi/20091211_delphi_function2.htm</link>
			<title><![CDATA[Delphi函数大全2]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Delphi编程]]></category>
			<pubDate>Fri,11 Dec 2009 13:10:50 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=457</guid>
		<description><![CDATA[首部&nbsp;&nbsp;function FileGetDate(Handle: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件的修改时间<br/>说明&nbsp;&nbsp;读取失败则返回-1<br/>参考&nbsp;&nbsp;function Windows.GetFileTime<br/>例子<br/>///////Begin FileGetDate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;I := FileOpen(Edit1.Text, fmOpenRead);<br/>&nbsp;&nbsp;if I &lt; 0 then Exit;<br/>&nbsp;&nbsp;SpinEdit1.Value := FileGetDate(I);<br/>&nbsp;&nbsp;Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));<br/>&nbsp;&nbsp;FileClose(I);<br/>end;<br/>///////End FileGetDate<br/>━━━━━━━━━━━━━━━━━━━━━ <br/>首部&nbsp;&nbsp;function FileSetDate(const FileName: string; Age: Integer): Integer; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回设置文件的修改时间<br/>说明&nbsp;&nbsp;修改成功则返回0<br/>参考&nbsp;&nbsp;function Windows.SetFileTime<br/>例子&nbsp;&nbsp;SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text)));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function FileGetAttr(const FileName: string): Integer; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件的属性<br/>说明&nbsp;&nbsp;读取失败则返回$FFFFFFFF<br/>参考&nbsp;&nbsp;function Windows.GetFileAttributes<br/>例子&nbsp;&nbsp;SpinEdit1.Value := FileGetAttr(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileSetAttr(const FileName: string; Attr: Integer): Integer; platform; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回设置文件的属性<br/>说明&nbsp;&nbsp;设置成功则返回0<br/>参考&nbsp;&nbsp;function Windows.SetFileAttributes<br/>例子&nbsp;&nbsp;SpinEdit1.Value := FileSetAttr(Edit1.Text, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileIsReadOnly(const FileName: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件是否只读<br/>说明&nbsp;&nbsp;文件不存在看作只读<br/>参考&nbsp;&nbsp;function Windows.GetFileAttributes<br/>例子&nbsp;&nbsp;CheckBox1.Checked := FileIsReadOnly(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回设置文件是否只读是否成功<br/>说明&nbsp;&nbsp;文件不存在则返回False<br/>参考&nbsp;&nbsp;function Windows.GetFileAttributes;function Windows.SetFileAttributes<br/>例子&nbsp;&nbsp;CheckBox1.Checked := FileSetReadOnly(Edit1.Text, CheckBox2.Checked);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function Del&#101;teFile(const FileName: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回删除文件是否成功<br/>说明&nbsp;&nbsp;文件不存在则返回False<br/>参考&nbsp;&nbsp;function Windows.Del&#101;teFile<br/>例子&nbsp;&nbsp;CheckBox1.Checked := Del&#101;teFile(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function RenameFile(const OldName, NewName: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回重命名文件是否成功<br/>说明&nbsp;&nbsp;文件不存在则返回False<br/>参考&nbsp;&nbsp;function Windows.MoveFile<br/>例子&nbsp;&nbsp;CheckBox1.Checked := RenameFile(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ChangeFileExt(const FileName, Extension: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回改变扩展名后的文件名<br/>说明&nbsp;&nbsp;[注意]扩展名Extension前要加点;ChangeFileExt(&#39;a.jpg&#39;, &#39;bmp&#39;)=&#39;abmp&#39;<br/>参考&nbsp;&nbsp;function SysUtils.LastDelimiter;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ChangeFileExt(Edit2.Text, Edit3.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractFilePath(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名所在的路径<br/>说明&nbsp;&nbsp;ExtractFilePath(&#39;C:\&#39;)=&#39;C:\&#39;;ExtractFilePath(&#39;\\Server\Tool\Calc.exe&#39;)=&#39;\\Server\Tool\&#39;<br/>参考&nbsp;&nbsp;function SysUtils.LastDelimiter;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractFilePath(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractFileDir(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名所在的目录<br/>说明&nbsp;&nbsp;ExtractFileDir(&#39;C:\&#39;)=&#39;C:\&#39;;ExtractFileDir(&#39;\\Server\Tool\Calc.exe&#39;)=&#39;\\Server\Tool&#39;<br/>参考&nbsp;&nbsp;function SysUtils.LastDelimiter;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractFileDir(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名所在驱动器<br/>说明&nbsp;&nbsp;ExtractFileDrive(&#39;C:\&#39;)=&#39;C:&#39;;ExtractFileDrive(&#39;\\Server\Tool\Calc.exe&#39;)=&#39;\\Server\Tool&#39;<br/>参考&nbsp;&nbsp;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractFileDrive(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractFileName(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回绝对文件名<br/>说明&nbsp;&nbsp;ExtractFileName(&#39;C:\&#39;)=&#39;&#39;;ExtractFileName(&#39;\\Server\Tool\Calc.exe&#39;)=&#39;Calc.exe&#39;<br/>参考&nbsp;&nbsp;function SysUtils.LastDelimiter;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractFileName(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractFileExt(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名的扩展名<br/>说明&nbsp;&nbsp;ExtractFileExt(&#39;C:\&#39;)=&#39;&#39;;ExtractFileExt(&#39;\\Server\Tool\Calc.exe&#39;)=&#39;.exe&#39;<br/>参考&nbsp;&nbsp;function SysUtils.LastDelimiter;function System.Copy<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractFileExt(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExpandFileName(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名的完整表示<br/>说明&nbsp;&nbsp;ExpandFileName(&#39;hello.pas&#39;)=&#39;C:\Program Files\Borland\Delphi6\Projects\hello.pas&#39;<br/>参考&nbsp;&nbsp;function Windows.GetFullPathName<br/>例子&nbsp;&nbsp;Edit1.Text := ExpandFileName(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;分情况返回文件名的完整表示<br/>说明&nbsp;&nbsp;type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous);<br/>参考&nbsp;&nbsp;function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst<br/>例子<br/>///////Begin ExpandFileNameCase<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vFilenameCaseMatch: TFilenameCaseMatch;<br/>begin<br/>&nbsp;&nbsp;Edit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch);<br/>&nbsp;&nbsp;SpinEdit1.Value := o&#114;d(vFilenameCaseMatch);<br/>end;<br/>///////End ExpandFileNameCase<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回LINUX文件名的完整表示<br/>说明&nbsp;&nbsp;ExpandUNCFileName(&#39;C:/&#39;)=&#39;C:\&#39;<br/>参考&nbsp;&nbsp;function SysUtils.ExpandFileName<br/>例子&nbsp;&nbsp;Edit1.Text := ExpandUNCFileName(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractRelativePath(const BaseName, DestName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回参数的相对路径<br/>说明&nbsp;&nbsp;ExtractRelativePath(&#39;C:\Windows\&#39;, &#39;C:\Windows\System&#39;)=&#39;System&#39;<br/>参考&nbsp;&nbsp;function SysUtils.SameFilename;function SysUtils.ExtractFileDrive<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractRelativePath(Edit2.Text, Edit3.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ExtractShortPathName(const FileName: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回参数的DOS路径<br/>说明&nbsp;&nbsp;ExtractShortPathName(&#39;C:\Program Files\Borland&#39;)=&#39;C:\PROGRA~1\BORLAND&#39;<br/>参考&nbsp;&nbsp;function Windows.GetShortPathName<br/>例子&nbsp;&nbsp;Edit1.Text := ExtractShortPathName(Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileSearch(const Name, DirList: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回目录列表中DirList搜索的第一个结果<br/>说明&nbsp;&nbsp;FileSearch(&#39;Calc.exe&#39;, &#39;d:\winxp\system32;c:\windows&#39;)=&#39;d:\winxp\system32\calc.exe&#39;<br/>参考&nbsp;&nbsp;function SysUtils.FileExists;function SysUtils.AnsiLastChar<br/>例子&nbsp;&nbsp;Edit1.Text := FileSearch(Edit2.Text, Edit3.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DiskFree(Drive: Byte): Int64; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回驱动器可用空间<br/>说明&nbsp;&nbsp;参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1<br/>参考&nbsp;&nbsp;function Windows.GetDiskFreeSpaceExA<br/>例子&nbsp;&nbsp;SpinEdit1.Value := DiskFree(SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DiskSize(Drive: Byte): Int64; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回驱动器全?*占?br /&gt; 说明&nbsp;&nbsp;参数Drive为0表示当前路径,为1表示=A驱,为2表示=B驱...;获取失败则返回-1<br/>参考&nbsp;&nbsp;function Windows.GetDiskFreeSpaceExA<br/>例子&nbsp;&nbsp;SpinEdit1.Value := DiskSize(SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileDateToDateTime(FileDate: Integer): TDateTime; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将文件日期时间类型转换日期时间类型<br/>说明&nbsp;&nbsp;FileDate非法是将触发异常<br/>参考&nbsp;&nbsp;function SysUtils.EncodeDate;function SysUtils.EncodeTime<br/>例子&nbsp;&nbsp;&lt;参见FileAge&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function DateTimeToFileDate(DateTime: TDateTime): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将日期时间类型转换文件日期时间类型<br/>说明&nbsp;&nbsp;年份在1980到2107之外则返回0<br/>参考&nbsp;&nbsp;function SysUtils.DecodeDate;function SysUtils.DecodeTime<br/>例子&nbsp;&nbsp;&lt;参见FileSetDate&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function GetCurrentDir: string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回当前操作目录<br/>说明&nbsp;&nbsp;[注意]调用文件对话框会改变当前操作目录<br/>参考&nbsp;&nbsp;function System.GetDir<br/>例子&nbsp;&nbsp;Edit1.Text := GetCurrentDir;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function SetCurrentDir(const Dir: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回设置当前操作目录是否成功<br/>说明&nbsp;&nbsp;[注意]调用文件对话框会改变当前操作目录<br/>参考&nbsp;&nbsp;function Windows.SetCurrentDirectory<br/>例子&nbsp;&nbsp;CheckBox1.Checked := SetCurrentDir(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function Cr&#101;ateDir(const Dir: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回创建目录是否成功<br/>说明&nbsp;&nbsp;不支持多级目录;已经存在则返回False<br/>参考&nbsp;&nbsp;function Windows.Cr&#101;ateDirectory<br/>例子&nbsp;&nbsp;CheckBox1.Checked := Cr&#101;ateDir(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function RemoveDir(const Dir: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回删除目录是否成功<br/>说明&nbsp;&nbsp;必须是空目录<br/>参考&nbsp;&nbsp;function Windows.RemoveDirectory<br/>例子&nbsp;&nbsp;CheckBox1.Checked := RemoveDir(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLen(const Str: PChar): Cardinal; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串的长度<br/>说明&nbsp;&nbsp;当指针字符串Str为nil时将触发异常<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit2.Value := StrLen(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrEnd(const Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串的结尾<br/>说明&nbsp;&nbsp;当指针字符串Str为nil时将触发异常<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit2.Text := StrEnd(PChar(Edit1.Text)) - SpinEdit1.Value;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrMove(Dest: PChar; const Source: PChar; Count: Cardinal): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Source指定内存数量Count复制覆盖到指针字符串Dest中<br/>说明&nbsp;&nbsp;Dest没有分配资源将触发异常s<br/>参考&nbsp;&nbsp;function System.Move<br/>例子<br/>///////Begin StrMove<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: PChar;<br/>begin<br/>&nbsp;&nbsp;vBuffer := &#39;0123456789&#39;;<br/>&nbsp;&nbsp;StrMove(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);<br/>&nbsp;&nbsp;Edit2.Text := vBuffer;<br/>end;<br/>///////End StrMove<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrCopy(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Source复制到指针字符串Dest中<br/>说明&nbsp;&nbsp;Dest应已经分配足够的空间非则将触发异常<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin StrCopy<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: PChar;<br/>begin<br/>&nbsp;&nbsp;GetMem(vBuffer, Length(Edit1.Text) + 1);<br/>&nbsp;&nbsp;StrCopy(vBuffer, PChar(Edit1.Text));<br/>&nbsp;&nbsp;Edit2.Text := vBuffer;<br/>&nbsp;&nbsp;FreeMem(vBuffer);<br/>end;<br/>///////End StrCopy<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrECopy(DestChar; const Source: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Source复制到指针字符串Dest中的结尾<br/>说明&nbsp;&nbsp;可以连接指针字符串<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin StrECopy<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrECopy(StrECopy(vBuffer, PChar(Edit1.Text)), PChar(Edit2.Text));<br/>&nbsp;&nbsp;Edit3.Text := vBuffer;<br/>end;<br/>///////End StrECopy<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Source指定长度MaxLen复制到指针字符串Dest中<br/>说明&nbsp;&nbsp;Dest应已经分配足够的空间非则将触发异常<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin StrLCopy<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrLCopy(vBuffer, PChar(Edit1.Text), SpinEdit1.Value);<br/>&nbsp;&nbsp;Edit2.Text := vBuffer;<br/>end;<br/>///////End StrLCopy<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrPCopy(Dest: PChar; const Source: string): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将指针字符串Source复制到指针字符串Dest中<br/>说明&nbsp;&nbsp;StrLCopy(Dest, PChar(Source), Length(Source))<br/>参考&nbsp;&nbsp;function SysUtils.StrLCopy<br/>例子<br/>///////Begin StrPCopy<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrPCopy(vBuffer, PChar(Edit1.Text));<br/>&nbsp;&nbsp;Edit2.Text := vBuffer;<br/>end;<br/>///////End StrPCopy<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将字符串Source指定长度MaxLen复制到指针字符串Dest中<br/>说明&nbsp;&nbsp;StrLCopy(Dest, PChar(Source), MaxLen)<br/>参考&nbsp;&nbsp;function SysUtils.StrLCopy<br/>例子<br/>///////Begin StrPLCopy<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrPLCopy(vBuffer, Edit1.Text, SpinEdit1.Value);<br/>&nbsp;&nbsp;Edit2.Text := vBuffer;<br/>end;<br/>///////End StrPLCopy<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrCat(Dest: PChar; const Source: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回连接指针字符串Dest和指针字符串Source<br/>说明&nbsp;&nbsp;StrCopy(StrEnd(Dest), Source)<br/>参考&nbsp;&nbsp;function SysUntils.StrCopy<br/>例子<br/>///////Begin StrCat<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrPCopy(vBuffer, Edit1.Text);<br/>&nbsp;&nbsp;StrCat(vBuffer, PChar(Edit2.Text));<br/>&nbsp;&nbsp;Edit3.Text := vBuffer;<br/>end;<br/>///////End StrCat<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回连接指针字符串Dest和指针字符串Source<br/>说明&nbsp;&nbsp;[注意]MaxLen指定连接后的最大长度不是指针字符串Source的长度<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子<br/>///////Begin StrLCat<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vBuffer: array[0..255] of Char;<br/>begin<br/>&nbsp;&nbsp;StrPCopy(vBuffer, Edit1.Text);<br/>&nbsp;&nbsp;StrLCat(vBuffer, PChar(Edit2.Text), SpinEdit1.Value);<br/>&nbsp;&nbsp;Edit3.Text := vBuffer;<br/>end;<br/>///////End StrLCat<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写;[注意]返回第一个出现不同字符的差异<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrComp(PChar(Edit1.Text), PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrIComp(const Str1, Str2: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrIComp(PChar(Edit1.Text), PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串指定长度<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写;Length(长度);[注意]返回第一个出现不同字符的差异<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLIComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串指定长度<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写;[注意]返回第一个出现不同字符的差异<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回在指针字符串Str搜索字符Chr第一个出现的地址<br/>说明&nbsp;&nbsp;没有找到则返回空指针<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit2.Text := StrScan(PChar(Edit1.Text), &#39;*&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrRScan(const Str: PChar; Chr: Char): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回在指针字符串Str搜索字符Chr最后一个出现的地址<br/>说明&nbsp;&nbsp;没有找到则返回空指针<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit2.Text := StrRScan(PChar(Edit1.Text), &#39;*&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrPos(const Str1, Str2: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串Str2在Str1中第一个出现的地址<br/>说明&nbsp;&nbsp;没有找到则返回空指针;StrPos(&#39;12345&#39;, &#39;3&#39;) = &#39;345&#39;<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit3.Text := StrPos(PChar(Edit1.Text), PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function StrUpper(Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串Str大写<br/>说明&nbsp;&nbsp;非小写字符不处理<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit1.Text := StrUpper(PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrLower(Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串Str小写<br/>说明&nbsp;&nbsp;非大写字符不处理<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit1.Text := StrLower(PChar(Edit2.Text)); <br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function StrPas(const Str: PChar): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串Str转换成字符串<br/>说明&nbsp;&nbsp;也可以直接赋值<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;Edit1.Text := StrPas(PChar(Edit2.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrAlloc(Size: Cardinal): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回分配指定空间的内存资源给指针字符串<br/>说明&nbsp;&nbsp;空间的大小也将保存;用StrDispose才能全部释放<br/>参考&nbsp;&nbsp;function System.GetMem<br/>例子<br/>///////Begin StrAlloc<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;P: PChar;<br/>begin<br/>&nbsp;&nbsp;P := StrAlloc(SpinEdit1.Value);<br/>&nbsp;&nbsp;ShowMessage(IntToStr(StrLen(P)));<br/>&nbsp;&nbsp;Dec(P, SizeOf(Cardinal));<br/>&nbsp;&nbsp;ShowMessage(IntToStr(Cardinal(Pointer(P)^)));<br/>&nbsp;&nbsp;Inc(P, SizeOf(Cardinal));<br/>&nbsp;&nbsp;StrDispose(P);<br/>end;<br/>///////End StrAlloc<br/><br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrBufSize(const Str: PChar): Cardinal; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回通过函数StrAlloc分配的缓冲区大小<br/>说明&nbsp;&nbsp;出现异常情况则返回不可预知的结果<br/>参考&nbsp;&nbsp;function System.SizeOf<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrBufSize(StrAlloc(SpinEdit2.Value));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrNew(const Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回复制一个新的指针字符串<br/>说明&nbsp;&nbsp;如果Str为nil则返回nil<br/>参考&nbsp;&nbsp;function SysUtils.StrLen;function SysUtils.StrMove;function SysUtils.StrAlloc<br/>例子<br/>///////Begin StrNew,StrDispose<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;P: PChar;<br/>begin<br/>&nbsp;&nbsp;P := StrNew(PChar(Edit1.Text));<br/>&nbsp;&nbsp;ShowMessage(P);<br/>&nbsp;&nbsp;StrDispose(P);<br/>end;<br/>///////End StrNew,StrDispose<br/>━━━━━━━━━━━━━━━━━━━━━<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/delphi/20091211_delphi_function1.htm</link>
			<title><![CDATA[Delphi函数大全1]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Delphi编程]]></category>
			<pubDate>Fri,11 Dec 2009 13:07:31 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=456</guid>
		<description><![CDATA[转载Delphi函数大全,与大家共享!<br/><br/>首部&nbsp;&nbsp;function Languages: TLanguages; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回系统语言对象<br/>说明&nbsp;&nbsp;通过此函数可以得到系统的语言环境<br/>参考&nbsp;&nbsp;type SysUtils.TLanguages<br/>例子&nbsp;&nbsp;<br/>///////Begin Languages<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;Memo1.Clear;<br/>&nbsp;&nbsp;for I := 0 to Languages.Count - 1 do<br/>&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add(Languages.Name[I]);<br/>end;<br/>///////End Languages<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AllocMem(Size: Cardinal): Pointer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回一个指定大小Size的内存块<br/>说明&nbsp;&nbsp;配合用FreeMem释放资源<br/>参考&nbsp;&nbsp;function System.GetMem<br/>例子&nbsp;&nbsp;<br/>///////Begin AllocMem<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: PInteger;<br/>begin<br/>&nbsp;&nbsp;I := AllocMem(SizeOf(Integer));<br/>&nbsp;&nbsp;I^ := 100;<br/>&nbsp;&nbsp;Edit1.Text := IntToStr(I^);<br/>&nbsp;&nbsp;FreeMem(I, SizeOf(Integer));<br/>end;<br/>///////End AllocMem<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure AddExitProc(Proc: TProcedure); $[SysUtils.pas<br/>功能&nbsp;&nbsp;添加一个退出处理的过程<br/>说明&nbsp;&nbsp;建议用finalization部分取代<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;<br/>////////Begin AddExitProc<br/>uses<br/>&nbsp;&nbsp;ShellApi;<br/><br/>procedure ExitProc;<br/>begin<br/>&nbsp;&nbsp;ShellExecute(0, &#39;Open&#39;, &#39;Calc.exe&#39;, nil, nil, SW_SHOW);<br/>end;<br/><br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;AddExitProc(ExitProc);<br/>end;<br/>////////End AddExitProc<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function NewStr(const S: string): PString; deprecated; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回一个新的字符串指针地址<br/>说明&nbsp;&nbsp;字符串S为空时返回NullStr<br/>参考&nbsp;&nbsp;procedure System.New<br/>例子&nbsp;&nbsp;<br/>////////Begin NewStr,DisposeStr<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;P: PString;<br/>begin<br/>&nbsp;&nbsp;P := NewStr(Edit1.Text);<br/>&nbsp;&nbsp;Edit2.Text := P^;<br/>&nbsp;&nbsp;DisposeStr(P);<br/>end;<br/>////////End NewStr,DisposeStr<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure DisposeStr(P: PString); deprecated; $[SysUtils.pas<br/>功能&nbsp;&nbsp;释放字符串指针P资源<br/>说明&nbsp;&nbsp;配合函数NewStr使用<br/>参考&nbsp;&nbsp;procedure System.Dispose<br/>例子&nbsp;&nbsp;&lt;如上参见,如下参见&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure AssignStr(var P: PString; const S: string); deprecated; $[SysUtils.pas<br/>功能&nbsp;&nbsp;将字符串S更新给字符串指针P<br/>说明&nbsp;&nbsp;更新值时会释放以前字符串指针的资源<br/>参考&nbsp;&nbsp;function SysUtils.NewStr;function SysUtils.DisposeStr<br/>例子&nbsp;&nbsp;<br/>////////Begin AssignStr<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;P: PString;<br/>begin<br/>&nbsp;&nbsp;P := nil;<br/>&nbsp;&nbsp;AssignStr(P, Edit1.Text);<br/>&nbsp;&nbsp;Edit2.Text := P^;<br/>&nbsp;&nbsp;DisposeStr(P);<br/>end;<br/>////////End AssignStr<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;procedure AppendStr(var Dest: string; const S: string); deprecated; $[SysUtils.pas<br/>功能&nbsp;&nbsp;在字符串Dest后追加字符串S<br/>说明&nbsp;&nbsp;相当于Dest := Dest + S;Delphi6已经不建议使用<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;<br/>////////Begin AppendStr<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;S: string;<br/>begin<br/>&nbsp;&nbsp;S := Edit2.Text;<br/>&nbsp;&nbsp;AppendStr(S, Edit1.Text);<br/>&nbsp;&nbsp;Edit2.Text := S;<br/>end;<br/>////////End AppendStr<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function UpperCase(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S的大写形式<br/>说明&nbsp;&nbsp;非小写字符不处理<br/>参考&nbsp;&nbsp;procedure System.SetLength<br/>例子&nbsp;&nbsp;Edit2.Text := UpperCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function LowerCase(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S的小写形式<br/>说明&nbsp;&nbsp;非大写字符不处理<br/>参考&nbsp;&nbsp;procedure System.SetLength<br/>例子&nbsp;&nbsp;Edit2.Text := LowerCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function CompareStr(const S1, S2: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个字符<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CompareStr(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function CompareMem(P1, P2: Pointer; Length: Integer): Boolean; assembler; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个内存指针<br/>说明&nbsp;&nbsp;CompareMem(PChar(&#39;12a&#39;), PChar(&#39;12c&#39;), 2)=True;CompareMem(PChar(&#39;12a&#39;), PChar(&#39;12c&#39;), 3)=False<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;CheckBox1.Checked := CompareMem(Self, Form1, 8);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function CompareText(const S1, S2: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个字符串<br/>说明&nbsp;&nbsp;不区分大小写<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;SpinEdit1.Value := CompareText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function SameText(const S1, S2: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个字符串是否相等<br/>说明&nbsp;&nbsp;不区分大小写<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;CheckBox1.Checked := SameText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function AnsiUpperCase(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S的大写形式<br/>说明&nbsp;&nbsp;ANSI(American National Standards Institute)美国国家标准协会;非小写的字符不变<br/>参考&nbsp;&nbsp;function Windows.CharUpperBuff<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiUpperCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiLowerCase(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S的小写形式<br/>说明&nbsp;&nbsp;非大写字符不处理<br/>参考&nbsp;&nbsp;function Windows.CharLowerBuff<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiLowerCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiCompareStr(const S1, S2: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;反回比较两个字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写<br/>参考&nbsp;&nbsp;function Windows.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiCompareStr(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiSameStr(const S1, S2: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个字符串是否相等<br/>说明&nbsp;&nbsp;区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.AnsiCompareStr<br/>例子&nbsp;&nbsp;CheckBox1.Checked := AnsiSameStr(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiCompareText(const S1, S2: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;反回比较两个字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写<br/>参考&nbsp;&nbsp;function Windows.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiCompareText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiSameText(const S1, S2: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个字符串是否相等<br/>说明&nbsp;&nbsp;不区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.AnsiCompareText<br/>例子&nbsp;&nbsp;CheckBox1.Checked := AnsiSameText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写<br/>参考&nbsp;&nbsp;function System.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text))<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrIComp(S1, S2: PChar): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写;Ignore(忽略)<br/>参考&nbsp;&nbsp;function Windows.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiStrIComp(PChar(Edit1.Text), PChar(Edit2.Text))<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrLComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串指定长度<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写;Length(长度)<br/>参考&nbsp;&nbsp;function Windows.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiStrLComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrLIComp(S1, S2: PChar; MaxLen: Cardinal): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个指针字符串指定长度<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写<br/>参考&nbsp;&nbsp;function Windows.CompareString<br/>例子&nbsp;&nbsp;SpinEdit1.Value := AnsiStrLIComp(PChar(Edit1.Text), PChar(Edit2.Text), SpinEdit2.Value)<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrLower(Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串小写形式<br/>说明&nbsp;&nbsp;非大写字符不处理<br/>参考&nbsp;&nbsp;function Windows.CharLower<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiStrLower(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrUpper(Str: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串大写形式<br/>说明&nbsp;&nbsp;非小写字符不处理<br/>参考&nbsp;&nbsp;function Windows.CharUpper<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiStrUpper(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiLastChar(const S: string): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S的最后一个指针字符<br/>说明&nbsp;&nbsp;当字符串S为空串则返回空指针<br/>参考&nbsp;&nbsp;function SysUtils.ByteType<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiLastChar(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiStrLastChar(P: PChar): PChar; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指针字符串P的最后一个指针字符<br/>说明&nbsp;&nbsp;当字符串P为空空指针则返回空指针<br/>参考&nbsp;&nbsp;function SysUtils.ByteType<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiLastChar(PChar(Edit1.Text));<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function WideUpperCase(const S: WideString): WideString; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回双字节字符串的大写形式<br/>说明&nbsp;&nbsp;WideChar双字节字符<br/>参考&nbsp;&nbsp;function Windows.CharUpperBuffW<br/>例子&nbsp;&nbsp;Edit2.Text := WideUpperCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideLowerCase(const S: WideString): WideString; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回双字节字符串的小写形式<br/>说明&nbsp;&nbsp;我怎么就测试不出来呢<br/>参考&nbsp;&nbsp;function Windows.CharLowerBuffW<br/>例子&nbsp;&nbsp;Edit2.Text := WideLowerCase(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideCompareStr(const S1, S2: WideString): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个双字节字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;区分大小写<br/>参考&nbsp;&nbsp;function Windows.CompareStringW<br/>例子&nbsp;&nbsp;SpinEdit1.Value := WideCompareStr(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function WideSameStr(const S1, S2: WideString): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个双字节字符串是否相同<br/>说明&nbsp;&nbsp;区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.WideCompareStr<br/>例子&nbsp;&nbsp;CheckBox1.Checked := WideSameStr(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideCompareText(const S1, S2: WideString): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回比较两个双字节字符串<br/>说明&nbsp;&nbsp;当S1&gt;S2返回值&gt;0;当S1&lt;S2返回值&lt;0;当S1=S2返回值=0;不区分大小写<br/>参考&nbsp;&nbsp;function Windows.CompareStringW<br/>例子&nbsp;&nbsp;SpinEdit1.Value := WideCompareText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function WideSameText(const S1, S2: WideString): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回两个双字节字符串是否相同<br/>说明&nbsp;&nbsp;不区分大小写<br/>参考&nbsp;&nbsp;function SysUtils.WideCompareText<br/>例子&nbsp;&nbsp;CheckBox1.Checked := WideSameText(Edit1.Text, Edit2.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function Trim(const S: string): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function Trim(const S: WideString): WideString; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回除去字符串S左右不可见字符<br/>说明&nbsp;&nbsp;小于#32的字符看作不可见字符<br/>参考&nbsp;&nbsp;function System.Copy<br/>例子&nbsp;&nbsp;Edit2.Text := Trim(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TrimLeft(const S: string): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function TrimLeft(const S: WideString): WideString; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回除去字符串S左边不可见字符<br/>说明&nbsp;&nbsp;小于#32的字符看作不可见字符<br/>参考&nbsp;&nbsp;function System.Copy<br/>例子&nbsp;&nbsp;Edit2.Text := TrimLeft(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TrimRight(const S: string): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function TrimRight(const S: WideString): WideString; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回除去字符串S右边不可见字符<br/>说明&nbsp;&nbsp;小于#32的字符看作不可见字符<br/>参考&nbsp;&nbsp;function System.Copy<br/>例子&nbsp;&nbsp;Edit2.Text := TrimRight(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function QuotedStr(const S: string): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S在pascal中的表现形式<br/>说明&nbsp;&nbsp;单引号中的一个单引号将转成两个<br/>参考&nbsp;&nbsp;procedure System.Ins&#101;rt<br/>例子&nbsp;&nbsp;Edit2.Text := QuotedStr(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S以字符Quote为引号的表现形式<br/>说明&nbsp;&nbsp;AnsiQuotedStr(&#39;hello&#34;world&#39;, &#39;@&#39;)=&#39;@hello&#34;world@&#39;;AnsiQuotedStr(&#39;hello&#34;world&#39;, &#39;&#34;&#39;)=&#39;&#34;hello&#34;&#34;world&#34;&#39;<br/>参考&nbsp;&nbsp;function SysUtils.AnsiStrScan<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiQuotedStr(Edit1.Text, &#39;&#34;&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回以字符Quote为引号的表现形式原形<br/>说明&nbsp;&nbsp;表现形式非法时Src不变否则为空<br/>参考&nbsp;&nbsp;function SysUtils.AnsiStrScan<br/>例子<br/>///////Begin AnsiExtractQuotedStr<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;P: PChar;<br/>begin<br/>&nbsp;&nbsp;P := PChar(Edit1.Text);<br/>&nbsp;&nbsp;Edit2.Text := AnsiExtractQuotedStr(P, &#39;&#34;&#39;);<br/>&nbsp;&nbsp;Edit3.Text := P;<br/>end;<br/>///////End AnsiExtractQuotedStr<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AnsiDequotedStr(const S: string; AQuote: Char): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回以字符AQuote为引号的表现形式原形<br/>说明&nbsp;&nbsp;表现形式非法时则返回S<br/>参考&nbsp;&nbsp;function SysUtils.AnsiExtractQuotedStr<br/>例子&nbsp;&nbsp;Edit2.Text := AnsiDequotedStr(Edit1.Text, &#39;&#34;&#39;);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function AdjustLineBreaks(const S: string; Style: TTextLineBreakStyle = {$IFDEF LINUX} tlbsLF {$ENDIF} {$IFDEF MSWINDOWS} tlbsCRLF {$ENDIF}): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回将给定字符串的行分隔符调整为CR/LF序列<br/>说明&nbsp;&nbsp;AdjustLineBreaks(&#39;1&#39;#13&#39;2&#39;#13)=&#39;1&#39;#13#10&#39;2&#39;#13#10;AdjustLineBreaks(&#39;1&#39;#10&#39;2&#39;#10)=&#39;1&#39;#13#10&#39;2&#39;#13#10<br/>参考&nbsp;&nbsp;function SysUtils.StrNextChar<br/>例子&nbsp;&nbsp;&lt;NULL&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IsValidIdent(const Ident: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串Ident是否是正确的标识符<br/>说明&nbsp;&nbsp;标识符::字母|下划线[字母|下划线|数字]...<br/>参考&nbsp;&nbsp;&lt;NULL&gt;<br/>例子&nbsp;&nbsp;CheckBox1.Checked := IsValidIdent(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IntToStr(Value: Integer): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function IntToStr(Value: Int64): string; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回整数Value转换成字符串<br/>说明&nbsp;&nbsp;Format(&#39;%d&#39;, [Value])<br/>参考&nbsp;&nbsp;function SysUtils.FmtStr<br/>例子&nbsp;&nbsp;Edit2.Text := IntToStr(SpinEdit1.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function IntToHex(Value: Integer; Digits: Integer): string; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function IntToHex(Value: Int64; Digits: Integer): string; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回整数Value转换成十六进制表现结果;Format(&#39;%.*x&#39;, [Digits, Value])<br/>说明&nbsp;&nbsp;参数Digits指定字符最小宽度;最小宽度不足时将用0填充<br/>参考&nbsp;&nbsp;function SysUtils.FmtStr<br/>例子&nbsp;&nbsp;Edit2.Text := IntToHex(SpinEdit1.Value, SpinEdit2.Value);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToInt(const S: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成整数<br/>说明&nbsp;&nbsp;字符串非整数表达时将引起异常<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrToInt(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToIntDef(const S: string; Default: Integer): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成整数<br/>说明&nbsp;&nbsp;字符串非整数表达时则返回默认值Default<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrToIntDef(Edit1.Text, 0);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToInt(const S: string; out Value: Integer): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成整数Value是否成功<br/>说明&nbsp;&nbsp;字符串非整数表达时返回False并且Value将输出为0<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子<br/>///////Begin TryStrToInt<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToInt(Edit1.Text, I);<br/>&nbsp;&nbsp;SpinEdit1.Value := I;<br/>end;<br/>///////End TryStrToInt<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToInt64(const S: string): Int64; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成六十四位整数<br/>说明&nbsp;&nbsp;字符串非六十四位整数表达时将引起异常<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrToInt64(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToInt64Def(const S: string; const Default: Int64): Int64; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成六十四位整数<br/>说明&nbsp;&nbsp;字符串非六十四位整数表达时则返回默认值Default<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子&nbsp;&nbsp;SpinEdit1.Value := StrToInt64Def(Edit1.Text, 0);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToInt64(const S: string; out Value: Int64): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成六十四位整数Value是否成功<br/>说明&nbsp;&nbsp;字符串非六十四位整数表达时返回False并且Value将输出为0<br/>参考&nbsp;&nbsp;procedure System.Val<br/>例子<br/>///////Begin TryStrToInt64<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Int64;<br/>begin<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToInt64(Edit1.Text, I);<br/>&nbsp;&nbsp;SpinEdit1.Value := I;<br/>end;<br/>///////End TryStrToInt64<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToBool(const S: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成逻辑值<br/>说明&nbsp;&nbsp;字符非逻辑表达时将引起异常<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToBool<br/>例子&nbsp;&nbsp;CheckBox1.Checked := StrToBool(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function StrToBoolDef(const S: string; const Default: Boolean): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成逻辑值<br/>说明&nbsp;&nbsp;字符非逻辑表达时则返回默认值Default<br/>参考&nbsp;&nbsp;function SysUtils.TryStrToBool<br/>例子&nbsp;&nbsp;CheckBox1.Checked := StrToBoolDef(Edit1.Text, False);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function TryStrToBool(const S: string; out Value: Boolean): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回字符串S转换成逻辑值Value是否成功<br/>说明&nbsp;&nbsp;[注意]0为假非0为真;不是&#39;True&#39;和&#39;False&#39;;Delphi6 Bug 如下修正<br/>参考&nbsp;&nbsp;function SysUtils.AnsiSameText;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs<br/>例子<br/>///////Begin TryStrToBool<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;B: Boolean;<br/>begin<br/>&nbsp;&nbsp;SetLength(TrueBoolStrs, 2);<br/>&nbsp;&nbsp;SetLength(FalseBoolStrs, 2);<br/>&nbsp;&nbsp;TrueBoolStrs[0] := &#39;True&#39;;<br/>&nbsp;&nbsp;FalseBoolStrs[0] := &#39;False&#39;;<br/>&nbsp;&nbsp;TrueBoolStrs[1] := &#39;Yes&#39;;<br/>&nbsp;&nbsp;FalseBoolStrs[1] := &#39;No&#39;;<br/>&nbsp;&nbsp;CheckBox1.Checked := TryStrToBool(Edit1.Text, B);<br/>&nbsp;&nbsp;CheckBox2.Checked := B;<br/>end;<br/>///////End TryStrToBool<br/>附加<br/>///////Begin TryStrToBool<br/>function TryStrToBool(const S: string; out Value: Boolean): Boolean;<br/>&nbsp;&nbsp;function CompareWith(const aArray: array of string): Boolean;<br/>&nbsp;&nbsp;var<br/>&nbsp;&nbsp;&nbsp;&nbsp;I: Integer;<br/>&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;Result := False;<br/>&nbsp;&nbsp;&nbsp;&nbsp;for I := Low(aArray) to High(aArray) do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if AnsiSameText(S, aArray[I]) then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result := True;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br/>&nbsp;&nbsp;end;<br/>var<br/>&nbsp;&nbsp;LResult: Extended;<br/>begin<br/>&nbsp;&nbsp;Result := TryStrToFloat(S, LResult);<br/>&nbsp;&nbsp;if Result then<br/>&nbsp;&nbsp;&nbsp;&nbsp;Value := LResult &lt;&gt; 0<br/>&nbsp;&nbsp;else<br/>&nbsp;&nbsp;begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;Result := True; //修正处<br/>&nbsp;&nbsp;&nbsp;&nbsp;VerifyBoolStrArray;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if CompareWith(TrueBoolStrs) then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value := True<br/>&nbsp;&nbsp;&nbsp;&nbsp;else if CompareWith(FalseBoolStrs) then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Value := False<br/>&nbsp;&nbsp;&nbsp;&nbsp;else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result := False;<br/>&nbsp;&nbsp;end;<br/>end;<br/>///////End TryStrToBool<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回逻辑值B转换成字符串<br/>说明&nbsp;&nbsp;BoolToStr(False, False)=&#39;0&#39;;BoolToStr(False, True)=&#39;-1&#39;<br/>参考&nbsp;&nbsp;var SysUtils.TrueBoolStrs;var SysUtils.FalseBoolStrs<br/>例子&nbsp;&nbsp;Edit1.Text := BoolToStr(CheckBox1.Checked, CheckBox2.Checked);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function LoadStr(Ident: Integer): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回根据标识Ident的字符串资源<br/>说明&nbsp;&nbsp;字符串资源是指程序的内部资源<br/>参考&nbsp;&nbsp;function SysUtils.FindStringResource<br/>例子&nbsp;&nbsp;Edit2.Text := LoadStr(StrToIntDef(Edit1.Text, 0));<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FmtLoadStr(Ident: Integer; const Args: array of const): string; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回格式化的字符串资源<br/>说明&nbsp;&nbsp;字符串资源是指程序的内部资源<br/>参考&nbsp;&nbsp;function SysUtils.FmtStr;function SysUtils.FindStringResource<br/>例子&nbsp;&nbsp;&lt;NULL&gt;;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileOpen(const FileName: string; Mode: LongWord): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回打开文件果<br/>说明&nbsp;&nbsp;Mode指定打开文件的模式(fmOpenRead,fmOpenWrite,fmOpenReadWrite....);打开失败则返回负数<br/>参考&nbsp;&nbsp;function Windows.Cr&#101;ateFile<br/>例子<br/>///////Begin FileOpen,FileClose<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;I := FileOpen(Edit1.Text, fmOpenRead);<br/>&nbsp;&nbsp;CheckBox1.Checked := I &gt; 0;<br/>&nbsp;&nbsp;FileClose(I);<br/>end;<br/>///////Begin FileOpen,FileClose<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileCr&#101;ate(const FileName: string): Integer; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function FileCr&#101;ate(const FileName: string; Rights: Integer): Integer; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回创建文件<br/>说明&nbsp;&nbsp;创建失败则返回负数<br/>参考&nbsp;&nbsp;function Windows.Cr&#101;ateFile<br/>例子<br/>///////Begin FileCr&#101;ate<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;I := FileCr&#101;ate(Edit1.Text);<br/>&nbsp;&nbsp;CheckBox1.Checked := I &gt; 0;<br/>&nbsp;&nbsp;FileClose(I);<br/>end;<br/>///////End FileCr&#101;ate<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileRead(Handle: Integer; var Buffer; Count: LongWord): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回读取文件缓冲区的大小<br/>说明&nbsp;&nbsp;读取失败则返回负数<br/>参考&nbsp;&nbsp;function Windows.ReadFile<br/>例子&nbsp;&nbsp;&lt;参见FileOpen&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileWrite(Handle: Integer; const Buffer; Count: LongWord): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回写入文件缓冲区的大小<br/>说明&nbsp;&nbsp;写入失败则返回负数<br/>参考&nbsp;&nbsp;function Windows.WriteFile<br/>例子&nbsp;&nbsp;&lt;参见FileCr&#101;ate&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileSeek(Handle, Offset, o&#114;igin: Integer): Integer; overload; $[SysUtils.pas<br/>首部&nbsp;&nbsp;function FileSeek(Handle: Integer; const Offset: Int64; o&#114;igin: Integer): Int64; overload; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回指定文件偏移量<br/>说明&nbsp;&nbsp;Offset指定偏移量;Origin指定原点(Origin为0时指文件首;为1时指当前位置;为2时指文件尾)<br/>参考&nbsp;&nbsp;function Windows.SetFilePointer<br/>例子&nbsp;&nbsp;&lt;参见FileOpen&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure FileClose(Handle: Integer); $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回关闭文件<br/>说明&nbsp;&nbsp;不关闭打开的文件会占用系统资源<br/>参考&nbsp;&nbsp;function Windows.CloseHandle<br/>例子&nbsp;&nbsp;&lt;参见FileOpen&gt;<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function FileAge(const FileName: string): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件创建的时间<br/>说明&nbsp;&nbsp;文件不存在则返回-1<br/>参考&nbsp;&nbsp;function Windows.FindFirstFile<br/>例子<br/>///////Begin FileAge,DateTimeToStr,FileDateToDateTime<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>begin<br/>&nbsp;&nbsp;SpinEdit1.Value := FileAge(Edit1.Text);<br/>&nbsp;&nbsp;if SpinEdit1.Value &gt; 0 then<br/>&nbsp;&nbsp;&nbsp;&nbsp;Edit2.Text := DateTimeToStr(FileDateToDateTime(SpinEdit1.Value));<br/>end;<br/>///////End FileAge,DateTimeToStr,FileDateToDateTime<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FileExists(const FileName: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回文件名FileName是否有实体存在<br/>说明&nbsp;&nbsp;包括隐藏文件<br/>参考&nbsp;&nbsp;function SysUtils.FileAge<br/>例子&nbsp;&nbsp;CheckBox1.Checked := FileExists(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━&nbsp;&nbsp;<br/>首部&nbsp;&nbsp;function DirectoryExists(const Directory: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回目录名FileName是否有实体存在<br/>说明&nbsp;&nbsp;包括隐藏目录<br/>参考&nbsp;&nbsp;function Windows.GetFileAttributes<br/>例子&nbsp;&nbsp;CheckBox1.Checked := DirectoryExists(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function ForceDirectories(Dir: string): Boolean; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回创建子目录是否成功<br/>说明&nbsp;&nbsp;直接创建多级目录<br/>参考&nbsp;&nbsp;function SysUtils.Cr&#101;ateDir<br/>例子&nbsp;&nbsp;CheckBox1.Checked := ForceDirectories(Edit1.Text);<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回设置文件搜索<br/>说明&nbsp;&nbsp;搜索成功则返回0<br/>参考&nbsp;&nbsp;function Windows.FindFirstFile<br/>例子<br/>///////Begin FindFirst,FindNext,FindClose<br/>procedure TForm1.Button1Click(Sender: TObject);<br/>var<br/>&nbsp;&nbsp;vSearchRec: TSearchRec;<br/>&nbsp;&nbsp;I: Integer;<br/>begin<br/>&nbsp;&nbsp;Memo1.Clear;<br/>&nbsp;&nbsp;I := FindFirst(Edit1.Text, faAnyFile, vSearchRec);<br/>&nbsp;&nbsp;while I = 0 do begin<br/>&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add(vSearchRec.Name);<br/>&nbsp;&nbsp;&nbsp;&nbsp;I := FindNext(vSearchRec);<br/>&nbsp;&nbsp;end;<br/>&nbsp;&nbsp;FindClose(vSearchRec);<br/>end;<br/>///////End FindFirst,FindNext,FindClose<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;function FindNext(var F: TSearchRec): Integer; $[SysUtils.pas<br/>功能&nbsp;&nbsp;返回继续文件搜索<br/>说明&nbsp;&nbsp;搜索成功则返回0<br/>参考&nbsp;&nbsp;function Windows.FindNextFile<br/>例子&nbsp;&nbsp;&lt;参见FindFirst&gt;<br/>━━━━━━━━━━━━━━━━━━━━━<br/>首部&nbsp;&nbsp;procedure FindClose(var F: TSearchRec); $[SysUtils.pas<br/>功能&nbsp;&nbsp;结束当前文件搜索<br/>说明&nbsp;&nbsp;不关闭查询会占用系统资源<br/>参考&nbsp;&nbsp;function Windows.FindClose<br/>例子&nbsp;&nbsp;&lt;参见FindFirst&gt;<br/>━━━━━━━━━━━━━━━━━━━━━]]></description>
		</item>
		
			<item>
			<link>http://www.zjidea.com/blog/article/delphi/20091208delphi.htm</link>
			<title><![CDATA[Delphi字符串、PChar与字符数组之间的转换]]></title>
			<author>lzq0323@yahoo.com.cn(相逢萍水)</author>
			<category><![CDATA[Delphi编程]]></category>
			<pubDate>Tue,08 Dec 2009 15:54:02 +0800</pubDate>
			<guid>http://www.zjidea.com/blog/default.asp?id=455</guid>
		<description><![CDATA[Delphi中,字符串、PChar与字符数组之间的转换<br/><br/>设有以下三个变量：<br/>var<br/>s:string;<br/>p:pchar;<br/>a:array[1..20] of char;<br/>那么三者之间的转换如下：<br/>1、字符串到PChar<br/>&nbsp;&nbsp;&nbsp;&nbsp;p:=PChar(s);<br/>2、PChar到字符串<br/>&nbsp;&nbsp;&nbsp;&nbsp;s:=p;<br/>3、PChar到字符数组<br/>&nbsp;&nbsp;&nbsp;&nbsp;StrCopy(@a,p);<br/>4、字符数组到PChar<br/>&nbsp;&nbsp;&nbsp;&nbsp;PChar(@a);<br/>5、字符串与字符数组之间的转换就只有通过PChar来中转了。例如下面这个例子：<br/>procedure TForm1.btn1Click(Sender: TObject);<br/>var<br/>str:array[1..10] of char;<br/>begin<br/>StrCopy(@str,PChar(mmo1.Text));<br/>mmo2.Text:=PChar(@str);<br/>end;]]></description>
		</item>
		
</channel>
</rss>
