Hallo, ihr Mitkämpfer
Ich brüte seit Wochen über ein Problem: ich möchte eine Extended-Variable mit ThousandSeparator ausgeben, aber mit Leerstellen anstatt der Punkte. LT: Hilfe zum Formatbefehl stehen dazu die Typen "n" und "m" zur Verfügung. Beim Typ "n" gibt es nur die Standard-Version mit den Punkten. Schluß, aus!
Beim Typ "m" wird die Möglichkeit von anderen Versionen erwähnt, gesteuert von der Systemvariablen ThousandSeparator, die mit einem char-Zeichen zu belegen ist. Gleichzeitig kann man auch das Dezimalzeichen und das Währungszeichen festlegen. Also schreibe ich in der create-Routine des Formulars
. System.SysUtils ist selbstverständlich geladen, trotzdem meckert der Compiler: ein undeklarierter
Operator.
Weiteres Stöbern in der Hilfe rät zu einer Deklaration in eine TFormatsetting-Struktur. Die Eingabe
Code:
[B]var[/B] ForSet : TFormatSetting;
und dann
Code:
ForSet:=TFormatSetting.Create;
ForSet.ThousandSeparator:=' '
"TFormatSetting", "Create" und "ThousandSeparator" gefallen dem Compiler nicht. Übersetzt bekomme ich das Ganze nur, wenn ich ThousandSeparator als const definiere. Ergebnis: im Ausgabestring die erwähnten Punkte, egal ob Type "n" oder "m". Beim letzteren bekomme ich noch das €-Zeichen nachgeschmissen. Auch wenn ich das Währungszeichen als leerer String vereinbare. Die Hilfa zu TFormatSetting ist korrupt.
In der Delphi-Praxis wurde dieses Thema ebenfalls schon diskutiert - offensichtlich haben es alle aufgegeben.
Hat jemand eine zündende Idee. Ich nutze 10.4 CE und Windows 11.
Viele vorösterliche Grüße
Kurt