![]() |
EraseFile Fehler
Ich habe keine Ahnung wieso ich die Datei nicht löschen kann, hoffe ihr findet den Fehler .
Ich möchte aus einer File of Record bestimmte Werte löschen. Indem ich den Wert, der gelöscht werden soll , auf ' ' setze und anschließen alle anderen Werte in eine neue Hilfsdatei schreibe. Danach lösche ich die erste Datei und nenne die Hilfsdatei um.
Delphi-Quellcode:
type personen = record name,vorname,telenr,adresse : String[20]; end; procedure TForm1.Button2Click(Sender: TObject); var person,hilfe : File of personen; daten,ds : personen; i : Integer; b,nix : String; begin AssignFile(person, 'Person.dat'); if FileExists('Person.dat') then ReSet(person) else ReWrite(person); seek(person, listbox1.ItemIndex); daten.name:=''; daten.vorname:=''; daten.telenr:=''; daten.adresse:=''; write(person, Daten); AssignFile(hilfe, 'hilfe.dat'); if FileExists('hilfe.dat') then ReWrite(hilfe); for i:=0 to filesize(person)-1 do begin seek(person, i); read(person,daten); edit1.text:=daten.name; b:=edit1.text; nix:=''; if b<>nix then begin ds.name:=daten.name; ds.vorname:=daten.vorname; ds.telenr:=daten.telenr; ds.adresse:=daten.adresse; write(hilfe, ds); end; end; closefile(person); if FileExists('person.dat') then Erase(person); // <------ In dieser Zeile ist der Fehler ! closefile(hilfe); rename(hilfe,'person.dat'); listbox2.Clear; listbox1.Clear; AssignFile(person, 'Person.dat'); if FileExists('Person.dat') then ReSet(person) else ReWrite(person); for i:=0 to filesize(person)-1 do begin seek(person, i); read(person, daten); listbox1.Items.Add(daten.name); listbox2.Items.Add(daten.vorname); end; closefile(person); end; Hoffe ihr könnt mir helfen danke im voraus. |
Re: EraseFile Fehler
Kannst Du mal bitte die Fehlermeldung bekannt machen.
Danke. Grüße Klaus |
Re: EraseFile Fehler
Hier die genaue Angabe von Delphi:
Im Project Project1.exe ist eine Exception der Klasse EInOutError mit der Meldung "Datei Zugriff verweigert" aufgetreten. |
Re: EraseFile Fehler
Hat ein anderes Programm, oder ein andere Teil Deines
Programms die Datei noch offen? Sieht danach aus. In dem Code Deines Beitrags sehe ich keinen Fehler. Grüße Klaus |
Re: EraseFile Fehler
Wow ! Danke :hello:, tatsächlch hatte ich die Datei beim Programmstart erstellt :wall: aber nicht wieder geschlossen
Hier der Code :
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var person : File of personen; daten : personen; begin AssignFile(person,'Person.dat'); if FileExists('Person.dat') then ReSet(person) else ReWrite(person); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 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