Code: Alles auswählen
if UseUnicode then begin
slSave.saveToFile (FName, TEncoding.UTF8);
end
Wie mache ich das in Lazarus / Freepascal?
Code: Alles auswählen
if UseUnicode then begin
slSave.saveToFile (FName, TEncoding.UTF8);
end
Code: Alles auswählen
procedure SpeichereTextDatei (const Dateiname, Inhalt, Dateikodierung: string);
var
fs: TFileStream;
s: string;
begin
fs := TFileStream.create (Dateiname, fmCreate);
try
s := ConvertEncoding (Inhalt, EncodingUTF8, DateiKodierung);
if s <> '' then fs.write(s[1], length(s));
finally
fs.free;
end;
end;
....
SpeichereTextDatei(FName, slSave.text, EncodingUTF8);
(stammt aus dem Lazarus-Buch von C & L)
Code: Alles auswählen
function LadeTextDatei (const Dateiname: string; out Dateikodierung: string): string;
var
fs: TFileStream;
begin
Dateikodierung := EncodingUTF8;
fs := TFileStream.create (Dateiname, fmOpenRead);
try
SetLength (Result, fs.size);
if Result <> '' then fs.read(Result[1], Length (Result));
Dateikodierung := GuessEncoding (Result);
Result := ConvertEncoding (Result, DateiKodierung, EncodingUTF8);
finally
fs.free;
end;
end;
Code: Alles auswählen
fs := TFileStream.Create (AnsiToUtf8(Dateiname), fmOpenRead);
harrybonn hat geschrieben:Prima, danke so geht's (jetzt unter Windows getestet).
Gilt diese Aussage auch so für andere Betriebssysteme (Linux, MAC) oder ist hier eine Unterscheidung erforderlich?