Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#20

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 11. Mär 2010, 10:15
Zitat von holliesoft:
Interessant wäre noch zu wissen, ob auch Anwendungen betroffen sind, die mit aktuelleren Delphi-Versionen (2007-2010) kompiliert worden sind.
Zitat von sh17:
Interessant - kannte ich noch nicht
Ich och nicht, aber da ich mich nicht auf bestimmte Systemeinstellungen einschränke, hab ich sowas auch nie gesucht.

Ich finde es eh etwas "schlimm", wenn man in seinem Programm den "Willen" des Nutzers ignoriert und vom System abweichende Einstellungen nutzt, bzw. nur bestimmte Einstellungen erlaubt, womit dann das Programm nicht auf allen Systemen läuft, wie man hier am Thema ja sehr gut erkennen kann.


ShortDateFormat := TranslateDateFormat(GetLocaleStr(DefaultLCID, LOCALE_SSHORTDATE, 'm/d/yy')); und
Delphi-Quellcode:
function TranslateDateFormat(const FormatStr: string): string;
var
  I: Integer;
  L: Integer;
  CalendarType: CALTYPE;
  RemoveEra: Boolean;
begin
  I := 1;
  Result := '';
  CalendarType := StrToIntDef(GetLocaleStr(GetThreadLocale,
    LOCALE_ICALENDARTYPE, '1'), 1);
  if not (CalendarType in [CAL_JAPAN, CAL_TAIWAN, CAL_KOREA]) then
  begin
    ...
Delphi-Quellcode:
function GetLocaleStr(Locale, LocaleType: Integer; const Default: string): string;
{$IFDEF MSWINDOWS}
var
  L: Integer;
  Buffer: array[0..255] of Char;
begin
  L := GetLocaleInfo(Locale, LocaleType, Buffer, Length(Buffer));
  if L > 0 then SetString(Result, Buffer, L - 1) else Result := Default;
end;
{$ENDIF}
{$IFDEF LINUX}
begin
  Result := Default;
end;
{$ENDIF}
GetLocaleStr = MSDN-Library durchsuchenGetLocaleInfo
Delphi nutzt hier fast direkt die WinAPI.

Nun gibt es hier 2 Fälle entweder GetLocaleInfo liefert keinen String und es wird das Default genutzt oder GetLocaleInfo liefert wirklich einen anderen Formatstring.

In beiden Fällen sollte Lazarus ähnlich arbeiten und denmach auch ähnlich reagieren.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat