![]() |
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Delphi-Quellcode:
function GetLocaleString(LangID: Integer): string;
var s: string; begin Result := ''; SetLength(s, 128); if GetLocaleInfo(LangID, LOCALE_SNATIVELANGNAME, PChar(s), 128) > 0 then begin Result := StrPas(PChar(s)); if GetLocaleInfo(LangID, LOCALE_SNATIVECTRYNAME, PChar(s), 128) > 0 then begin Result := Format('%s (%s)', [Result, StrPas(PChar(s))]); end; end; end;
Delphi-Quellcode:
So bekomme ich in etwa das hin was Uwe schreibt aber es beantwortet nicht meine Frage, Danke trotzdem.
ShowMessage(GetLocaleString(GetUserDefaultLangID));
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Vielleicht noch etwas - wie das Datumsformat aussehen soll steht in der ISO 8601.
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
Delphi-Quellcode:
function LCIDToLocaleName(Locale: LCID; lpName: LPWSTR; cchName: Integer; dwFlags: DWORD): Integer; stdcall; external kernel32 name 'LCIDToLocaleName';
function LCIDToLocal ( LCID: Integer ) : String; var strNameBuffer : array [0..LOCALE_NAME_MAX_LENGTH-1] of WideChar; begin Result := ''; if (LCIDToLocaleName(LCID, strNameBuffer, LOCALE_NAME_MAX_LENGTH, 0) = 0) then RaiseLastOSError else Result := strNameBuffer; end; procedure DoJob; begin Memo1.Lines.Add('GetLocaleString: '+GetLocaleString(GetUserDefaultLangID)); Memo1.Lines.Add('LCIDToLocal: ' + LCIDToLocal(GetUserDefaultLangID)); Memo1.Lines.Add('LOCALE_ILANGUAGE: ' + GLIx(LOCALE_ILANGUAGE)); Memo1.Lines.Add('LOCALE_SLANGUAGE: ' + GLIx(LOCALE_SLANGUAGE)); Memo1.Lines.Add('LOCALE_SENGLANGUAGE: ' + GLIx(LOCALE_SENGLANGUAGE)); Memo1.Lines.Add('LOCALE_SABBREVLANGNAME: ' + GLIx(LOCALE_SABBREVLANGNAME)); Memo1.Lines.Add('LOCALE_SNATIVECTRYNAME: ' + GLIx(LOCALE_SNATIVECTRYNAME)); Memo1.Lines.Add('LOCALE_ICOUNTRY: ' + GLIx(LOCALE_ICOUNTRY)); Memo1.Lines.Add('LOCALE_SCOUNTRY: ' + GLIx(LOCALE_SCOUNTRY)); Memo1.Lines.Add('LOCALE_SENGCOUNTRY: ' + GLIx(LOCALE_SENGCOUNTRY)); Memo1.Lines.Add('LOCALE_SABBREVCTRYNAME: ' + GLIx(LOCALE_SABBREVCTRYNAME)); Memo1.Lines.Add('LOCALE_SNATIVECTRYNAME: ' + GLIx(LOCALE_SNATIVECTRYNAME)); Memo1.Lines.Add('LOCALE_IDEFAULTLANGUAGE: ' + GLIx(LOCALE_IDEFAULTLANGUAGE)); Memo1.Lines.Add('LOCALE_IDEFAULTCOUNTRY: ' + GLIx(LOCALE_IDEFAULTCOUNTRY)); Memo1.Lines.Add('LOCALE_IDEFAULTCODEPAGE: ' + GLIx(LOCALE_IDEFAULTCODEPAGE)); Memo1.Lines.Add('LOCALE_IDEFAULTANSICODEPAGE: ' + GLIx(LOCALE_IDEFAULTANSICODEPAGE)); Memo1.Lines.Add('LOCALE_IDEFAULTMACCODEPAGE: ' + GLIx(LOCALE_IDEFAULTMACCODEPAGE)); Memo1.Lines.Add('LOCALE_SLIST: ' + GLIx(LOCALE_SLIST)); Memo1.Lines.Add('LOCALE_IMEASURE: ' + GLIx(LOCALE_IMEASURE)); Memo1.Lines.Add('LOCALE_SDECIMAL: ' + GLIx(LOCALE_SDECIMAL)); Memo1.Lines.Add('LOCALE_STHOUSAND: ' + GLIx(LOCALE_STHOUSAND)); Memo1.Lines.Add('LOCALE_SGROUPING: ' + GLIx(LOCALE_SGROUPING)); Memo1.Lines.Add('LOCALE_IDIGITS: ' + GLIx(LOCALE_IDIGITS)); Memo1.Lines.Add('LOCALE_ILZERO: ' + GLIx(LOCALE_ILZERO)); Memo1.Lines.Add('LOCALE_INEGNUMBER: ' + GLIx(LOCALE_INEGNUMBER)); Memo1.Lines.Add('LOCALE_SNATIVEDIGITS: ' + GLIx(LOCALE_SNATIVEDIGITS)); Memo1.Lines.Add('LOCALE_SCURRENCY: ' + GLIx(LOCALE_SCURRENCY)); Memo1.Lines.Add('LOCALE_SINTLSYMBOL: ' + GLIx(LOCALE_SINTLSYMBOL)); Memo1.Lines.Add('LOCALE_SMONDECIMALSEP: ' + GLIx(LOCALE_SMONDECIMALSEP)); Memo1.Lines.Add('LOCALE_SMONTHOUSANDSEP: ' + GLIx(LOCALE_SMONTHOUSANDSEP)); Memo1.Lines.Add('LOCALE_SMONGROUPING: ' + GLIx(LOCALE_SMONGROUPING)); Memo1.Lines.Add('LOCALE_ICURRDIGITS: ' + GLIx(LOCALE_ICURRDIGITS)); Memo1.Lines.Add('LOCALE_IINTLCURRDIGITS: ' + GLIx(LOCALE_IINTLCURRDIGITS)); Memo1.Lines.Add('LOCALE_ICURRENCY: ' + GLIx(LOCALE_ICURRENCY)); Memo1.Lines.Add('LOCALE_INEGCURR: ' + GLIx(LOCALE_INEGCURR)); Memo1.Lines.Add('LOCALE_SDATE: ' + GLIx(LOCALE_SDATE)); Memo1.Lines.Add('LOCALE_STIME: ' + GLIx(LOCALE_STIME)); Memo1.Lines.Add('LOCALE_SSHORTDATE: ' + GLIx(LOCALE_SSHORTDATE)); Memo1.Lines.Add('LOCALE_SLONGDATE: ' + GLIx(LOCALE_SLONGDATE)); Memo1.Lines.Add('LOCALE_STIMEFORMAT: ' + GLIx(LOCALE_STIMEFORMAT)); Memo1.Lines.Add('LOCALE_IDATE: ' + GLIx(LOCALE_IDATE)); Memo1.Lines.Add('LOCALE_ILDATE: ' + GLIx(LOCALE_ILDATE)); Memo1.Lines.Add('LOCALE_ITIME: ' + GLIx(LOCALE_ITIME)); Memo1.Lines.Add('LOCALE_ITIMEMARKPOSN: ' + GLIx(LOCALE_ITIMEMARKPOSN)); Memo1.Lines.Add('LOCALE_ICENTURY: ' + GLIx(LOCALE_ICENTURY)); Memo1.Lines.Add('LOCALE_ITLZERO: ' + GLIx(LOCALE_ITLZERO)); Memo1.Lines.Add('LOCALE_IDAYLZERO: ' + GLIx(LOCALE_IDAYLZERO)); Memo1.Lines.Add('LOCALE_IMONLZERO: ' + GLIx(LOCALE_IMONLZERO)); Memo1.Lines.Add('LOCALE_S1159: ' + GLIx(LOCALE_S1159)); Memo1.Lines.Add('LOCALE_S2359: ' + GLIx(LOCALE_S2359)); Memo1.Lines.Add('LOCALE_ICALENDARTYPE: ' + GLIx(LOCALE_ICALENDARTYPE)); Memo1.Lines.Add('LOCALE_IOPTIONALCALENDAR: ' + GLIx(LOCALE_IOPTIONALCALENDAR)); Memo1.Lines.Add('LOCALE_IFIRSTDAYOFWEEK: ' + GLIx(LOCALE_IFIRSTDAYOFWEEK)); Memo1.Lines.Add('LOCALE_IFIRSTWEEKOFYEAR: ' + GLIx(LOCALE_IFIRSTWEEKOFYEAR)); Memo1.Lines.Add('LOCALE_SDAYNAME1: ' + GLIx(LOCALE_SDAYNAME1)); Memo1.Lines.Add('LOCALE_SDAYNAME2: ' + GLIx(LOCALE_SDAYNAME2)); Memo1.Lines.Add('LOCALE_SDAYNAME3: ' + GLIx(LOCALE_SDAYNAME3)); Memo1.Lines.Add('LOCALE_SDAYNAME4: ' + GLIx(LOCALE_SDAYNAME4)); Memo1.Lines.Add('LOCALE_SDAYNAME5: ' + GLIx(LOCALE_SDAYNAME5)); Memo1.Lines.Add('LOCALE_SDAYNAME6: ' + GLIx(LOCALE_SDAYNAME6)); Memo1.Lines.Add('LOCALE_SDAYNAME7: ' + GLIx(LOCALE_SDAYNAME7)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME1: ' + GLIx(LOCALE_SABBREVDAYNAME1)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME2: ' + GLIx(LOCALE_SABBREVDAYNAME2)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME3: ' + GLIx(LOCALE_SABBREVDAYNAME3)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME4: ' + GLIx(LOCALE_SABBREVDAYNAME4)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME5: ' + GLIx(LOCALE_SABBREVDAYNAME5)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME6: ' + GLIx(LOCALE_SABBREVDAYNAME6)); Memo1.Lines.Add('LOCALE_SABBREVDAYNAME7: ' + GLIx(LOCALE_SABBREVDAYNAME7)); Memo1.Lines.Add('LOCALE_SMONTHNAME1: ' + GLIx(LOCALE_SMONTHNAME1)); Memo1.Lines.Add('LOCALE_SMONTHNAME2: ' + GLIx(LOCALE_SMONTHNAME2)); Memo1.Lines.Add('LOCALE_SMONTHNAME3: ' + GLIx(LOCALE_SMONTHNAME3)); Memo1.Lines.Add('LOCALE_SMONTHNAME4: ' + GLIx(LOCALE_SMONTHNAME4)); Memo1.Lines.Add('LOCALE_SMONTHNAME5: ' + GLIx(LOCALE_SMONTHNAME5)); Memo1.Lines.Add('LOCALE_SMONTHNAME6: ' + GLIx(LOCALE_SMONTHNAME6)); Memo1.Lines.Add('LOCALE_SMONTHNAME7: ' + GLIx(LOCALE_SMONTHNAME7)); Memo1.Lines.Add('LOCALE_SMONTHNAME8: ' + GLIx(LOCALE_SMONTHNAME8)); Memo1.Lines.Add('LOCALE_SMONTHNAME9: ' + GLIx(LOCALE_SMONTHNAME9)); Memo1.Lines.Add('LOCALE_SMONTHNAME10: ' + GLIx(LOCALE_SMONTHNAME10)); Memo1.Lines.Add('LOCALE_SMONTHNAME11: ' + GLIx(LOCALE_SMONTHNAME11)); Memo1.Lines.Add('LOCALE_SMONTHNAME12: ' + GLIx(LOCALE_SMONTHNAME12)); Memo1.Lines.Add('LOCALE_SMONTHNAME13: ' + GLIx(LOCALE_SMONTHNAME13)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME1: ' + GLIx(LOCALE_SABBREVMONTHNAME1)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME2: ' + GLIx(LOCALE_SABBREVMONTHNAME2)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME3: ' + GLIx(LOCALE_SABBREVMONTHNAME3)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME4: ' + GLIx(LOCALE_SABBREVMONTHNAME4)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME5: ' + GLIx(LOCALE_SABBREVMONTHNAME5)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME6: ' + GLIx(LOCALE_SABBREVMONTHNAME6)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME7: ' + GLIx(LOCALE_SABBREVMONTHNAME7)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME8: ' + GLIx(LOCALE_SABBREVMONTHNAME8)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME9: ' + GLIx(LOCALE_SABBREVMONTHNAME9)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME10: ' + GLIx(LOCALE_SABBREVMONTHNAME10)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME11: ' + GLIx(LOCALE_SABBREVMONTHNAME11)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME12: ' + GLIx(LOCALE_SABBREVMONTHNAME12)); Memo1.Lines.Add('LOCALE_SABBREVMONTHNAME13: ' + GLIx(LOCALE_SABBREVMONTHNAME13)); Memo1.Lines.Add('LOCALE_SPOSITIVESIGN: ' + GLIx(LOCALE_SPOSITIVESIGN)); Memo1.Lines.Add('LOCALE_SNEGATIVESIGN: ' + GLIx(LOCALE_SNEGATIVESIGN)); Memo1.Lines.Add('LOCALE_IPOSSIGNPOSN: ' + GLIx(LOCALE_IPOSSIGNPOSN)); Memo1.Lines.Add('LOCALE_INEGSIGNPOSN: ' + GLIx(LOCALE_INEGSIGNPOSN)); Memo1.Lines.Add('LOCALE_IPOSSYMPRECEDES: ' + GLIx(LOCALE_IPOSSYMPRECEDES)); Memo1.Lines.Add('LOCALE_IPOSSEPBYSPACE: ' + GLIx(LOCALE_IPOSSEPBYSPACE)); Memo1.Lines.Add('LOCALE_INEGSYMPRECEDES: ' + GLIx(LOCALE_INEGSYMPRECEDES)); Memo1.Lines.Add('LOCALE_INEGSEPBYSPACE: ' + GLIx(LOCALE_INEGSEPBYSPACE)); Memo1.Lines.Add('LOCALE_FONTSIGNATURE: ' + GLIx(LOCALE_FONTSIGNATURE)); Memo1.Lines.Add('LOCALE_SISO639LANGNAME: ' + GLIx(LOCALE_SISO639LANGNAME)); Memo1.Lines.Add('LOCALE_SISO3166CTRYNAME: ' + GLIx(LOCALE_SISO3166CTRYNAME)); end; |
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
Danke jedenfalls für die Hilfe, hab das Thema mal nach hinten geschoben da es da wohl außer einer manuellen Übersetzung keine Lösung für gibt. |
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
Zitat:
Das was im String als Trennzeichen steht ist nicht unbedingt das Angezeigte, denn
Delphi-Quellcode:
bedeutet hierbei nunmal, dass dort der jeweilige DateSeparator eingefügt werden soll.
/
Delphi-Quellcode:
ShowMessage(ReplaceStr(FmtSet.LongDateFormat, '/', FmtSet.DateSeparator)); // dd.MM.yyyy
Natürlich könnte man in diesem DateFormat-String auch direkt das Datumszeichen setzen, aber das macht Spaß, wenn man ein englisches Format schreibt und dann den DateSeparator falsch setzt, der das wieder überschreibt. Aber das Lokalisierte TT.MM.JJJJ bekommst du da niemals raus, außer du übersetzt das auch noch. (Y>J, D>T usw.), und viel Spaß mit M für Month oder Minute, je nach dem ob davor ein Datums- oder Zeitformatzeichen steht. (bei zusammengesetzten Datum&Zeitstrings) Dieser Formatstring ist grundsätzlich immer englisch und gibt nur die Reihenfolge/Position/Größe der Felder an. PS: Es gibt auch noch den Bug in einigen vorinstallierten Windowsen. Im Windows gibt es mehrere Stellen, wo das Format gespeichert ist und da vergisst gern jemand alle Stellen anzupassen. Windows zeigt das Eine in den Einstellungsdialogen an, aber Delphi liest dann das Andere aus. (da z.B. mal kurz nach Englisch umstellen, speichern und wieder zurück auf Deutsch) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz