
Delphi 秒钟 暂停应该怎么写?
procedureTForm1.Timer1Timer(Sender:TObject);beginLabel1.Caption:=FormatDateTime('hh:n...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption :=FormatDateTime('hh:nn:ss',now-time);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if i=0 then
begin
i:=1;
time:=now;
timer1.Enabled :=true;
exit;
end;
s:= now-time ;
label1.Caption := FormatDateTime('hh:nn:ss' , s );
end;
通过这段代码实现了秒钟的功能。但是暂停键 应该怎么写代码?
有人可以帮帮我不... 展开
begin
Label1.Caption :=FormatDateTime('hh:nn:ss',now-time);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if i=0 then
begin
i:=1;
time:=now;
timer1.Enabled :=true;
exit;
end;
s:= now-time ;
label1.Caption := FormatDateTime('hh:nn:ss' , s );
end;
通过这段代码实现了秒钟的功能。但是暂停键 应该怎么写代码?
有人可以帮帮我不... 展开
展开全部
再加个变量,记录你暂停的那一时刻时间到当前的时间,,,最后计算时再减去这个变量就相当于是秒钟暂停了。
追问
我试过了,为什么 老不行
追答
btn1,btn2,btn3是三个按钮,,,名字取为'btn1','btn2','btn3'。pnl1为一个panle 名字取为'pnl1'
//////
procedure xtime;
var
h,m,s:integer;
begin
h:=0;
m:=0;
s:=0;
repeat
if endlable then
begin
sleep(10);
continue;
end;
inc(s);
if s=60 then
begin
inc(m);
s:=0;
if m=60 then
begin
inc(h);
m:=0;
if h=24 then h:=0;
end;
end;
form1.pnl1.Caption:=Formatfloat('00',h)+':'+Formatfloat('00',m)+':'+Formatfloat('00',s);
sleep(1000);
until endtask=2;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
id:dword;
begin
endtask:=1;
endlable:=false;
CloseHandle(CreateThread(nil,0,@xtime,nil,0,id));
btn1.Visible:=false;
end;
procedure TForm1.btn2Click(Sender: TObject);
begin
endlable:=not endlable;
if endlable then
btn2.Caption:='继续'
else
btn2.Caption:='暂停'
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
endtask:=2;
btn1.Visible:=true;
end;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure TForm1.Button2Click(Sender: TObject); //暂停
begin
timer1.Enable:=False;
end;
procedure TForm1.Button3Click(Sender: TObject); //恢复
begin
time:=now-StrToTime(Label1.Caption);
timer1.Enable:=True;
end;
begin
timer1.Enable:=False;
end;
procedure TForm1.Button3Click(Sender: TObject); //恢复
begin
time:=now-StrToTime(Label1.Caption);
timer1.Enable:=True;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
timer1.Enabled :=false; 就停了
追问
这个我知道 但是label是暂停显示了 但是秒钟还是在动啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询