Главная страница
    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.46 MB
Время: 0.039 c
2-1139562422
SPOK
2006-02-10 12:07
2006.02.26
Очень туго с СИ


2-1139716245
stef
2006-02-12 06:50
2006.02.26
Работа с Excell в Delphi


2-1139319160
tytus
2006-02-07 16:32
2006.02.26
TBucketList!


2-1139392053
nap<>
2006-02-08 12:47
2006.02.26
MD5


15-1139001961
Gero
2006-02-04 00:26
2006.02.26
Баннер справа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский