Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TDateTimePicker weiterlaufen lassen (https://www.delphipraxis.net/87119-tdatetimepicker-weiterlaufen-lassen.html)

DelphiManiac 23. Feb 2007 14:46


TDateTimePicker weiterlaufen lassen
 
Hallo,
zur Einstellung einer Uhrzeit nutze ich einen TDateTimPicker.

Mein Problem hierbei ist, dass ich ihn mit Werten initialisiere (Stunde, Minute, Sekunden, mSekunde) und will,
dass er dann die Uhrzeit selbst hochzählt und weitelaufen lässt. Leider macht er das nicht :-(

Vielleicht wisst ihr ja die Lösung.

Thx!!

mkinzler 23. Feb 2007 15:21

Re: TDateTimePicker weiterlaufen lassen
 
Mit dem normalen Picker wird das nicht gehen.

DelphiManiac 23. Feb 2007 15:24

Re: TDateTimePicker weiterlaufen lassen
 
Mmh,

was kann man denn dann dafür nehmen?
Gruß
DelphiManiac

Jürgen Thomas 23. Feb 2007 16:28

Re: TDateTimePicker weiterlaufen lassen
 
Hallo,

für das automatische Weiterlaufen einer Zeit bietet sich doch ein Delphi-Referenz durchsuchenTimer an. Damit der nicht zusehr flackert, habe ich mir angewöhnt, ihn auf ein Intervall von 600 msec einzustellen. Der kann dann die jeweils aktuelle Zeit z.B. auf einem Label anzeigen.

Ich meine, der DateTimePicker müsste auch gehen, indem DateTimePicker.Value zugewiesen wird. Aber ich glaube nicht, dass das so schön wäre. Jürgen

DelphiManiac 23. Feb 2007 17:50

Re: TDateTimePicker weiterlaufen lassen
 
Hi,

ja das wäre eine Möglichkeit, und zudem sehr praktikabel,
aber gibt es denn wirklich keine Uhr - Komponente, wo man die Uhrzeit einstellen kann und sie dann weiterläuft???

Danke euch.

Gruß
DelphiManiac

shmia 23. Feb 2007 17:57

Re: TDateTimePicker weiterlaufen lassen
 
Mit einem zusätzlichen TTimer ist das kein Problem:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   DateTimePicker1.Time := DateTimePicker1.Time + 1.0 / (24.0*60.*60.0);
end;
Das Timerinterval sollte dabei auf 1000 (=1s) stehen.
Besonders genau wird das mit dem Timer nicht, aber auch dafür gibt es Möglichkeiten.

Hobby-Programmierer 23. Feb 2007 18:13

Re: TDateTimePicker weiterlaufen lassen
 
Nabend ...,
für eine Statusbar mit Uhrzeitanzeige hatte ich das in etwa so gelöst. Der Trenner zwischen Stunde und Minute blinkt damit der Benutzer net denkt das die Uhr steht!
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Tag:= StrToInt(FormatDateTime('s', Now));
  if odd(Timer1.Tag) then
    Label1.Caption:= FormatDateTime('hh:mm', Now)
   else
    Label1.Caption:= FormatDateTime('hh mm', Now);
end;
Den Rest hatte ja shmia schon erklärt.

LG Mario


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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