Entwickler-Ecke

Dateizugriff - DeleteFile


Andreas L. - So 20.07.03 14:05
Titel: DeleteFile
Hi,

ich hab ein Problem. Ich möchte eine Datei löschen die vorher in der ShellListView1 ausgewählt wurde. Ich habe in der Delphi-Hilfe gesucht und das gefunden:

Zitat:
Beim Löschen einer Datei wird die Datei vom Datenträger und der entsprechende Eintrag aus dem Verzeichnis des Datenträgers entfernt. Es gibt keine Operation zum Wiederherstellen gelöschter Dateien. Benutzer sollten in Anwendungen deshalb immer zum Bestätigen dieser Operation aufgefordert werden. Zum Löschen einer Datei übergeben Sie deren Namen an die Funktion DeleteFile:

DeleteFile(FileName);

DeleteFile gibt True zurück, wenn die Datei gelöscht wurde. Konnte die Datei nicht gelöscht werden, weil sie beispielsweise nicht existiert oder schreibgeschützt ist, wird False zurückgegeben. DeleteFile löscht die in FileName angegebene Datei vom Datenträger.


Also gehts mit DeleteFile. Nun habe ich ausprobiert:

Delphi-Quelltext
1:
2:
3:
begin
DeleteFile (ShellListView1.selected);
end;

Beim Compilieren kommt der Fehler
Zitat:
Inkompitable Typen:'String' und 'TListItem' ".

Also muss ich jetzt einen String erstellen, glaube ich. Wie mache ich das jetzt?

Schonmal Danke....


GruppeCN - So 20.07.03 14:40

Probiers mal mit den Eigenschaften von ShellListView1.selected Vielleicht gibt es da was.


MSCH - So 20.07.03 15:31

shellListView.Selected.caption (oder .Text) gibt den Dateinamen
grez
msch


Andreas L. - So 20.07.03 16:16

Hi,
danke für euere Antworten, hat aber nichts geholfen. Ich glaube ich muss einen String erstellen, wie geht das nun wieder?


derDoc - So 20.07.03 16:24

Hallo Andi,

wie wäre denn:

Delphi-Quelltext
1:
2:
FileIndex := ListBox1.ItemIndex;
DeleteFile(ListBox1.Items[FileIndex]);


Andreas L. - So 20.07.03 16:52

derDoc hat folgendes geschrieben:
Hallo Andi,

wie wäre denn:

Delphi-Quelltext
1:
2:
FileIndex := ListBox1.ItemIndex;
DeleteFile(ListBox1.Items[FileIndex]);

Hi,
Gibts bei der ShellListView auch FileIndex???


derDoc - So 20.07.03 17:03

Das müsste eigentlich funktionieren.

Eine andere Möglichkeit ist:

Delphi-Quelltext
1:
IrgendEinString := ShellListView1.SelectedFolder.PathName;