Ländereinstellungen abfragen



  • Hallo zusammen,
    Gibt es eine Möglichkeit, die Ländereinstellungen von Windows mit dem BCB 5 abzufragen. Ich habe nämlich das Problem, dass mein Programm mit TDate arbeitet. Wenn sich aber die Datumseinstellungen in anderen Länder ändert, bekomme ich ein Problem.

    Für jeden Tipp bin in dankbar.

    Mir würde auch reichen, wenn man es irgendwie anstellen könnte, dass sich die globale Funktion "Now()" nicht auf das Systemdatum, bzw. Systemzeit beziehen würde.

    Gruß



  • Such doch mal in der BCB-Hilfe nach:
    ShortDateFormat, LongDateFormat und DateSeparator

    In meiner BCB6-Version gibt's dazu was.

    Gruß,

    Alexander



  • bzw. schau mal in die Hilfe zur API-Funktion GetLocaleInfo. Damit kannst du so ziemlich alles zu den locales abfragen.

    z.Bsp. gibt dir folgender Code den Datumstrenner

    char* buf = new char[20];
    char  DATE_DELIM;
    int err = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDATE,buf,20);
    if( err == 0) GetLocaleError();
    DATE_DELIM = buf[0];
    //delete buf[]; //[edit]Ok, hab mich wohl vertippt[/edit]
    delete[] buf; // so ists dann richtig
    


  • Braunstein schrieb:

    [...]

    char* buf = new char[20];
    [...]
    delete buf[];
    

    Ich glaube nicht, Tim...

    -junix





  • Danke euch,

    @Jansen
    Ich verwende eigentlich regelmäßig die Suchfunktion. Den von dir angegebenen Thread habe ich auch durchgearbeitet, aber leider hat mir dieser nicht so ganz weitergeholfen.

    @junix
    "Zitat:"


    wiso ist die antwort FALSCH????

    Gehört "wiso" eigentlich auch zur neuen Rechtschreibreform ?
    Ich dachte immer man schreib "wieso".

    Trotzdem danke euch



  • maam: Die Korrektur und Änderung von Zitaten (ausser das Auslassen, welches aber markiert werden muss, üblicherweise durch eckige Klammern) ist eine Todsünde. Auch wenns gut gemeint ist, gilt es im allgemeinen als Unhöflich, Rechtschreibefehlern in Zitaten zu korrigieren.

    -junix



  • maam schrieb:

    Den von dir angegebenen Thread habe ich auch durchgearbeitet, aber leider hat mir dieser nicht so ganz weitergeholfen.

    Dann stell dort doch einfach eine Nachfrage, oder beziehe dich wenigstens darauf. Deine Formulierung "gibt es eine Möglichkeit" deutet allerdings nicht darauf hin, dass du den zitierten Thread gelesen hast, denn zumindest dass es eine solche Möglichkeit gibt geht daraus ja eindeutig hervor. 😉



  • Jansen:
    Ich kenne die ungeschriebenen Gesetze von Zitaten.
    Wollte eigentlich mit meiner Andeutung auch nur meinen geistigen Horizont etwas weiten. Es hätte ja durchaus sein können, dass man seit neuestem wiso ohne "ie" schreibt. Deshalb habe ich auch höflich gefragt, ob "wiso"...
    Es war in keinsterweise als Korrektur oder als Fehlerhinweis gedacht.

    Trotzdem wünsche ich ein schönes Wochenende

    Bis bald



  • Guten Morgen zusammen,

    jetzt hätte ich dazu doch noch einmal eine Frage:
    Um ein Datum anzuzeigen verwende ich die Funktion "Now()".

    Wird die deutsche Ländereinstellung verwendet, wird das Datum richtig angezeigt. Wird jedoch eine Englische- oder Amerikanische Ländereinstellung verwendet, tritt ein Fehler auf, da der Tag und der Monat vertauscht sind.

    Gibt es eine Möglichkeit, das Datum immer im Format TT,MM,JJ anzuzeigen, egal welche Ländereinstellung verwendet wird.

    Vielen Dank für eure Hilfe

    SORRY, SORRY 🤡
    vergesst alles.
    Ich glaube es ist Montag morgen. Ich habe die Lösung bereits gefunden.
    Habe mein Problem mit FormatDateTime(...) gelöst.

    Hat sich also erledigt.

    DANKE euch trotzdem
    Bis dann


Anmelden zum Antworten