Hallo, ich würde mich gerne absichern ob folgender Code korrekt ist:
Delphi-Quellcode:
function ThousandSeparator : String;
var
buf: PChar; // temp puffer
begin
Result := '#'; // falsch initialisieren, gegebenfalls später mit einem Default-Wert bei Fehler ersetzen
try
buf := StrAlloc(10); // puffer eine größe zusichern
GetLocaleInfo(
LOCALE_SYSTEM_DEFAULT,
LOCALE_STHOUSAND,
buf,
10); // GetLocaleInfo() direkt abfragen ohne die Länge vom Trennzeichen zu kennen, aber über 10 sollten es wohl nicht werden
finally
Result := StrPas(buf); // in einen String konvertieren
StrDispose(buf); // speicher bereinigen
end;
end;
Ziel soll sein das ich in einem String das/die Zeichen für's Lokale Tausender-Trennzeichen bekomme.
Oder ist es generell so falsch und es gibt aktuellere Methoden um das Zeichen (als String) zu bekommen?