delphi 一个程序问题
procedure TForm1.FormCreate(Sender: TObject);begin
if datetimetostr(now)>'2011-1-31 13:11:00'then
form1.Close;
end; 结果是form1窗口并没有关闭,如何能够按照获取的时间值来关闭窗口?
请高手指教。
答案:楼主的程序不能关闭的原因是字符串比较错误
因为DateTimeToStr返回的字符串是带有特殊字符的, 比如今天的日期就是2011/1/31 13:11:00
所以不能比较, 可以提取日期和时间单独比较, 写了一个给楼主
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
const
dTargetDate: DWORD = 20110131;//日期
dTargetTime: DWORD = 131100; //时间
var
dYear, dMonth, dDay, dHour, dMinite, dSecond, dMSecond: WORD;
dCurrent: DWORD;
begin
DecodeDate(Now, dYear, dMonth, dDay);
DecodeTime(Now, dHour, dMinite, dSecond, dMSecond);
dCurrent := dYear * 10000 + dMonth * 100 + dDay;
if dCurrent > dTargetDate then
Form1.Close
else if dCurrent = dTargetDate then
begin
dCurrent := dHour * 10000 + dMinite * 100 + dSecond;
if dCurrent > dTargetTime then
Form1.Close;
end;
end;
上一个:Delphi 7怎么编译
下一个:跪求delphi语句解释