Einzelnen Beitrag anzeigen

Benutzerbild von MPirnstill
MPirnstill

Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
 
Delphi XE8 Enterprise
 
#7

Re: Textdatei mit D2 erstellen

  Alt 27. Jul 2005, 14:45
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
Micha
  Mit Zitat antworten Zitat