datei überschreiben?

zed

Mitglied
Code:
procedure TForm1.savedetail;
var
text: String;
OPFile: textFile;
OPFilePath: String;
i: Integer;
begin
     OPFilePath:= Traumbox.items.strings[Traumbox.Itemindex];
     assignfile(OPFile, OPFilePath);
     if not(fileexists(OPFilePath)) then rewrite(OPFile)
     else
     begin
          reset(OPFile);
     end;
     append(OPFile);
     writeln(OPFile, Traumname.Text);
     for i:= 1 to Traummemo.Lines.Count do
     begin
          writeln(OPFile, Traummemo.Lines.Strings[i]);
     end;
     closefile(OPFile);
end;

Hi Leude,
wie kann ich in diesem Beispiel nach append(OPFile); auf den Dateianfang pointen?
ich habs mit Seek(OPFile, 0); versucht aber da will er File und nich TextFile.
und wenn ich append rausnehme will er auf keinen writln machen.
wie kann ich das nun ändern?

ich will das er die datei IMMER überschreibt und NICHTS anhängt.
 
wenn die datei - egal ob sie existiert oder nicht - immer ueberschrieben werden soll, dann lass doch einfach die fallunterscheidung weg (if not FileExists(..) then) und benutz trotzdem ReWrite...
wenn du Append benutzt, dann kannst du einfach nur anhaengen...
 
Zuletzt bearbeitet:
danke, werd versuchen

aber rewrite erstellt die datei und öffnet sie, ich weiß aber nicht ob sie dann auch gelöscht wird, denn wenn die datei bereits existiert, kann doch die datei nicht neu erstellen, oder?
 
Help to function rewrite

Das seht in Delphi Online Help File

If an external file with the same name already exists, it is deleted and a new empty file is created in its place.

oder auf deutsch

Wenn die externe Datei mit dem gleichem Namen bereits existiert, wird diese geloescht und eine neue leere Datei wird an ihrer Stelle erstellt.
 
danke, habs auch einfach mal getestet, ich hab noch ein paar bugs in meinem programm, die ich warscheinlich "dumm" lösen muss.

ach ja ich hab seit 10,5 Jahren Englisch, trotzdem danke
hoffe man(frau) sieht sich.
 
Zurück