在DELPHI中我要写一段计时循环即在一段时间内(如10秒)完成一件事,我是这样
计时的:
currentTime:=GetTickCount() div 1000;
//计时开始
while((GetTickCount() div 1000)<(currentTime+10)) do
begin
//处理一件事
....
....
....
end;
这样可以吗?不过使用起来不是很好。我想过用Timer,但它好象是每隔一段时间做
一件事,这与我这边程序的要求:在一段时间内(如10秒)完成一件事,好象不太
一样吧,应该怎么办呢?
计时的:
currentTime:=GetTickCount() div 1000;
//计时开始
while((GetTickCount() div 1000)<(currentTime+10)) do
begin
//处理一件事
....
....
....
end;
这样可以吗?不过使用起来不是很好。我想过用Timer,但它好象是每隔一段时间做
一件事,这与我这边程序的要求:在一段时间内(如10秒)完成一件事,好象不太
一样吧,应该怎么办呢?
解决方案 »
- 哪位大侠帮我解释一下update users set PASSWORD=:PASSWORD where USERID=:USERID中=后面的值从哪里获得??
- 关于:StringGrid 列宽的问题?
- 请教:线程中调用一函数,要等到这函数执行完毕才允许其它线程(包括主线程)运行,可以做到吗?
- 用户在ole打开的Word中绘制了一些图形,想保存成图片 请问怎么实现?
- 关于路径返回
- 那里有delphi下载!!!
- 菜鸟问题:关于Treeview 如何添加子结点?
- 请问我用TRichEdit控件如何保持焦点在最后一行??
- delphi还可以拿来作诗啊
- Dll 的地址冲突问题!
- TIdhttp.get方法打开google搜索引擎发生错误?
- 誰能解決"Read failure"的問題﹖送500分。
begin
//开始
timer1.Enabled := False;
//做事
...
//结束
timer1.Enabled := Ture;
end;
2: 放置一个timer,interval设为1000;enabled 为false
3: 在你要触发执行事件时给Vnowsecond设值;同时设 timer的enabled 为 true
如:
procedure TForm1.Button1Click(Sender: TObject);
begin
VbeginSecond0;
VnowSecond:=VbeginSecond;
timer.enabled:=true;
end;4: 在timer的Ontimer事件中写下面代码:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
while VbeginSecond+10>VnowSecond do
begin
//The code what you want to do
VnowSecond:=VnowSecond+1;
end;
timer1.Enabled:=false;end;
end;
1、用Timer控件,将Timer的enable设为False,interval设为5s,
2、设一个变量Time:integer; Time:=0
3、你要完成的操作代码,后面加上for i:=1 to 10 do
begin
Time:=Time+1;
if Time=2 then
showmessage('时间到了哦‘)
end;