Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Zeit mitlaufen lassen bzw Uhrzeit anzeigen


Redfox87 - Do 09.02.06 21:09
Titel: Zeit mitlaufen lassen bzw Uhrzeit anzeigen
Hallo

ich möchte irgendwie in mein Programm ein fenster, also label oder sowas anzeigen, indem die aktuelle uhrzeit angezeigt wird und dann möchte ich auch noch ein Feld haben in dem die Spielzeit oder Programmlaufzeit mitläuft.

Wie mach ich das?
Erbitte hilfe!

Vielen Dank im voraus!

Redfox


Marc. - Do 09.02.06 21:31

machs einfach mitm timer ;)


Delphi-Quelltext
1:
2:
3:
4:
5:
[...]
var
  Form1: TForm1;
  zeit: integer; // "zeit" deklarieren...
implementation



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 zeit := zeit + 1;
 
label1.Caption := TimeToStr(Time); // aktuelle Uhrzeit
label2.Caption := InTtoStr(zeit);  // Spielzeit

label3.Caption := DateTimeToStr(Date); // Datum
label4.Caption := DateTimeToStr(Now); // Datum + Uhrzeit
end;


Redfox87 - Fr 10.02.06 10:44

Das mit der Uhrzeit ist schon klar.

Aber das mit der Timer funktionen zur aktuellen spieldauer kann ich mir nicht vorstellen, dass das gehen soll.

Die Zeit soll von alleine mitlaufen. Sekunden für Sekunde


Tastaro - Fr 10.02.06 11:46

user profile iconRedfox87 hat folgendes geschrieben:
...
Aber das mit der Timer funktionen zur aktuellen spieldauer kann ich mir nicht vorstellen, dass das gehen soll.
...


Programmieren ist keine Glaubensfrage. :)

Probiers doch einfach. Wenn das nicht geht, dann brauchste nen eigenen Thread dafür.

Beste Grüße
Tastaro


p!nhead - Fr 10.02.06 11:56

wenn das intervall des timers auf 1000 ms steht, sollte das so klappen :>


Stefan.Buchholtz - Fr 10.02.06 14:07

user profile iconp!nhead hat folgendes geschrieben:
wenn das intervall des timers auf 1000 ms steht, sollte das so klappen :>


Aber nicht besonders gut - der Timer ist sehr ungenau. Ich würde zum Spielstart die Startzeit merken und bei jeden Timer-Event die abgelaufene Zeit berechnen.



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  startZeit : TDateTime

...

procedure TForm1.StarteSpiel;
begin
  startZeit := Now;
end;

procedure TForm1.Timer1Timer(Sender: TObject);  
begin  
  label1.Caption := TimeToStr(Time); // aktuelle Uhrzeit  
  label2.Caption := InTtoStr(Now - startZeit);  // Spielzeit  
end;


Stefan