Autor Beitrag
lyrix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 19.02.05 16:56 
Hallo Leute, ich versuche über die Befehle Erase() und RmDir() Dateien bzw. Verzeichnisse zu löschen. Die Dateien werden auch gelöscht, aber es tritt trotzdem ein Fehler (I/O 103) auf. Das Löschen von Verzeichnissen funktioniert irgendwie gar nicht. Da kommt auch diese Fehlernummer. Ich kann mich erinnern, das es bei Turba Pascal mal eine Liste mit diesen Fehlermeldungen gab. Gibt es die bei Delphi auch? Oder kann mit vielleicht jemand sagen, wo ich da einen Fehler mache?

lg Torsten
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.02.05 17:04 
Die gibt es immer noch in der Hilfe:
Zitat:

103 File not open


Ohne Code kann dir allerdings jetzt wohl nur der liebe Gott weiterhelfen.
OneOfTen
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.02.05 17:17 
Anstatt Erase() kannst du auch DeleteFile() benutzen, aber Luckie hat da schon Recht, ein bisschen Code wäre nicht schlecht..
lyrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 19.02.05 17:51 
Hallo nochmal, hier ist mal der Code.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
Procedure   TdlgUSRdelete.evt_btnDelete(Sender : TObject);
Var WriteFile                                           : File;
    FileName                                            : String;
    Data                                                : TData;
Begin
  {$I+}
    If Mother.getFirstChild = Nil Then Else
    Begin
      Repeat
        FileName:=Manager^.Root + Mother.Text + '\' + Mother.getFirstChild.Text + '.lsn';
        AssignFile(WriteFile, FileName); Reset(WriteFile, $1); CloseFile(WriteFile);
        Erase(WriteFile); Data:=Mother.getFirstChild.Data; Dispose(Data, Destroy);
        Manager^.TreeView.Items.Delete(Mother.getFirstChild);
      Until Mother.getFirstChild = Nil;
    End;
    FileName:=Manager^.Root; Delete(FileName, Length(FileName), $1);
    ChDir(FileName);
    FileName:=FileName + '\' + Mother.Text;
    RmDir(FileName);
  {$I+}
  Data:=Mother.Data; Dispose(Data, Destroy);
  Manager^.TreeView.Items.Delete(Mother); Close;
End;


Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
OneOfTen
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 19.02.05 20:34 
Warum du kein Verzeichnis löschen kannst, kann ich dir nicht sagen, kann ich gerade nicht testen, aber beim Datei löschen probier mal statt:

ausblenden Delphi-Quelltext
1:
2:
AssignFile(WriteFile, FileName); Reset(WriteFile, $1); CloseFile(WriteFile);  
Erase(WriteFile);


ausblenden Delphi-Quelltext
1:
2:
AssignFile(WriteFile, FileName);
Erase(WriteFile);


irgendwo logisch, wenn Fehler 103 kommt oder?