Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.032 c
15-1139380388
race1
2006-02-08 09:33
2006.02.26
Бесплатная программа


2-1139327879
dabreezy
2006-02-07 18:57
2006.02.26
Вопрос по потокам.


15-1138966981
DelphiFan
2006-02-03 14:43
2006.02.26
MinGW


2-1139310245
Tsa
2006-02-07 14:04
2006.02.26
Работа с HDD


15-1139069415
Vemer
2006-02-04 19:10
2006.02.26
Как побороть "Не найдена страница поиска!" в IE?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский