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 [BEANTWORTET] Datum aus DateTimePicker auslesen!?? (https://www.delphipraxis.net/102810-%5Bbeantwortet%5D-datum-aus-datetimepicker-auslesen.html)

dartrax 5. Nov 2007 12:19


[BEANTWORTET] Datum aus DateTimePicker auslesen!??
 
Hi,
ich möchte, dass der DateTimePicker (Kind: Datum ohne Dropdown) folgendes Format anzeigt: z. B. 2005/06 oder 2006/07. Ich habe das gelöst, in dem ich den Formatstring bei jedem Change-Ereignis anpasse:

DtpJahr.Format := 'yyyy/' + FormatDateTime('yy', IncYear(DtpJahr.Date, 1)); // Aus dem Kopf getippt da nicht zu hause

Das Problem: DtpJahr.Date scheint NICHT das im DateTimePicker angezeigte Format zurückzugeben, sondern immer nur das heutige Datum! Date ist ja eine solche Funktion, und ich habe irgendwo gelesen, dass da ein Bug in dem Control sein soll. Ich arbeite mit Delphi 7. Wie kann man diesen umgehen?

Vielen Dank,
dartrax

mkinzler 5. Nov 2007 12:28

Re: Datum aus DateTimePicker auslesen!??
 
Der Fehler ist das .Date ein TDateTime zurückgibt und nicht ein TDate. Aber es wird nicht im angezeigten Format sondern als windowsinterner Zeittyp zurückgegeben.

dartrax 5. Nov 2007 19:55

Re: Datum aus DateTimePicker auslesen!??
 
Zitat:

Zitat von mkinzler
Der Fehler ist das .Date ein TDateTime zurückgibt und nicht ein TDate.

Bist du sicher? Die Entwicklungsumgebung zeigt mir an, das die property .Date ein TDate zurückgibt und die Property .DateTime ein TDateTime. Einer von euch hat unrecht ;)

Aber das ist doch auch egal, oder? Entweder DateToStr(DtpJahr.Date) oder DateToStr(DtpJahr.DateTime) - mindestens einer von denen müsste mir doch das im DateTimePicker eingestellte Datum zurückgeben - tut aber keiner. Stets 2007.

Zitat:

Zitat von mkinzler
Aber es wird nicht im angezeigten Format sondern als windowsinterner Zeittyp zurückgegeben.

Ja!?

dartrax

mkinzler 5. Nov 2007 20:14

Re: Datum aus DateTimePicker auslesen!??
 
Intern sieht aber ein TDate, TTime und ein TDateTime gleich aus (Double). Die Eigenschaft .date sollte aber nur den ganzzahligen Anteil zurückgeben gibt aber auch den Nachkommaanteil zurück

Hawkeye219 5. Nov 2007 20:19

Re: Datum aus DateTimePicker auslesen!??
 
Hallo,

Zitat:

Zitat von dartrax
DateTimePicker (Kind: Datum ohne Dropdown)

Hast du für die Eigenschaft Delphi-Referenz durchsuchenTDateTimePicker.Kind auch wirklich den Wert dkDate gewählt? Mit dem Wert dkTime läßt sich das beschriebene Verhalten nachvollziehen.

Gruß Hawkeye

sirius 5. Nov 2007 20:54

Re: Datum aus DateTimePicker auslesen!??
 
Der DatetimePicker hat min. einen Bug. aber ich sehe grad nicht, dass dieser mit deinem Problem zu tun hat.

Edit:
Funktioniert bei mir reibungslos.

dartrax 5. Nov 2007 22:19

Re: Datum aus DateTimePicker auslesen!??
 
Zitat:

Zitat von Hawkeye219
Hallo,

Zitat:

Zitat von dartrax
DateTimePicker (Kind: Datum ohne Dropdown)

Hast du für die Eigenschaft Delphi-Referenz durchsuchenTDateTimePicker.Kind auch wirklich den Wert dkDate gewählt? Mit dem Wert dkTime läßt sich das beschriebene Verhalten nachvollziehen.

Gruß Hawkeye

Hallo Hawkeye,

danke für den Tipp, das war großartig! :thumb:

Ich hatte Kind auf Time gestellt, weil so das Drehfeld angezeigt wird statt dem DropDown, was ich ja wollte. Das es dafür eigentlich die DateMode-Eigenschaft gibt, war mir zur späten Stunde nicht zugegen. Beides umgestellt, jetzt geht's.

Vielen Dank!
dartrax


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