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 Datum UND Uhrzeit in DateTimePicker anzeigen UND ändern (https://www.delphipraxis.net/66301-datum-und-uhrzeit-datetimepicker-anzeigen-und-aendern.html)

punki 28. Mär 2006 07:13


Datum UND Uhrzeit in DateTimePicker anzeigen UND ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi zusammen,

ich habe folgendes Problem mit DateTimePicker:
Wenn ich mein DateTimePicker-Control so formatiere, dass es Datum und Uhrzeit anzeigt, (siehe sFormat im Delphi-Code) liefert die OnChange-Routine "DateTimePicker1Change" nur das geänderte Datum oder die geänderte Uhrzeit zurück, je nachdem ob die property kind mit dtkTime oder dtkDate belegt ist, jedoch nicht beide geänderte Werte.

DateTimePicker erlaubt Datum und Uhrzeit im Control gleichzeitig zu ändern.
Wie schaffe ich es beide geänderte Werte auszulesen?

Delphi-Quellcode:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
var
  sD,sT,sFormat: string;
begin
  DateTimePicker1.kind := dtkTime; //dtkDate;
  DateTimePicker1.Width:=110;
  sFormat := 'dd.MM.yyyy HH:mm';
  DateTimePicker1.Perform(DTM_SETFORMAT, 0, DWORD(sFormat));
  sD:=DateToStr(DateTimePicker1.DateTime);
  sT:=TimeToStr(DateTimePicker1.DateTime);
  OutPutDebugString(PChar('DateTimePicker1Change: '+sD+'/'+sT));
end;

Vielen Dank schon im voraus.
:spin2:

[edit=alcaeus]Wir haben delphi-Tags, so musst du Code nicht mit BBCodes selbst formatieren ;) Mfg, alcaeus[/edit]

Frank Borland 28. Mär 2006 09:17

Re: Datum UND Uhrzeit in DateTimePicker anzeigen UND ändern
 
Moin,

SetFormat() ist sicher nur zu Demonstrationszwecken im OnChange() :-D
Gibt DateTimePicker.Time auch keinen korrekten Wert zurück?

Gruß


Malte

punki 28. Mär 2006 12:07

Re: Datum UND Uhrzeit in DateTimePicker anzeigen UND ändern
 
Hallo,

falls DateTimePicker1.kind = dtkTime:
DateTimePicker.Time liefert die in DateTimePicker geänderte Zeit korrekt zurück, das geänderte Datum wird nicht zurückgegeben, sondern der Anfangswert des Datums.

falls DateTimePicker1.kind = dtkDate:
DateTimePicker.Date liefert das in DateTimePicker geänderte Datum korrekt zurück, die geänderte Zeit wird nicht zurückgegeben, sondern der initiale Wert der Zeit.

Dem angehängten File (datetimepicker.jpg) ist zu entnehmen, daß sowohl das Datum als auch die Zeit geändert werden kann.
Kann es sein, daß dies von TDateTimePicker so gewollt ist?

Gruß
Punki.

PS: SetFormat() ist nur zu Demonstrationszwecken im OnChange(). :-D

TeronG 28. Mär 2006 13:15

Re: Datum UND Uhrzeit in DateTimePicker anzeigen UND ändern
 
hmm komisch .. geht aber scheinbar echt nicht ... nach der änderung der Zeit spring bei mir das Datum sogar wieder zurück :gruebel:

Zitat:

Zitat von OH
Beschreibung

Wenn Kind den Wert dtkDate hat, unterstützt das Steuerelement die Bearbeitung des Datums. Das Standardformat enthält lediglich den Datumsanteil des Wertes. ...

Wenn Kind den Wert dtkTime hat, unterstützt das Steuerelement die Bearbeitung der Uhrzeit. Das Standardformat enthält lediglich den Zeitanteil des Wertes. ...



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz