![]() |
FileDeleter Problem
Hai,
ich versuche gerade einen FileDeleter zu schreiben, läuft auch schon ganz gut, doch ich weiß nicht wie ich Dateien löschen kann, die in einer ListBox als Dateipfad angezeigt werden... Also, wie kann ich Dateien löschen, von denen ich nur den Dateipfad habe? Gruß Philipp |
Re: FileDeleter Problem
|
Re: FileDeleter Problem
du hast nur den Dateipfad? du musst doch auch wissen welche Datei du löschen willst. Oder willst du alle Dateien unter dem Pfad löschen? dann müsstest du diese vorher auflisten (findfirst etc.) und dann die gefundenen löschen.
|
Re: FileDeleter Problem
Liste der Anhänge anzeigen (Anzahl: 1)
also, ich hänge euch mal nen kleinen screenshot an...
Ich fülle die ListBox durch Drag&Drop dateien hinzu, und wenn man auf DeleteFiles klickt sollen alle gelöscht werden, die in der ListBox sind... Hoffe ihr könnt mir weiterhelfen |
Re: FileDeleter Problem
du hast doch den dateinamen mit pfad. Gehe einfach mit einer Schleife alle einträge der Listbox durch und rufe damit DeleteFile auf.
|
Re: FileDeleter Problem
Sollte der Dateiname nicht im Ordnerpfad enthalten sein füge ihn hinzu, und dann lösche die Dateien per
![]() |
Re: FileDeleter Problem
Delphi-Quellcode:
Warum deleted er die Files nicht? Wo ist da der Fehler?
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer; begin for i := 0 to ListBox1.Items.Count - 1 do begin DeleteFile(ListBox1.Items[i]); end; end; |
Re: FileDeleter Problem
Moin mOzZzI,
DeleteFile ist eine Funktion, die Dir true oder false zurückliefert, je nachdem, ob das Löschen nun erfolgreich war oder nicht. Frag' doch mal mit
Delphi-Quellcode:
was schiefgegangen ist, wenn das Löschen fehlschlägt.
ShowMessage(SysErrorMessage(GetLastError));
|
Re: FileDeleter Problem
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
hab ein bisschen umgeformt...
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer; begin for i := 0 to ListView1.Items.Count - 1 do begin DeleteFile(ListView1.Items.???); end; end; Doch wie kann ich jetzt die Files löschen? Wenn ich ja, DeleteFile(ListView1.Items[i]) geht es ja nicht, da Inkomplatible Typen ListItem und String... Wie mache ich das jetzt? Neuer Screenie im Anhang |
Re: FileDeleter Problem
Du listest doch bestimmte Dateien in deiner Listview auf, oder? Bevor du die Dateien dort auflistest, solltest du dir die Namen bspw. in einer TStringList merken.
Wenn jetzt der Benutzer eine Datei aus deiner Listview auswählt und löschen will, suchst du (bspw. via ID) in deiner TStringList nach der entspr. Datei und löschst diese (DeleteFile(StringList1[ID]);. Anschließend solltest du natürlich die Datei aus der Stringliste und aus der Listview entfernen. Falls du das nicht willst, kannst du ja das Verzeichnis aus der Column "Pfad" lesen und den Dateinamen aus der Column "Filename" und das ganze zusammenstückeln. Besser finde ich jedoch obige Variante. Zum Befehl DeleteFile hast du ja schon einige Links genannt bekommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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