比如我要在edit.txt上显示启动timer后的剩余时间,要怎样获取呢?
解决方案 »
- 原来CSDN和我们在一个院子里面。老大别老是把灌水的帖子往灌水乐园转,不然人气全没了。
- Adodataset添加记录问题
- 有类似EXCEL表格的控件吗?》要能修改行和列的名字,谁有,介绍一个,急,谢
- 一个关于得到IP地址的小问题!
- 如何处理屏幕的问题?
- UP者有分,你,公司会在软件留后门吗?(万能密码,定时报差之类的东西?)
- 有关combobox的问题
- 关于流 请高手指教.在线等候,正确马上给分!
- 菜鸟问题:为什么我在WIN2000 SERVER下配置SQL SERVER服务器总是失败。
- 如何监测网络流量?
- select
- Dcomconnection 有的客户端能连上,有的无法连接,请赐教 重谢
Form1: TForm1;
time1,time2:Ttime;implementation{$R *.dfm}procedure TForm1.Timer1Timer(Sender: TObject);
begin
time1:=time1-time2;
edit1.Text:=timetostr(time1-time2);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
time2:=strtotime('0:0:1');
time1:=strtotime('23:59:59');
end;end.
如,我定义为10分钟,现在我要在edit.tex上显示离执行这段代码还有多长时间,9 8 这样倒计时
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Timer2: TTimer;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
time1,time2:Ttime;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
time2:=strtotime('00:00:01');
time1:=strtotime('00:01:00');
edit1.Text:=('00:01:00');
timer1.Enabled:=false;
timer2.Enabled:=false;
timer1.Interval:=1000;
timer2.Interval:=60000;
timer1.Enabled:=true;
timer2.Enabled:=true;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
time1:=time1-time2;
edit1.Text:=timetostr(time1-time2);
end;procedure TForm1.Timer2Timer(Sender: TObject);
begin
timer1.Enabled:=false;
timer2.Enabled:=false;
showmessage('1分钟到了!');
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Timer2: TTimer;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
Function IntervaltoDateTime(Interval : LONGLONG) :TDateTime; //将time1的毫秒转换为时间格式,但不能超过23:59:59,否则丢失
public
{ Public declarations }
end;var
Form1: TForm1;
startime :TDateTime;
lentime :TDateTime;implementation{$R *.dfm}Function TForm1.IntervaltoDateTime(Interval : LONGLONG) :TDateTime;
var
hour,min,second,midtime :integer;
Ischeck :Boolean;
begin
Ischeck := Interval div 1000 >0 ;
if Not Ischeck then Result := StrToDateTime('00:00:00');
midtime := Interval div 1000;
second := midtime mod 60;
midtime := midtime div 60;
min := midtime mod 60;
midtime := midtime div 60;
if midtime <24 then hour := midtime
else hour := 23;
Result := StrToDateTime(inttostr(hour)+':'+IntToStr(min)+':'+IntToStr(second));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
startime := Now;
lentime := IntervaltoDateTime(Timer1.Interval);
Timer1.Enabled := True; //开启定时
Timer2.Enabled := True; //开启到记时显示
end;procedure TForm1.Timer2Timer(Sender: TObject);
var
dectime :TDateTime;
begin
dectime :=lentime -(Now - startime) ;
Edit1.Text := TimeToStr(dectime);end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
startime := Now; //重新初始化新的定时
lentime := IntervaltoDateTime(Timer1.Interval);
end;end.
设置两个全局变量,
var
LastTime:Double;
I:Integer;在执行timer前先把总的时间值赋给LastTime,然后I:=0;
然后在timer的事件里面写代码:
begin
LastTime:=LastTime-I*Internal;
Inc(I);
Edit1.Caption:=FloatToStr(LastTime);
end;
是这样的
我现在有一个timer,timer1.interval:=strtoint(edit1.text)
现在我希望程序执行的时候在edit2.text上显示timer1的倒计时
只要知道了第一个TIMER的间隔。取出来,然后做一个计数器。每隔一个单位时间(由第二个TIMER来控制),自减一。然后显示(这个代码也写在第二个TIMER中)。这样说的清楚了吧。代码应该不难的吧