![]() |
speichern ohne komplett zu überschreiben
Hallo,
ich lerne Delphi in der Schule und habe ein Problem: Ich habe eine ListBox in die ich verschiedene Angaben eingeben kann und kann die dann speichern.Wenn ich das Programm dann aber neu starte und unter dem selben Dateinamen etwas speicher wird der alte Inhalt der Datei überschrieben. Ich denke der Fehler liegt bei 'Reset(f)',weil da der Dateizeiger auf 0 gestellt wird(so wie ich das verstanden hab).Gibt es einen Befehl,der den Dateizeiger an die jeweils letzte Stelle der Datei rückt,bevor gespeichert wird,um den Rest net zu überschrieben? Wäre für Hilfe dankbar. procedure TForm1.BSpeichernClick(Sender: TObject); var f : File of TKollekte ; k : Integer ; Name : String ; begin Name := ESpeichern.Text ; ASSIGNFILE(f,'C:\' + Name ) ; {$I-} Reset(f) ; {$I+} if IOResult <> 0 then rewrite(f) ; for k := 1 to 30 do Write(f,AListe[k]) end; |
Re: speichern ohne komplett zu überschreiben
Eher am
Delphi-Quellcode:
Versuchs mal mit
Rewrite(f);
Delphi-Quellcode:
Append(f);
|
Re: speichern ohne komplett zu überschreiben
Ne,"incompatible types" heißt es.Trotzdem danke
|
Re: speichern ohne komplett zu überschreiben
Zitat:
So bleibt dir wohl nix anderes übrig, als die datei mit Reset zu öffnen ( nicht Rewrite; löscht alte Datei) und dann mauell zum Ende zu springen. |
Re: speichern ohne komplett zu überschreiben
Dazu siehe die Befehle Seek(f); und FileSize(f);
|
Re: speichern ohne komplett zu überschreiben
Vielen Dank,denke dass mich das weiterbringt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz