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 mit TDateTimePicker kleiner als 1753 wählbar? (https://www.delphipraxis.net/80806-datum-mit-tdatetimepicker-kleiner-als-1753-waehlbar.html)

holliesoft 15. Nov 2006 16:27


Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Hallo zusammen,

hab das Problem dass ich mit dem TDateTimePicker kein Datum < 1753 wählen kann. Weiß jemand einen Workaround?

3_of_8 15. Nov 2006 16:34

Re: Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Selber schreiben oder ableiten und überschreiben oder Code kopieren und ändern.

holliesoft 15. Nov 2006 19:23

Re: Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Hallo,

Deine Antwort ist sehr konstruktiv, muss ich sagen :-( Ich hatte gehofft, dass mit jemand hier einen Hint geben kann... Laut VCL-Source ist TDateTimePicker von TCommonCalendar abgeleitet. Diese Klasse hat ein Feld FMinDate. Welchen Initialwert hat FMinDate? Der Wert wird nicht im OnCreate gesetzt. Ich stehe im Moment leider etwas auf dem Schlauch. :gruebel:



Gruß
Patrick

3_of_8 15. Nov 2006 19:26

Re: Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Dann könnte es sein, dass er 0 ist.

marabu 15. Nov 2006 19:37

Re: Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Hallo Patrick,

solange du mit TDateTimePicker arbeitest, bist du festgelegt:

Microsoft Platform SDK : Date and Time Picker Controls
... The DTP control is based on the Gregorian calendar, which was introduced in 1753. It will not calculate dates that are consistent with the Julian calendar that was in use prior to 1753. ...

Darüberhinaus arbeitet Windows selbst auch nicht mit Datumsangaben vor 1601. Ist aber auch okay, da man mit solchen Datumsangaben nicht "rechnet" - in der Regel werden solche Datumsangaben nur als Zeichenketten hinterlegt.

Gute Nacht

holliesoft 15. Nov 2006 20:16

Re: Datum mit TDateTimePicker kleiner als 1753 wählbar?
 
Hallo marabu,

danke für die Antwort. Das hatte ich mir schon fast gedacht... Mist, aber gut, kann man nichts machen. Allerdings habe ich bei der JVCL eine DateEdit-Komponente gefunden, die nicht auf dem Windows Control basiert und Datumsangaben auch vor 1753 akzeptiert.

Wenn ich das gewusst hätte, was in der Wikipedia zum gregorianischen Kalender zu lesen ist, wäre die Ursache klar gewesen:

Zitat:

Zitat von Wikipedia
In England (und auch in den späteren USA) wurde der gregorianische Kalender in der Nacht vom 2. September auf den 14. September 1752 eingeführt.

Ich dachte dass die Umstellung überall gleichzeitig gemacht wurde. Tja, wieder etwas schlauer...


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