<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[扬帆blog]]></title>
<link>http://www.wesoho.com/</link>
<description><![CDATA[Www.WeSoho.Com/Www.64Wei.Com]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[webfly@gmail.com(扬帆)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>扬帆blog</title>
	<url>http://www.wesoho.com/images/logos.gif</url>
	<link>http://www.wesoho.com/</link>
	<description>扬帆blog</description>
</image>

			<item>
			<link>http://www.wesoho.com/article/Safe_Other/2863.htm</link>
			<title><![CDATA[让WIN2003支持SHTML]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[安全&amp;其他]]></category>
			<pubDate>Fri,05 Mar 2010 12:12:56 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2863</guid>
		<description><![CDATA[<p>IIS管理器--&gt;&gt;WEB服务扩展--&gt;&gt;在服务器包含的文件（允许）</p>
<p>注：只启用父路径无用。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Delphi/2862.htm</link>
			<title><![CDATA[让程序最小化到任务栏的时候隐藏]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[Delphi]]></category>
			<pubDate>Sun,21 Feb 2010 13:13:18 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2862</guid>
		<description><![CDATA[<div style="font-size: 10pt; word-break: break-all; position: relative; word-wrap: break-word">
<p>今天下载并安装了TrayIcon控件，感觉很好，但是有一点，程序最小化的时候在任务栏界面依然保存那个按钮，有时候是需要隐藏的，这时候可以按如下方法做：</p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">核心思想：截获</span> <span lang="EN-US" xml:lang="EN-US" style="font-size: 10.5pt; font-family: 'Times new roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA; mso-fareast-font-family: 宋体">WM_SYSCOMMAND</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">消息，看窗体是否处于最小化状态</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">====================================================================================</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">type<br />
TForm1 = class(TForm)<br />
private</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">//在此处添加下面一行<br />
procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMMAND;<br />
//主要是添加上面一行<br />
end;<br />
implementation<br />
{$R *.DFM}</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">//把下面的代码复制粘贴到代码中即可<br />
procedure TForm1.WMSysCommand(var Message:TMessage);<br />
begin<br />
if Message.WParam = SC_ICON then //最小化了.最大化 SC_ZOOM,关闭:SC_CLOSE，可以灵活选择<br />
begin<br />
form1.hide;//可以配合TrayIcon以及弹出菜单实现恢复显示form1.show;<br />
end<br />
else<br />
inherited;//很重要的.否则将导致窗体不能移动等若干问题<br />
end;</span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA"><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times new roman'; mso-hansi-font-family: 'Times new roman'; mso-bidi-font-family: 'Times new roman'; mso-font-kerning: 1.0pt; mso-ansi-language: en-Us; mso-fareast-language: ZH-Cn; mso-bidi-language: Ar-sA">//把上面的代码复制粘贴到代码中即可</span></span></p>
<p>=======================================================================================</p>
<p>这样一来效果就出来了！&nbsp;<wbr></wbr></p>
</div>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Delphi/2861.htm</link>
			<title><![CDATA[在Delphi中获取和修改文件的时间]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[Delphi]]></category>
			<pubDate>Sun,21 Feb 2010 13:12:37 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2861</guid>
		<description><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent"><span class="forum_text" id="text0">在Delphi中获取和修改文件的时间 <br />
<br />
　　本文介绍了在Delphi中利用系统函数和Windows API函数调用来获取和修改文件的时间信息的方法。 <br />
<br />
熟悉Windows 95/98的朋友一定经常会用单击鼠标右键的方法来查看所选定的文件的属性信息。在属性菜单中会列出该文件的创建时间、修改时间和访问时间。这些信息常常是很有用的，它们的设置一般都是由操作系统（也就是由Dos/Windows等等）自动完成的，不会让用户轻易修改。 <br />
<br />
这里，我向大家介绍在Delphi中如何实现文件时间的获取和修改方法。Delphi中提供了很完备的Windows API函数的调用接口，可以方便的进行高级Windows编程。利用Delphi中的FindFirst函数可以得到一个文件的属性记录，该记录中的FindData域中就记载了详细的文件时间信息。然而遗憾的是，FindData中的时间信息是不能直接得到的。因此，有人（编者按：很遗憾不知此人姓名）编写了一个转换函数来完成文件时间格式的转换。下面给出了具体的实现方法，仅供参考： <br />
function CovFileDate(Fd:_FileTime):TDateTime; <br />
{ 转换文件的时间格式 } <br />
var <br />
Tct:_SystemTime; <br />
Temp:_FileTime; <br />
begin <br />
FileTimeToLocalFileTime(Fd,Temp); <br />
FileTimeToSystemTime(Temp,Tct); <br />
CovFileDate:=SystemTimeToDateTime(Tct); <br />
end; <br />
有了上面的函数支持，我们就可以获取一个文件的时间信息了。以下是一个简单的例子： <br />
procdeure GetFileTime(const Tf:string); <br />
{ 获取文件时间，Tf表示目标文件路径和名称 } <br />
const <br />
Model=yyyy/mm/dd,hh:mm:ss; { 设定时间格式 } <br />
var <br />
Tp:TSearchRec; { 申明Tp为一个查找记录 } <br />
T1,T2,T3:string; <br />
begin <br />
FindFirst(Tf,faAnyFile,Tp); { 查找目标文件 } T1:=FormatDateTime(Model, <br />
CovFileDate(Tp.FindData.ftCreationTime))); <br />
{ 返回文件的创建时间 } <br />
T2:=FormatDateTime(Model, <br />
CovFileDate(Tp.FindData.ftLastWriteTime))); <br />
{ 返回文件的修改时间 } <br />
T3:=FormatDateTime(Model,Now)); <br />
{ 返回文件的当前访问时间 } <br />
FindClose(Tp); <br />
end; <br />
设置文件的时间要复杂一些，这里介绍利用Delphi中的DataTimePicker组件来辅助完成这一复杂的操作。下面的例子利用了四个DataTimePicker组件来完成文件创建时间和修改时间的设置。注意：文件的访问时间用修改时间来代替。使用下面的例子时，请在您的Form上添加四个DataTimePicker组件。其中第一和第三个DataTimePicker组件中的Kind设置为dtkDate，第二个和第四个DataTimePicker组件中的Kind设置为dtkTime. <br />
procedure SetFileDateTime(const Tf:string); <br />
{ 设置文件时间，Tf表示目标文件路径和名称 } <br />
var <br />
Dt1,Dt2:Integer; <br />
Fs:TFileStream; <br />
Fct,Flt:TFileTime; <br />
begin <br />
Dt1:=DateTimeToFileDate( <br />
Trunc(Form1.DateTimePicker1.Date) + Frac(Form1.DateTimePicker2.Time)); <br />
Dt2:=DateTimeToFileDate( <br />
Trunc(Form1.DateTimePicker3.Date) + Frac(Form1.DateTimePicker4.Time)); <br />
{ 转换用户输入在DataTimePicker中的信息 } <br />
try <br />
FS := TFileStream.Create(Tf, fmOpenReadWrite); <br />
try <br />
if DosDateTimeToFileTime(LongRec(DT1).Hi, LongRec(DT1).Lo, Fct) and <br />
LocalFileTimeToFileTime(Fct, Fct) and <br />
DosDateTimeToFileTime(LongRec(DT2).Hi, LongRec(DT2).Lo, Flt) and <br />
LocalFileTimeToFileTime(Flt, Flt) <br />
then SetFileTime(FS.Handle, <br />
@Fct, @Flt, @Flt); <br />
{ 设置文件时间属性 } <br />
finally <br />
FS.Free; <br />
end; <br />
except <br />
MessageDlg(日期修改操作失败！, <br />
mtError, [mbOk], 0); <br />
{ 因为目标文件正在被使用等原因而导致失败 } <br />
end; <br />
end; <br />
以上简单介绍了文件时间属性的修改方法，请注意：修改文件时间的范围是从公元1792年9月19日开始的，上限可以达到公元2999年或更高。另外，请不要将此技术用于破坏他人文件等非正当途径。 <br />
</span></span></p>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Delphi/2860.htm</link>
			<title><![CDATA[delphi中关于时间差的实例]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[Delphi]]></category>
			<pubDate>Sun,21 Feb 2010 13:12:04 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2860</guid>
		<description><![CDATA[<div style="font-size: 10pt; word-break: break-all; position: relative; word-wrap: break-word">
<p><font face="宋体" size="2">很多时候要用到相差多少天，多少周，多少秒，查了一下资料，整理如下：</font></p>
<p><font face="宋体" size="2">首先 uses dateutils;</font></p>
<p><font face="宋体" size="2">先自己做了个实例，相关代码如下：</font></p>
<p><font face="宋体" size="2">unit Unit1;</font></p>
<p><font face="宋体" size="2">interface</font></p>
<p><font face="宋体" size="2">uses<br />
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />
Dialogs, StdCtrls, dateutils;</font></p>
<p><font face="宋体" size="2">type<br />
TForm1 = class(TForm)<br />
&nbsp;&nbsp;&nbsp; Button1: TButton;<br />
&nbsp;&nbsp;&nbsp; Memo1: TMemo;<br />
&nbsp;&nbsp;&nbsp; procedure Button1Click(Sender: TObject);<br />
private<br />
&nbsp;&nbsp;&nbsp; { Private declarations }<br />
public<br />
&nbsp;&nbsp;&nbsp; { Public declarations }<br />
end;</font></p>
<p><font face="宋体" size="2">var<br />
Form1: TForm1;</font></p>
<p><font face="宋体" size="2">implementation</font></p>
<p><font face="宋体" size="2">{$R *.dfm}</font></p>
<p><font face="宋体" size="2">procedure TForm1.Button1Click(Sender: TObject);<br />
var<br />
sd,nd:Tdatetime;<br />
randid:string;<br />
begin<br />
sd := StrtoDatetime('1981-08-08 00:00:00');<br />
nd := now;<br />
memo1.Clear;<br />
memo1.Lines.Add('开始测试时间差:');<br />
memo1.Lines.Add('起始时间:1981-08-08 00:00:00');<br />
memo1.Lines.Add('终止时间:'+datetimetostr(nd));<br />
memo1.Lines.Add('年：'+inttostr(YearsBetween(sd,nd)));<br />
memo1.Lines.Add('月：'+inttostr(MonthsBetween(sd,nd)));<br />
memo1.Lines.Add('周：'+inttostr(WeeksBetween(sd,nd)));<br />
memo1.Lines.Add('日：'+inttostr(DaysBetween(sd,nd)));<br />
memo1.Lines.Add('时：'+inttostr(HoursBetween(sd,nd)));<br />
memo1.Lines.Add('分：'+inttostr(MinutesBetween(sd,nd)));<br />
memo1.Lines.Add('秒：'+inttostr(SecondsBetween(sd,nd)));<br />
memo1.Lines.Add(#13);<br />
memo1.Lines.Add('以秒差为例生成随机数：');<br />
randid := inttostr(SecondsBetween(sd,nd))+inttostr(random(9))+inttostr(random(9))+inttostr(random(9))+inttostr(random(9));//呵呵，很笨的方法。<br />
memo1.Lines.Add(randid);<br />
end;</font></p>
<p><font face="宋体" size="2">end.<br />
</font></p>
<p><font face="宋体" size="2">==================</font></p>
<p><font face="宋体" size="2">object Form1: TForm1<br />
Left = 571<br />
Top = 224<br />
BorderIcons = [biSystemMenu, biMinimize]<br />
BorderStyle = bsSingle<br />
Caption = #26102#38388#24046#20989#25968<br />
ClientHeight = 249<br />
ClientWidth = 201<br />
Color = clBtnFace<br />
Font.Charset = DEFAULT_CHARSET<br />
Font.Color = clWindowText<br />
Font.Height = -11<br />
Font.Name = 'MS Sans Serif'<br />
Font.Style = []<br />
OldCreateOrder = False<br />
PixelsPerInch = 96<br />
TextHeight = 13<br />
object Button1: TButton<br />
&nbsp;&nbsp;&nbsp; Left = 8<br />
&nbsp;&nbsp;&nbsp; Top = 8<br />
&nbsp;&nbsp;&nbsp; Width = 185<br />
&nbsp;&nbsp;&nbsp; Height = 25<br />
&nbsp;&nbsp;&nbsp; Caption = #28436#31034#26102#38388#24046#20989#25968<br />
&nbsp;&nbsp;&nbsp; TabOrder = 0<br />
&nbsp;&nbsp;&nbsp; OnClick = Button1Click<br />
end<br />
object Memo1: TMemo<br />
&nbsp;&nbsp;&nbsp; Left = 8<br />
&nbsp;&nbsp;&nbsp; Top = 40<br />
&nbsp;&nbsp;&nbsp; Width = 185<br />
&nbsp;&nbsp;&nbsp; Height = 201<br />
&nbsp;&nbsp;&nbsp; TabOrder = 1<br />
end<br />
end<br />
</font></p>
<p><font face="宋体" size="2">相关函数如下：</font></p>
<p><font face="宋体" size="2">{ Range query functions }</font></p>
<p><font face="宋体" size="2">function YearsBetween(const ANow, AThen: TDateTime): Integer;<br />
function MonthsBetween(const ANow, AThen: TDateTime): Integer;<br />
function WeeksBetween(const ANow, AThen: TDateTime): Integer;<br />
function DaysBetween(const ANow, AThen: TDateTime): Integer;<br />
function HoursBetween(const ANow, AThen: TDateTime): Int64;<br />
function MinutesBetween(const ANow, AThen: TDateTime): Int64;<br />
function SecondsBetween(const ANow, AThen: TDateTime): Int64;<br />
function MilliSecondsBetween(const ANow, AThen: TDateTime): Int64;</font></p>
<p><font face="宋体" size="2">{ Range spanning functions }<br />
{ YearSpan and MonthSpan are approximates, not exact but pretty darn close }<br />
function YearSpan(const ANow, AThen: TDateTime): Double;<br />
function MonthSpan(const ANow, AThen: TDateTime): Double;<br />
function WeekSpan(const ANow, AThen: TDateTime): Double;<br />
function DaySpan(const ANow, AThen: TDateTime): Double;<br />
function HourSpan(const ANow, AThen: TDateTime): Double;<br />
function MinuteSpan(const ANow, AThen: TDateTime): Double;<br />
function SecondSpan(const ANow, AThen: TDateTime): Double;<br />
function MilliSecondSpan(const ANow, AThen: TDateTime): Double;</font></p>
<p><font face="宋体" size="2">找到一篇关于时间函数应用的学习笔记，备份一下。</font></p>
<p><font face="宋体" size="2">TDateTime是一个比较常用的类型，用于表达日期时间类型的数据。但是，刚刚接触delphi的新手在使用这个类型的时候往往会不知所措，不知道该怎样使用才能得到自己想要的结果。这里说说我在使用过程中的一点心得，其中大部分的内容是来自于delphi帮助，所以如果看了这篇文章对TDateTime还有什么不清楚的可以去看看Delphi的帮助。另外在这篇文章里我也会告诉大家我使用帮助的心得，这对老手或许是班门弄斧但是对于新手我自认为还是很有帮助的。<br />
一、关于TDateTime<br />
<wbr></wbr><wbr></wbr><wbr></wbr>1、TDateTime的基本概念：<br />
<wbr></wbr><wbr></wbr><wbr></wbr>根据Delphi的帮助里所说的，TDateTime是date和time例程用来存放date和time变量的，在delphi里TDateTime类型本质上是Double类型的，其中整数位用于表达从1899年12月30日到现在所已经过去的天数，小数部分用于表示当天已经流逝的分数值&mdash;&mdash;有些不明白吧，举个例子：上午6点小数部分就是0.25、中午12点小数部分就是0.5依此类推。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2、常用函数和过程<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.1 Date函数<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>function Date: TDateTime;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>返回当前的日期，实际类型是TDateTime，也就是小数部分为0的DateTime值，小数部分为0代表什么意思呢？根据TDateTime的概念我们知道这代表午夜也就是0点。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.2 <wbr></wbr>DateToStr<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>函数的形式：function DateToStr(Date: TDateTime): string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>返回值是个字符串，很有用吧。不过，别高兴的太早，如果你用DateToStr(DateTimePicker.Date)，你会发现返回的字符串可能是&ldquo;04-22-03&rdquo;，这是为什么呢？这是因为delphi内部有一些系统变量用来定义数字、货币、日期的格式，这些变量delphi称为Currency and date/time formatting variables，有23个。我也没有完全看懂，这里讲几个我搞明白的说说。<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var ThousandSeparator: Char;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>千分位的符号，一般都是西文的逗号&ldquo;,&rdquo;，默认值存放在LOCALE_STHOUSAND变量中（位于windows单元）<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var DecimalSeparator: Char;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>小数点的符号，一般都是西文的句号&ldquo;.&rdquo;，默认值存放在变量LOCALE_SDECIMAL中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var CurrencyDecimals: Byte;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>小数点后面保留的位数，一般是2位，默认值存放在变量LOCALE_ICURRDIGITS中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var DateSeparator: Char;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>日期的分隔符号，一般使用&ldquo;-&rdquo;或&ldquo;.&rdquo;，默认值为&ldquo;-&rdquo;，默认值存放在变量LOCATE_SDATE中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var ShortDateFormat: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>短日期格式，一般是&ldquo;yyyy.mm.dd&rdquo;，默认值存放在变量LOCALE_SSHORTDATE中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var LongDateFormat: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>长日期格式，一般是&ldquo;yyyy.mm.dd&rdquo;，默认值存放在变量LOCALE_SLONGDATE中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var TimeSeparator: Char;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>时间的分隔符，一般是西文的分号&ldquo;:&rdquo;，默认值就是这个，默认值存放在变量 LOCALE_STIME中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var TimeAMString: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>表示上午的字符串，默认为&ldquo;AM&rdquo;，默认值存放在变量LOCALE_S1159中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var TimePMString: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>表示下午的字符串，默认为&ldquo;PM&rdquo;，默认值存放在变量LOCALE_S2359中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var ShortTimeFormat: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>短时间格式，默认值存放在变量LOCALE_ITIME LOCALE_ITLZERO中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>var LongTimeFormat: string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>长时间格式，一般为&ldquo;hh:mm:ss&rdquo;，默认值存放在变量LOCALE_ITIME and LOCALE_ITLZERO中<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>所以，如果想开发一个稳健的系统，那么这些系统变量必须要在进入系统的时候进行初始化，下面是我得代码：<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>SysLocale.PriLangID:=LANG_CHINESE;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>DateSeparator:='.';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>LongDateFormat:='yyyy.mm.dd';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>ShortDateFormat:='yyyy.mm.dd';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>TimeSeparator:=':';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>LongTimeFormat:='hh:nn:ss';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>TimeAMString:='上午';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>TimePMString:='下午';<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>大家一定奇怪，为什么我的LongDateFormat和ShortDateFormat是一样的，老实讲，我也希望能够区分长短日期的格式，但是由于有些关于TDateTime的例程在类型转换的时候要参考ShortDateFormat，所以只能设置成一样的了。<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>还是继续说DateToStr函数。其他没什么特别的，需要注意的是此函数是根据ShortDateFormat来进行转换的，所以ShortDateFormat我只能设为&ldquo;yyyy.mm.dd&rdquo;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>说道了DateTimePicker，注意在它的format属性中设置显示格式的时候月份要用&ldquo;MM&rdquo;而不是我们通常认为的&ldquo;mm&rdquo;。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.3 StrToDate函数<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>function StrToDate(const S: string): TDateTime;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>这个函数可以看成是DateToStr的逆函数，作用就是把一个字符串转换为TDateTime，参数S必须包括2个或3个数字，用DateSeparator所定义的分隔符分隔，年月日的顺序和格式遵从ShortDateFormat。如果输入的参数不符合日期类型的规定系统会触发EConvertError例外。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.4 DateTimeToStr函数<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>function DateTimeToStr(DateTime: TDateTime): string;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>把TDateTime转换为字符串，日期格式遵从ShortDateFormat，时间格式遵从LongTimeFormat，如果TDateTime的小数部分是0的话，那么返回的字符串中将没有时间部分。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.5 StrToDateTime函数<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>function StrToDateTime(const S: string): TDateTime;<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>这个函数可以看作是DateTimeToStr函数的逆函数，和StrToDate差不多。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.6 DateTimeToString过程<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);<br />
<wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr><wbr></wbr>这个过程的作用和DateTimeToStr和DateToStr一样，特别的地方是可以指定TDateTime的格式，这样就可以得到我们指定格式的日期型字符串了。<br />
<wbr></wbr><wbr></wbr><wbr></wbr>2.7 Now,Time,StrToTime等等就不详细介绍了，都可以在帮助里得到相关信息，如果有不明白的地方就写代码测试一下。 </font></p>
<p><font face="宋体" size="2" style="font-size: 18px">二、怎样使用帮助<br />
<wbr></wbr><wbr></wbr><wbr></wbr>delphi的帮助不如PowerBuilder的帮助那么详细，并且外面的书也都没有什么很好的详尽讲解<br />
<wbr></wbr><wbr></wbr><wbr></wbr>以Delphi6中的DateTimeToStr函数为例子，在代码中我们选中DateTimeToStr，然后按F1就可以得到如下的帮助：【】里是说明<br />
VCL Reference【相关的vcl refrence帮助】<br />
DateTimeToStr function【一般在帮助主题的索引里看到的就是这个】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">See also Example【see also链接着相关的内容，Example链接着范例代码】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">Converts a TDateTime value to a string.【功能说明，把TDateTime类型转换为String类型】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">Unit【所属单元】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">SysUtils【说明属于SysUtils】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">Category【所属类别】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">date/time routines【说明属于date/time例程，并且链接着date/time相关的例程&mdash;&mdash;函数和过程】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">function DateTimeToStr(DateTime: TDateTime): string;【函数声名的形式】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">Description【描述，详细的说明】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">DateTimeToString converts the TDateTime value given by DateTime using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the fractional part of the DateTime value is zero. 【DateTimeToStr转换通过DateTime参数传入的TDateTime类型的值为字符串，根据ShortDateFormat全局变量所给定的日期格式，遵循LongTimeFormat所给定的时间格式。如果DateTime的小数部分为零的话返回的字符串中将没有时间部分】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">To change how the string is formatted, change ShortDateFormat and LongTimeFormat global date time formatting variables.【要改变字符串的格式，可以通过改变ShortDateFormat和LongTimeFormat全局日期时间格式变量来实现】</font></p>
<p><font face="宋体" size="2" style="font-size: 18px">三、和数据库中的日期字段<br />
　　有人询问怎样在SQL中设定Date/DateTime类型的查询值，这和数据库本身有关。不同的数据库对日期类型的字段一般都有对应的函数和格式，不过应该都支持ANSI标准&mdash;&mdash;谁叫数据库厂商都是美国的。比如，我在Oracle8中要查询日期型字段我一般使用【Select * From LoginTable Where LoginTime &gt;= To_Date('2003.03.01 00:00:00','yyyy.mm.dd hh24:mi:ss')】，MSSQLServer2000中文版的写法是【Select * From LoginTable Where LoginTime &gt;= '2003－03－01 00:00:00'】，SQLServer的联机帮助中讲得比较详细，而且用起来似乎也比较方便，不过Oracle可以自己设定日期格式。<br />
　　说句题外话，查询的时候，很多人为了方便往往把日期型的字段用函数转换成字符串，然后和字符串式的日期来进行比较，例如：【Select * From LoginTable Where To_Char(LoginTime,'yyyy.mm.dd hh24:mi:ss') &gt;= '2003.03.01 00:00:00'】，这样的写法语法上没有问题，但是性能上存在很大的隐患。因为，数据库执行这样的查询是要对每一条记录的loginTime字段进行计算然后再比较，如果记录数多，会很慢。</font></p>
</div>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/asp/2859.htm</link>
			<title><![CDATA[直方图制作]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[asp类]]></category>
			<pubDate>Sun,21 Feb 2010 13:11:14 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2859</guid>
		<description><![CDATA[<div>收藏之</div>
<div><a href="http://www.oschina.net/p/open+flash+chart"><font color="#000000">http://www.oschina.net/p/open+flash+chart</font></a></div>
<div><a href="http://teethgrinder.co.uk/open-flash-chart/"><font color="#000000">http://teethgrinder.co.uk/open-flash-chart/</font></a></div>
<div><a href="http://www.amcharts.com/"><font color="#000000">http://www.amcharts.com/</font></a></div>
<div><a href="http://www.jpgraph.cn/"><font color="#000000">http://www.jpgraph.cn/</font></a></div>
<div><a href="http://www.mysuc.com/article/aspphpnetflashXML-dedongtaiquxiantubingzhuangtujuxingtu.htm"><font color="#000000">http://www.mysuc.com/article/aspphpnetflashXML-dedongtaiquxiantubingzhuangtujuxingtu.htm</font></a></div>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Safe_Other/2858.htm</link>
			<title><![CDATA[DBDesigner 4 与 MySql 5 不能连接主要是驱动的原因]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[安全&amp;其他]]></category>
			<pubDate>Sun,21 Feb 2010 13:10:36 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2858</guid>
		<description><![CDATA[<div style="font-size: 10pt; word-break: break-all; position: relative; word-wrap: break-word">DBDesigner 4 与 MySql 5 不能连接主要是驱动的原因，到 <br />
http://crlab.com/dbx/download.html <br />
下载最新的驱动并安装，在安装路径中找到dbexpmda.dll这个文件拷贝到DBDesigner的安装路径中。 <br />
然后下载一个最新版本的libMYSQL.dll，也拷贝到DBDesigner的安装路径中，你可以先备份原来的libMYSQL.dll。 <br />
好了，一切驱动准备好后，打开DBDesigner，新建了一个连接，在Advanced选项中把GetDriverFunc的getSQLDriverMYSQL改为getSQLDriverMySQL，就是把Y改为小写的y。 <br />
然后把LibraryName的改为dbexpmda.dll。 <br />
这样就可以连接数据库了。</div>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/asp/2857.htm</link>
			<title><![CDATA[如何让form不换行]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[asp类]]></category>
			<pubDate>Sun,21 Feb 2010 13:09:28 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2857</guid>
		<description><![CDATA[<p>在写&nbsp;Html&nbsp;的时,&nbsp;写到&nbsp;FORM&nbsp;会让造成空隔多空一行&nbsp;等等的问题。&nbsp;以往都是将&nbsp;Form&nbsp;塞到&nbsp;Table&nbsp;跟&nbsp;tr&nbsp;间&nbsp;的这些方法来解决(或tr,td之间) <br />
<table class="bbcode">
    <tbody>
        <tr>
            <td>&lt;table&gt;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;form&gt; &nbsp;&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;tr&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;td&gt;&lt;/td&gt; &nbsp;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;/tr&gt;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;/form&gt;</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
        <tr>
            <td>&lt;/table&gt;</td>
        </tr>
    </tbody>
</table>
事实上&nbsp;css&nbsp;有简易的解法~~~&nbsp;照下面的一设就搞定了~&nbsp; form{margin:0px;display:&nbsp;inline} margin:&nbsp;上下左右间隔都设为&nbsp;0px&nbsp; display:&nbsp;inline&nbsp;之后显示的秀在同一行. &lt;h1&gt;&nbsp;想不换行也是同样解法.&nbsp;&lt;/h1&gt;&nbsp; 只要&lt;h1&nbsp;style=&quot;display:&nbsp;inline;&quot;&gt;&nbsp;就可以了.</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Safe_Other/2856.htm</link>
			<title><![CDATA[baidu被黑]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[安全&amp;其他]]></category>
			<pubDate>Tue,12 Jan 2010 13:05:55 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2856</guid>
		<description><![CDATA[<p>今天最大的新闻应该就是baidu被黑了，一大早就闹的沸沸扬扬，作为中国最大的搜索引擎提供商，baidu被黑折射出来很多深层次的问题：</p>
<p>1 dns安全问题 众所周知，dns根服务器不掌握在中国手里，这次baidu被黑就是利用的dns劫持，假如是战争爆发，米国人很容易就可以通过手中掌握的互联网基础设施打击别国</p>
<p>2 抛开dns根服务器不说，国内的dns服务商提供的服务也不咋地，这几年频频出事的新网万网，动辄造成数万网站无法访问</p>
<p>3 此事爆出以后，各个群里叫好声不绝于耳，百度的口碑由此可见一斑</p>
<p>4 传说这次攻击者是伊朗网军，不管真假，各个国家越来越重视网络安全，相继成立了网络作战部队，不知道中国在这方面做的如何</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/asp/2855.htm</link>
			<title><![CDATA[dedecms获得星期几]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[asp类]]></category>
			<pubDate>Tue,05 Jan 2010 14:03:29 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2855</guid>
		<description><![CDATA[<p>{dede:php runphp='yes'}&nbsp; <br />
$weekarray=array(&quot;日&quot;,&quot;一&quot;,&quot;二&quot;,&quot;三&quot;,&quot;四&quot;,&quot;五&quot;,&quot;六&quot;);<br />
@me=$weekarray[date(&quot;w&quot;)];<br />
{/dede:php}</p>]]></description>
		</item>
		
			<item>
			<link>http://www.wesoho.com/article/Safe_Other/2854.htm</link>
			<title><![CDATA[小巧免费的流程图绘制软件Diagram Designer 1.22]]></title>
			<author>webfly@gmail.com(webfly)</author>
			<category><![CDATA[安全&amp;其他]]></category>
			<pubDate>Thu,24 Dec 2009 11:14:21 +0800</pubDate>
			<guid>http://www.wesoho.com/default.asp?id=2854</guid>
		<description><![CDATA[<p class="apptype">类别：图片</p>
<p class="apptarget">性质：免费软件，Windows 98/ME/2000/XP/Vista</p>
<p><br />
<span id="download"><strong><font size="3">下载安装包(1.3 Mb)</font></strong></span> <font size="+0">包括在线帮助文件</font> <br />
<br />
&nbsp;&nbsp;<a class="DarkLink" href="http://www.brothersoft.com/diagram-designer-87005.html" target="_blank"><font color="#0000b0">[Brothersoft]</font></a> &nbsp;&nbsp;<a class="DarkLink" href="http://www.freewarefiles.com/program_3_36_8116.html" target="_blank"><font color="#0000b0">[FreewareFiles]</font></a> &nbsp;&nbsp;<a class="DarkLink" href="http://www.download.com/Diagram-Designer/3000-2191_4-10429024.html" target="_blank"><font color="#0000b0">[Download.com]</font></a> &nbsp;&nbsp;<a class="DarkLink" href="http://www.tucows.com/preview/415032" target="_blank"><font color="#0000b0">[Tucows]</font></a> &nbsp;&nbsp;<a class="DarkLink" href="http://www.snapfiles.com/get/diagramdesigner.html" target="_blank"><font color="#0000b0">[SnapFiles]</font></a> &nbsp;&nbsp;<a class="DarkLink" href="http://www.fiberdownload.com/Download/20118/Diagram-Designer" target="_blank"><font color="#0000b0">[Fiberdownload]</font></a> <br />
<br />
<span id="download"><a class="DarkLink" href="http://d16912502.u227.surftown.dk/DiagramDesigner/LanguagePack.exe"><strong><font color="#0000b0" size="3">下载语言包 (186 kb)</font></strong></a></span></p>
<p class="description"><font size="+0">包括：<br />
中文，Czech, Danish, Dutch, Estonian, French, German, Hungarian, Italian, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Spanish, Swedish<br />
<br />
<a href="http://meesoft.logicnet.dk/DiagramDesigner/support.htm"><font color="#0000b0">关于译者...</font></a>.<br />
<br />
</font></p>
<h2>简介</h2>
<p class="description">简单易用的矢量图编辑器，可绘制流程图、UML图、说明图和演示。</p>
<h2>功能</h2>
<ul>
    <li>自定义对象模板</li>
    <li>拼写检查 (参见下面的词典)</li>
    <li>导入/导出 WMF, EMF, BMP, JPEG, PNG, MNG, ICO, GIF 以及 PCX 格式</li>
    <li>幻灯片播放</li>
    <li>根据简单的数学表达式绘制图形</li>
    <li>可以解方程的高级计算器</li>
    <li>整合了MeeSoft Image Analyzer用来编辑位图以及其他扩展格式</li>
    <li>使用压缩格式，使得文件尺寸最小</li>
</ul>
<p><br />
<img src="http://meesoft.logicnet.dk/DiagramDesigner/Plot.png" alt="" /> <br />
<br />
<a href="http://meesoft.logicnet.dk/DiagramDesigner/Demo.ddd"><img src="http://meesoft.logicnet.dk/DiagramDesigner/Screen2.png" border="0" alt="" /></a>&nbsp;<br />
&nbsp;</p>
<p><u><font color="#800080"><a href="http://xbeta.info/files/diagram-designer.htm">http://xbeta.info/files/diagram-designer.htm</a></font></u></p>]]></description>
		</item>
		
</channel>
</rss>
