Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Countdown


LuGo - So 07.02.10 12:34
Titel: Countdown
Hallo,

ich hab mal wieder eine Frage zum Thema Zeit:
Ich versuche ein Programm zu entwickeln, das eine zufällige Zeit herunterzählt und dann einen Block ausführt. Zur kleinen Erläuterung, es soll ein Programm sein, das die Strecke und Geschwindigekeit kennt und dann die Fahrtzeit daraus rechnet und dann herunterzählt. Kann mir jemand den Quellcode sagen und ihn dann erklären. Irgendwie hilft mir das alles nicht weiter, was ich hier und anders gefunden habe.

MfG

LuGo


platzwart - So 07.02.10 13:44

Schau dir mal den Timer an. Den kannst du auf eine beliebige Zeit setzen (Inrtval) und dann starten (Enabled). Sobald die Zeit abgelaufen ist, wird der Code ausgeführt, den du dem OnTimer-Ereignis zugeordnet hast.


Blackheart666 - So 07.02.10 14:53

Hier mal ein kleines bsp. mit Timer vieleicht kannst du damit was anfangen

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
var
  Form1: TForm1;
  Zeit:TDateTime;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Zeit:= StrtoTime('00:01:01');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Zeit < StrtoTime('00:00:01'then
  Caption:='Zeit abgelaufen'
  else
    begin
      Zeit:=Zeit - 1 / SecsPerDay;
      Caption:=TimeToStr(Zeit);
    end;
end;

end.


LuGo - So 07.02.10 18:10

Soweit habe ich das verstanden, danke, ich habe nur eine Frage zu der Zeile:

Delphi-Quelltext
1:
Zeit:= StrtoTime('00:01:01');                    

Kann ich anstelle des Werts 01:01 auch eine Variable einsetzen?

MfG

LuGo


elundril - So 07.02.10 18:17

Klar, wenn sie vom Typ String ist schon. Die hochkomma bedeuten ja eigentlich nix anderes als das es n String ist, nur halt n konstanter string, statt einem variablen.

außerdem musst du aufpassen das deine variable dann auch die richtige formatierung hat, sonst schmeißt dir das Programm ne Exception um die Ohren.

lg elundril