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 in engl. Windows (https://www.delphipraxis.net/90365-datum-engl-windows.html)

stefan681 16. Apr 2007 06:31


Datum in engl. Windows
 
Hallo,

ich habe folgendes Problem:

Wir benutzen die Develop-Express Componenten, insbesondere das Datumeingabefeld, in einem
englischen Windows. Jetzt funktioniert die Eingabe des Datums nicht:

Das Datumstrennzeichen der Komponente ist immer noch der '.', von Windows wird
aber der '/' verlangt. Auch die Einstelleung des DateSeparators bringt keinerlei Verbesserung.
Beim Anklicken des Kalenders mit der Maus wird nur der Tag übernommen, nicht der Monat und das Jahr.
Auch die manuelle Eingabe mit der Tastatur bringt nur sporadischen Erfolg.

Das zweite Problem scheint auch die Funktion StrToDate zu haben, die zeitweise auch mit einem Fehler
abbricht.

Weiss jemand, wir man die englichen Datumsangaben hier programmiert?

Vielen Dank.

Gruss

Stefan

mkinzler 16. Apr 2007 06:42

Re: Datum in engl. Windows
 
Zitat:

Das zweite Problem scheint auch die Funktion StrToDate zu haben, die zeitweise auch mit einem Fehler
abbricht.
Von dieser gibt es eine überladene Funktion, die einen Parameter, für das zu verwendene Format, besitzt.

alzaimar 16. Apr 2007 06:50

Re: Datum in engl. Windows
 
In den Sysutils ist das 'ShortDateFormat' enthalten, das beim Programmstart auf die entsprechende Locale Einstellung gesetzt wird. Prüf doch mal, was da drin steht, denn das wird von StrToDate/DateToStr verwendet.

Da die DevExpress Komponenten aus USA stammen, sollten sie damit eigentlich kein Problem haben. Wir haben hier kein UK/US-Windows, aber ich denke mal, o.g. FormatString dürfte alle Deine Probleme lösen.

Wenn du schreibst, das die 'manuelle Eingabe' 'nur sporadischen Erfolg' bringt, dürfte das damit zu tun haben, das Du nur den DateSeparator setzt, aber *nicht* die Reihenfolge: Somit ist der 3/4/2007 im US/UK-Englischen ein korrektes Datum (nämlich der 4.März), aber ein '27/3/2007' ungültig, weil es keinen 27.Monat gibt.

Also: Ich denke, es liegt am ShortDateFormat...

Bernhard Geyer 16. Apr 2007 07:44

Re: Datum in engl. Windows
 
Und nicht zu vergessen das manche (Kauf-)Komponenten knallhart ihr gewünschtes Datumstrennzeichen in die von der VCL/CLX bereitgestellten globalen Variable schreiben ungeachtet der Systemeinstellungen.


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