Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

таймер и обратній отсчет   Найти похожие ветки 

 
linox   (2006-01-27 12:27) [0]

два батона (старт и стоп).
счет должен идти только в минутах (часах) без секунд.
должен быть прямой таймер и обратный. как это реализовать?


 
ЮЮ ©   (2006-01-27 12:40) [1]


> как это реализовать?

Написать соответствующие обработсики у батонов и таймера. При возникновении реальных проблем возвратиться сюда


 
kukuikar ©   (2006-01-27 13:33) [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.



 
han_malign ©   (2006-01-27 13:54) [3]


> 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;



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
3-1135844495
Paha
2005-12-29 11:21
2006.02.26
Связка нескольких баз Oracle.


3-1136374272
tytus
2006-01-04 14:31
2006.02.26
Ссылочная целосность в таблицах InterBase


2-1138874187
Juice
2006-02-02 12:56
2006.02.26
Rave Reports, проблемы с кириллицей


2-1139561720
ААА
2006-02-10 11:55
2006.02.26
Как написать движок.


8-1126809916
-keks-
2005-09-15 22:45
2006.02.26
bmp в jpg