![]() |
Mehrere ausgewählte Dateien löschen
Hi
Wie die Überschrift es schon sagt versuche ich mehrere dateien aus einem Ordner zu löschen aber irgenwie bekomme ich den Fehler überschreitet den ListenIndex
Delphi-Quellcode:
aber irgenwie denke ich das es doch so richtig ist oder??
procedure TForm4.Bildloeschen;
Var I :Integer; begin if FileListBox1.FileName <> '' then begin if Form1.MessageDlgPos2('Wollen Sie dieses Dokument wirklich löschen? ',mtInformation,[mbYes,mbNo],self) = mrYes then begin for i := 0 to FileListBox1.Items.Count - 1 do if DeleteFile(FileListBox1.Items[i]) then begin FileListbox1.Update; //Aktualisieren ImageBilderanzeige.Picture:= Nil; end; end; end else Form1.MessageDlgPos2('Es ist kein Bild ausgewählt!',mtInformation,[mbOk],Self); end; |
Re: Mehrere ausgewählte Dateien löschen
Falsch:
Delphi-Quellcode:
Richtig:
for i := 0 to FileListBox1.Items.Count - 1 do
Delphi-Quellcode:
for i := FileListBox1.Items.Count - 1 downto 0 do
|
Re: Mehrere ausgewählte Dateien löschen
Ich glaube ich mach da was falsch jetzt kann ich zwar alles löschen bzieungsweis 1 datei bleib immer übrig
Aber eigentlich wollte ich über die FileListbox ausgewählte Dateien löschen, das heist wenn ich z.b über Multiselect nur 4 Dateien auswähle wollte ich die dann löschen. |
Re: Mehrere ausgewählte Dateien löschen
Dann musst Du noch abfragen, ob der Eintrag selektiert ist.
Delphi-Quellcode:
if FileListbox1.Selected[i] then...
|
Re: Mehrere ausgewählte Dateien löschen
das funzt immernoch net so richtig hab ich das richtig eingebaut
Delphi-Quellcode:
procedure TForm4.Bildloeschen;
Var I :Integer; begin if FileListBox1.FileName <> '' then begin if Form1.MessageDlgPos2('Wollen Sie dieses Dokument wirklich löschen? ',mtInformation,[mbYes,mbNo],self) = mrYes then begin for i := FileListBox1.Items.Count - 1 downto 0 do if FileListbox1.Selected[i] then begin if DeleteFile(FileListBox1.Items[i]) then begin FileListbox1.Update; //Aktualisieren ImageBilderanzeige.Picture:= Nil; end; end; end; end else Form1.MessageDlgPos2('Es ist kein Bild ausgewählt!',mtInformation,[mbOk],Self); end; |
Re: Mehrere ausgewählte Dateien löschen
Zitat:
|
Re: Mehrere ausgewählte Dateien löschen
ne jetzt wird nur noch 1 Datei gelöscht obwohl ich mehr ausgewählt habe
|
Re: Mehrere ausgewählte Dateien löschen
Kann es sein das mit
Delphi-Quellcode:
die Selection wieder aufgehoben wird?
FileListbox1.Update; //Aktualisieren
Grüße Klaus |
Re: Mehrere ausgewählte Dateien löschen
nee daran liegts nicht
|
Re: Mehrere ausgewählte Dateien löschen
genau, die wird wieder aufgehoben.
du musst den Update befehl Nach der for schleife schreiben, dann gehts, bei mir. mfg |
Re: Mehrere ausgewählte Dateien löschen
ja so geht das jetz bei mir auch jetzt hab ich aber ein anderes Problem.
Wenn ich mir bilder in mein Programm lade z.b Beispielbilder von Windows in mein Programm verzeichnis \Bilder\ Und sie dann lösche werden sie aber auch im Beispielordner von Windows gelöscht |
Re: Mehrere ausgewählte Dateien löschen
wie lädtst du die denn in dein Programm verzeichnis?
|
Re: Mehrere ausgewählte Dateien löschen
so
Delphi-Quellcode:
procedure TForm4.Button7Click(Sender: TObject);
var AlterPfad,NeuerPfad :string; I :Integer; begin if OpenPictureDialog1.Execute then with Openpicturedialog1.Files do for I := 0 to count - 1 do begin AlterPfad:= OpenPictureDialog1.Files[I]; NeuerPfad:= Form1.ServerPfad + 'Bilder\'+ ExtractFileName(OpenPictureDialog1.Files[I]); if not FileExists(NeuerPfad) then begin CopyFile(PChar(AlterPfad), PChar(NeuerPfad), true); FileListBox1.Items.Add(ExtractFileName(OpenPictureDialog1.Files[I])); LabAnzahlBilder.Caption:= 'Bild '+ IntToStr(index)+' von '+ IntToStr(FileListBox1.Items.Count); end else Form1.MessageDlgPos2('Bild ist bereits in der Liste',mtInformation,[mbOk],self); end; end; |
Re: Mehrere ausgewählte Dateien löschen
Delphi-Quellcode:
Du lädst in die FileListBox ja auch die Dateien aus dem alten Ordner. Wieso lädst du überhaupt was in die FileListBox, die Dateien werden dort doch automatisch angezeigt :gruebel:
FileListBox1.Items.Add(ExtractFileName(OpenPictureDialog1.Files[I]));
|
Re: Mehrere ausgewählte Dateien löschen
Ja jetzt gehts stimmt ein FileListbox.Update wäre da angebrachter
Danke für die Antworten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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