Thema: Delphi Regionale Einstellungen

Einzelnen Beitrag anzeigen

Cogito

Registriert seit: 12. Jun 2008
280 Beiträge
 
#10

AW: Regionale Einstellungen

  Alt 16. Mai 2012, 10:03
Kann mir jemand sagen, ob und wie ich in Delphi veranlassen kann, das grundsätzlich immer das Komma als Dezimaltrennzeichen verwendet wird?
Hiermit sollte es vermutlich gehen:
Code:
procedure SetDecimalSeparator(Ch: Char);
var
  DefLCID: LCID;
  Buffer: LPSTR;
begin
  Application.UpdateFormatSettings := True;
  StrPCopy(Buffer, Ch);
  DefLCID := GetThreadLocale;
  if SetLocaleInfo(DefLCID, LOCALE_SDECIMAL, Buffer) then
    DecimalSeparator := StrPas(Buffer)[1];
  Application.UpdateFormatSettings := False;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  SetDecimalSeparator(',');
end;
Dieser Code funktioniert bei mir nicht.
In der Zeile
Code:
if SetLocaleInfo(DefLCID, LOCALE_SDECIMAL, Buffer) then
meldet mir der Compiler einen Fehler: Inkompatible Typen 'AnsiChar' und 'Char'

Kannst du deine Funktion mal testen?
  Mit Zitat antworten Zitat