我用两个edit
一个获取当前时间
edit1.Text:=TimeToStr(now);
获取的时间是 16:34:02我怎么判断edit2的值和edit1的值相同 然后关机?if
edit2.Text = edit1.Text then //这样不执行关机命令
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end
我把timer控件的interval的值设置为1000 1秒走动一次 不影响吧?
只是想用这种简单的方法实现关机功能
谁可以帮我改改?
谢谢
一个获取当前时间
edit1.Text:=TimeToStr(now);
获取的时间是 16:34:02我怎么判断edit2的值和edit1的值相同 然后关机?if
edit2.Text = edit1.Text then //这样不执行关机命令
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end
我把timer控件的interval的值设置为1000 1秒走动一次 不影响吧?
只是想用这种简单的方法实现关机功能
谁可以帮我改改?
谢谢
比较的时候再转回time形式比较不行吗?
strtodatetime(edit1.text)=strtodatetime(edit2.text) then
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end这样也错了 郁闷
还是不能关机 没反应
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end
else
showmessage(edit1.text+‘-’+edit2.text )
edit1直接获取的系统时间
是timer的ontimer时间
edit1.Text:=datetimetostr(now);edit2就是要用户输入的一个文本框
格式就是xxxx:xx:xx 00:00:00 这样的现在n次开机关机的结论
可以直接写 不用 strtodatetime就可以了
if edit1.text=edit2.text then
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end
但是点button 必须是在edit1的值于edit2的值完全相同的情况下才关机
而不是当系统时间走到于edit2的值的时候才关机恩 比如先写edit2的值为 2008:11:26 17:40:30
edit1获取系统时间走到 2008:11:26 17:40:30 这个时间 也就是两个值完全相同的时候点button才能关机 否则不能关机我希望先设置edit2的时间 点button 然后edit1走到edit2设置的时间关机
我该怎么解决?
格式就是xxxx:xx:xx 00:00:00 这样的 格式相同么?
strtodatetime是什么格式?????
xxxx-xx-xx 00:00:00
呃 现在不用考虑那些
现在最大的问题就是
怎么才能实现先设置edit2的值点button 然后在edit1获取系统时间走到设置的edit2的值的时候执行
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE); 为什么我这里必须是设置完edit2的值后 等到edit1的值完全等于edit2的值的时候点button才能成功关机?
timer1.enabled:=true;?
if edit1.text=edit2.text then
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end button里执行的就是这些代码
我直接把timer1的enabled设置为true了
timer1只是获取系统时间显示在edit1中的
于button没有直接关系
难道必须先设置timer1的enabled为false
然后点button写上timer1.enabled:=true;?
timer1事件里面去,不要button了。
var
RealClose: Bool = False;procedure TForm1.procedure Button1OnClick(Sender: TObject);
begin
RealClose := True;
end;procedure TForm1.tmr1Timer(Sender: TObject);
begin
edit1.Text := datetimetostr(now); if (RealClose) and (edit1.text=edit2.text) then
begin
ShellExecute(0,'open','shutdown.exe',' -f -s -t 0',nil,SW_HIDE);
end; end;