![]() |
AW: Weiterlernen
Auch unter Delphi 7 solltest du DateUtils in den uses einbinden können:
Delphi-Quellcode:
implementation
uses DateUtils; |
AW: Weiterlernen
Zitat:
Ehm,ok jetzt klappt fast alles nur dass sich der timer nicht wiederholt.Die labele zeigt nur 00:00:59 an,und nach einer sekunde bleibt es auf 00:00:59.
Delphi-Quellcode:
var
Form1: TForm1; TotalTime,x:TTime; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin totaltime := IncSecond (0, 60); totaltime := IncSecond (totaltime,-1); //Versucht durch "x" variable zu ersetzen,gleiches resultat. label1.Caption:=Timetostr(totaltime ); end; end. |
AW: Weiterlernen
Noch einmal - das Initialisieren der totaltime Variable gehört nicht in das OnTimer-Event. Du setzt bei jedem Durchlauf totaltime erst auf 60, dann auf 59 Sekunden.
Diese Intialisierung solltest du z.B. im OnCreate des Formulars durchführen. |
AW: Weiterlernen
Zitat:
|
AW: Weiterlernen
Ich weiß leider nicht genau, welche Delphi-Version du einsetzt.
Als erstes solltest du das neue Formular gleich mal wieder löschen - und auf das alte Wechseln. In der Designansicht kannst du jede vorhandene Komponente anwählen, auch das grundlegende Formular. Im Objektinspektor sollte es dann zwei Reiter "Eigenschaften" und "Ereignisse" - dort in den Reiter Ereignisse wechseln. Da solltest du dann ein OnCreate finden und dann einfach in das leere Edit rechts daneben doppelklicken, dann sollte im Code der Rumpf für das FormCreate erscheinen. |
AW: Weiterlernen
Zitat:
Delphi-Quellcode:
Ah,man braucht also nicht zwei Formen. :lol:
var
Form1: TForm1; TotalTime,x:TTime; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin totaltime := IncSecond (0,60); totaltime := IncSecond (totaltime,-1); end; procedure TForm1.FormCreate(Sender: TObject); begin label1.Caption:=Timetostr(totaltime ); end; end. Will jetzt nicht dass ganze forum voll spamen,aber die label zeigt einfach 00:00:00 an. PS:Ich benuzte Delphi 7. |
AW: Weiterlernen
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin //bei jedem Aufruf des Timer-Ereignisses totaltime := IncSecond(totaltime, -1); //1 Sekunde abziehen label1.Caption:=Timetostr(totaltime); //Label aktualisieren end; procedure TForm1.FormCreate(Sender: TObject); begin totaltime := IncSecond (0,60); //hier deine Variable initialisieren! end; end. |
AW: Weiterlernen
Zitat:
PS:Muss ich das so machen weil sich die variable sonst bei jedem timer tick "resetet" ? |
AW: Weiterlernen
Die resettet sich nicht von alleine - du machst das.
Delphi-Quellcode:
setzt totaltime auf den Wert 60 Sekunden.
totaltime := IncSecond (0,60);
|
AW: Weiterlernen
Zitat:
Und war es möglich,eine procedure zu erstellen die "OnCreate" ersetzt,weiss eigentlich nicht so viel über proceduren. :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz