Zitat von
Bernhard Geyer:
Unter Delphi2 wirst du hier mittels TFileStream die Daten selbst "Unicodisch" rausschreiben müssen.
Ich hab das gerade mal versucht, aber das scheint nicht ganz so einfach zu sein. ..in D2.
Meine neue Routine zum Schreiben der Datei läuft fehlerfrei durch, aber es steht nur Müll drin. Auch Word kriegt das nicht gelesen was ich da rausschreibe. Kannst du evtl. mal einen Blick auf meine Routine werfen, und mir sagen was ich da falsch mache.
Delphi-Quellcode:
function TSteuerdatei.Save: Boolean;
var
fs: TFileStream;
s:
String;
su: PWideChar;
ls: Cardinal;
//Länge von s auf Uni hochgerechnet. Richtig?
begin
try
//String erstellen und in Unicode umwandeln
s := AufbereitenAusgabe;
//Gibt aufbereiteten String zurück
ls := length(s) * SizeOf(WideChar);
//Länge errechnen
su := allocMem(ls);
//Platz besorgen
su := StringToWideChar(s, su, ls);
//String in Unicode umwandeln
//FileStream schreiben
fs := TFileStream.Create(FPfadDateiName, fmCreate);
fs.
Write(su, ls);
fs.Free;
fs :=
nil;
Result := True;
except
on E:
Exception do
Result := False;
end;
end;
Da ich vom Handling mit
Unicode keine Ahnung hab, habe ich mir dies aus der Hilfe und dem Forum so zusammengestoppelt.
Aber es funktioniert eben noch nicht.
Gruß
Micha