Code: Alles auswählen
program ConsoleTemplate;
{$mode objfpc}{$H+}
{$ModeSwitch UnicodeStrings}
uses
SysUtils;
var
test : string;
begin
test := Format( '%d', [10] );
WriteLn( test );
ReadLn;
end.
Code: Alles auswählen
program ConsoleTemplate;
{$mode objfpc}{$H+}
{$ModeSwitch UnicodeStrings}
uses
SysUtils;
var
test : string;
begin
test := Format( '%d', [10] );
WriteLn( test );
ReadLn;
end.
D.h. es gibt keine Unicode Version von Format Funktion? Man müsste Ansistring nach UnicodeString selbst umwandeln?
Wenn man sich den Link zum FPC ansieht, sieht es so aus, als würde das zutreffen, das man selbst umwandeln muß.D.h. es gibt keine Unicode Version von Format Funktion? Man müsste Ansistring nach UnicodeString selbst umwandeln?
Eine ModeSwitch-Direktive wirkt nur auf die aktuelle Unit, nicht auf andere (egal ob vorkompiliert oder nicht).
Es gibt SysUtils.UnicodeFormat.
Danke für deine Tipps und Info.PascalDragon hat geschrieben: ↑Do 28. Sep 2023, 22:42Eine ModeSwitch-Direktive wirkt nur auf die aktuelle Unit, nicht auf andere (egal ob vorkompiliert oder nicht).
Es gibt SysUtils.UnicodeFormat.
Wenn deine Ansi-CodePage auf UTF-8 eingestellt ist, ist die Konvertierung aber auch kein großer Verlust, so lange es nicht in zeitkritischen Code ist, was in den meisten Fällen eh nicht der Fall ist.
Für die vollständige Umstellung auf Unicode musst du auf das nächste Hauptrelease (3.4) warten, da es dann eine wirkliche Unicode RTL geben wird (wobei noch die Frage sein wird für welche Plattformen es welche Varianten geben wird).