![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
таймер и обратній отсчет [D7, WinXP]
linox © (2006-01-27 12:27:00)два батона (старт и стоп).
счет должен идти только в минутах (часах) без секунд.
должен быть прямой таймер и обратный. как это реализовать?
han_malign (2006-01-27 13:54:00) [1]
> kukuikar ©
лучше так:
.............................................
private
FExpiration: TDateTime;
FStart: TDateTime;
.............................................
procedure TForm1.Timer1Timer(Sender: TObject);
var Elapsed, Remaining: TTime;
begin
Elapsed:= Time - FStart;
Remaining:= FExpiration - Elapsed;
if(Remaining < 0) then begin
Remaining := 0;
ButtonStopClick(self);
end;
Label1.Caption := FormatDateTime('hh:nn',Elapsed)+'/'+FormatDateTime('hh:nn',Remaining);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FStart:= Time;
FExpiration:= EncodeTime(3, 17, 0, 0);
end;
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
FStart = Time;
Timer1.Enabled := true;
ButtonStart.Caption:= 'Reset';
ButtonStop.Enabled:= true;
end;
procedure TForm1.ButtonStopClick(Sender: TObject);
begin
Timer1.Enabled := false;
ButtonStart.Caption:= 'Start';
ButtonStop.Enabled:= false;
end;
kukuikar (2006-01-27 13:33:00) [2]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DateUtils;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
nn: TTime;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := FormatDateTime('ss',time - nn);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
nn := IncMinute(time,1);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := true;
end;
end.
ЮЮ (2006-01-27 12:40:00) [3]
> как это реализовать?
Написать соответствующие обработсики у батонов и таймера. При возникновении реальных проблем возвратиться сюда