Thema: Delphi EraseFile Fehler

Einzelnen Beitrag anzeigen

Doomguard

Registriert seit: 4. Apr 2006
11 Beiträge
 
Turbo Delphi für Win32
 
#1

EraseFile Fehler

  Alt 10. Jun 2006, 17:16
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.
Das Leben ist dumm, die Grafik geil !! (-:
  Mit Zitat antworten Zitat