Browse Source

win: fix default ShortDateFormat and LongDateFormat

Ondrej Pokorny 4 years ago
parent
commit
0ae0e741cf
1 changed files with 4 additions and 4 deletions
  1. 4 4
      rtl/win/sysutils.pp

+ 4 - 4
rtl/win/sysutils.pp

@@ -1197,7 +1197,7 @@ begin
 end;
 end;
 
 
 procedure GetLocaleFormatSettings(LCID: Integer; var FormatSettings: TFormatSettings);
 procedure GetLocaleFormatSettings(LCID: Integer; var FormatSettings: TFormatSettings);
-  function FixSeparator(const FromSeparator, ToSeparator: Char; const Format: string): string;
+  function FixSeparator(const Format: string; const FromSeparator, ToSeparator: Char): string;
   var
   var
     R: PChar;
     R: PChar;
   begin
   begin
@@ -1208,7 +1208,7 @@ procedure GetLocaleFormatSettings(LCID: Integer; var FormatSettings: TFormatSett
     while R^<>#0 do
     while R^<>#0 do
       begin
       begin
       if R^=FromSeparator then
       if R^=FromSeparator then
-        R^:='/';
+        R^:=ToSeparator;
       Inc(R);
       Inc(R);
       end;
       end;
   end;
   end;
@@ -1233,8 +1233,8 @@ begin
         LongDayNames[I]:=GetLocaleStr(LID,LOCALE_SDAYNAME1+Day,LongDayNames[i]);
         LongDayNames[I]:=GetLocaleStr(LID,LOCALE_SDAYNAME1+Day,LongDayNames[i]);
         end;
         end;
       DateSeparator := GetLocaleChar(LID, LOCALE_SDATE, '/');
       DateSeparator := GetLocaleChar(LID, LOCALE_SDATE, '/');
-      ShortDateFormat := FixSeparator(DateSeparator, '/', GetLocaleStr(LID, LOCALE_SSHORTDATE, 'm/d/yy'));
-      LongDateFormat := FixSeparator(DateSeparator, '/', GetLocaleStr(LID, LOCALE_SLONGDATE, 'mmmm d, yyyy'));
+      ShortDateFormat := FixSeparator(GetLocaleStr(LID, LOCALE_SSHORTDATE, 'm/d/yy'), DateSeparator, '/');
+      LongDateFormat := FixSeparator(GetLocaleStr(LID, LOCALE_SLONGDATE, 'mmmm d, yyyy'), DateSeparator, '/');
       { Time stuff }
       { Time stuff }
       TimeSeparator := GetLocaleChar(LID, LOCALE_STIME, ':');
       TimeSeparator := GetLocaleChar(LID, LOCALE_STIME, ':');
       TimeAMString := GetLocaleStr(LID, LOCALE_S1159, 'AM');
       TimeAMString := GetLocaleStr(LID, LOCALE_S1159, 'AM');