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?