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 DateTimePicker -> Fehler am 01.01.06 um 00:00:00 (https://www.delphipraxis.net/60343-datetimepicker-fehler-am-01-01-06-um-00-00-00-a.html)

Logan 5. Jan 2006 15:07


DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Hi Leute,

ich habe einen ganz komischen Fehler, wenn ich die oben genannte Zeit (01.01.2006 00:00:00) laden will, nachdem ich sie in eine Liste (alle Listen Operationen arbeiten zu 100% korrekt) eingefügt habe.

Fehler lautet:
Um das Datum zu setzen, müssen Sie im Modus ShowCheckBox sein.

Was hat dies mit dem Modus zu tuen??? Ich will diesen Modus gar nicht implementieren.
Kennt jemand eine Lösung dafür?

Vielen Dank schon im Vorraus!!!

EDIT: Habe es nochmal getestet und nun kommt der Fehler bei der Uhrzeit 00:00:00 (egal welches Datum)

ibp 5. Jan 2006 15:28

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
hallo und herzlich willkomen bei dp!

zeig mal ein wenig code, bei mir klappt das
Delphi-Quellcode:
datetimepicker1.DateTime:=strtodatetime('01.01.2006 00:00:00)'
jedenfalls!

...achso wegen der darstellung noch:
Delphi-Quellcode:
datetimepicker1.Format:='dd.MM.yyy HH:mm:ss';

jim_raynor 5. Jan 2006 15:35

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Das Problem hatte ich auch und liegt daran, dass Der DateTimePicker keinen Wert 0 erlaubt.

Schau dir mal deinen Date-Wert des DateTimePickers an.

Da du ja bestimmt einen für den Tag und einen für die Zeit hast, solltest du beim setzen des Zeit wertes einfach noch 1 hinzuaddieren. Also in etwa so:

Delphi-Quellcode:
TimePicker.DateTime:=1+MyTime
Dann kann dieser nicht 0 werden und es kommt nicht zu dem Fehler ... Ich musste auch ganz schön suchen, bis ich dieses Verhalten entdeckt habe.

Logan 5. Jan 2006 15:42

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Mein Code:
Delphi-Quellcode:
  Termin.Termin.DateTime := StrTODateTime(Concat(DateTOStr(DT_Date.DateTime),' ',TimeTOStr(DT_Time.DateTime)));
@Jim_Raynor:

Verändert diese Plus 1 nicht den Wert? Also kann nicht draus ein anderer Tag entstehen oder so was ähnliches? Irgendwas muss es ja bewirken, bis auf die Lösung des Problems :)

jim_raynor 5. Jan 2006 15:45

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Zitat:

Zitat von Logan
Verändert diese Plus 1 nicht den Wert? Also kann nicht draus ein anderer Tag entstehen oder so was ähnliches? Irgendwas muss es ja bewirken, bis auf die Lösung des Problems :)

Wenn du Datums und Zeiteingabe getrennt hast, dann nicht. Wenn alles in einem ist, so wie es ja aussieht, dann schon ;) Aber auf jeden Fall ist das Problem, dass DateTime nicht 0 werden darf. Wie man es dann letztendlich umgeht, ist eine andere Sache :zwinker: Da ich bei mir Datums und Zeit getrennt habe. Konnte ich das +1 einfach machen.

Logan 5. Jan 2006 15:47

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Danke :zwinker:

ibp 5. Jan 2006 15:49

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
probier es doch mal so... dan kannst du dir das konvertieren sparen...

Delphi-Quellcode:
Termin.Termin.Date:= DT_Date.Date;
Termin.Termin.Time:= DT_Time.Time;
was genau steht in DT_Date.DateTime und in DT_Time.DateTime?

ManuMF 5. Jan 2006 16:05

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Hmmm... Termin.Termin? Geht denn das ohne Probleme?

Gruß,
ManuMF

Logan 5. Jan 2006 16:20

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
@ibp:
DT_Date.DateTime (dtkDate) enthält von Anfang an 30.12.1899
DT_Time.DateTime (dtkTime) enthält von Anfang an 00:00:00
also die werden auch nicht berührt.
Der andere Wert ist der Wert der eingestellt wird

@ManuMf:
Ne, hat nichts damit zu tuen.Ist ein Datensatz mit Termin und das andere Termin ist die Variable. Blöd gewählt :) sry falls das verwirrt hat!

EDIT: Habe es nun umgeschrieben mit dem Plus 1 aber klappt irgendwie doch nicht?! Vorallem verstehe ich nicht wieso der auf einmal meckert davor lief alles wunderbar...

ManuMF 5. Jan 2006 16:38

Re: DateTimePicker -> Fehler am 01.01.06 um 00:00:00
 
Deshalb frage ich ja... Ich wundere mich, dass Delphi da nicht gemeckert hat, der Name sei schon vergeben.

Geht es darum, den TTime-Wert und den TDate-Wert zusammenzubringen? Dann hilft das vielleicht:
Delphi-Quellcode:
DateTime := Trunc(Date) + Frac(Time);
Gruß,
ManuMF


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