Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FileDeleter Problem (https://www.delphipraxis.net/63428-filedeleter-problem.html)

100nF 19. Feb 2006 13:31

Re: FileDeleter Problem
 
probier mal das:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    DeleteFile(ListView1.Items.item[i].subitems[1]);
  end;
end;

PierreB 19. Feb 2006 13:33

Re: FileDeleter Problem
 
Nur ne kleine Anregung zu deinem Programm: Vielleicht solltest du vorsichtshalber noch ne Sicherheitsabfrage einbauen ob die Dateien wirklich gelöscht werden sollen einbauen, sonst könnte es zu bösen Überraschungen kommen. ;)

ichbins 19. Feb 2006 13:50

Re: FileDeleter Problem
 
du musst eben den Pfad von dem Item rausfinden und den Dateinamen und die beiden zusammenfügen und dann löschen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    DeleteFile(ListView1.Items.item[i].caption (oder hieß die Eigenschaft TEXT?)+listview1.items.item[i].subitems[itemnummervondemitemmitdempfad].caption);
  end;
end;

mOzZzI 19. Feb 2006 15:50

Re: FileDeleter Problem
 
Egal, wie ich es mache, es klappt überhaupt nicht :wall:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for i := 0 to ListView1.Items.Count - 1 do
begin
DeleteFile(ListView1.Items.item[i].caption+listview1.items.item[i].subitems[??].caption); ) //ich hab ja keine subitems, ich habe Columns, bei mir ist der "PfadColumn" 2, aber das funzt nicht...
end;
end;
Please Help, ich weiß nicht mehr weiter... :(

dahead 19. Feb 2006 15:58

Re: FileDeleter Problem
 
Du hast sehrwohl subitems. Du füllst deine Columns mit Text ja schließlich auch durch SubItems.Add. Ich nehme an, du hast außerdem den Backslash vergessen. Lass dir halt mal eine Meldung (ShowMessage) über den von dir generierten Dateinamen anzeigen. Dann siehst du ob es ein korrekter Dateiname ist, oder nicht.

Allerdings wie weiter oben geschrieben, würde ich persönlich so nicht vorgehen.

mOzZzI 19. Feb 2006 17:24

Re: FileDeleter Problem
 
@ dahead
Wie würdest du vorgehen?
Mit der Stringlist?
Wie mache ich die?
sry, aber davon hab ich kA
Gruß Philipp

100nF 19. Feb 2006 19:54

Re: FileDeleter Problem
 
hast du schon meinen code probiert?
ich würde meinen, dieser müsste funktionieren.

hier ist er nochmal:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    DeleteFile(ListView1.Items.item[i].subitems[1]);
  end;
end;
oder:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
  begin
    DeleteFile(ListView1.Items.item[i].subitems[1]+Listview1.items.item[i].caption);
  end;
end;

Matze 19. Feb 2006 19:58

Re: FileDeleter Problem
 
Zitat:

DeleteFile(ListView1.Items.???);
Delphi-Quellcode:
ListView1.Items[i].Caption
müsste es sein, das wäre der Inhalt der ersten Spalte. Die weiteren bekommst du über subitems.


Edit: Ups, Seite 2 übersehen :oops:

mOzZzI 19. Feb 2006 20:10

Re: FileDeleter Problem
 
Sehr vielen Dank an dich urbanbruhin!!
So hats funktioniert...

Delphi-Quellcode:
DeleteFile(ListView1.Items.Item[i].subitems[1]);
Noch eine Frage:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
if if (MessageDlg('Please wait for a while when erasing selected/all data of the files.'+#13+#10+'Once they are deleted, they are never recovered.'+#13+#10+'Are you sure to delete them?', mtWarning, [mbYes, mbNo], 0) = mrYes) then
begin DeleteFile(ListView1.Selected.subitems[1]);
showmessage('File Deleted!');
ListView1.DeleteSelected; end
else //not
end;
Ausdruckstypmuss BOOLEAN sein, aber wo denn?

Zacherl 19. Feb 2006 20:19

Re: FileDeleter Problem
 
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
  if (MessageDlg('Please wait for a while when erasing selected/all data of the files.'
               + #13+#10 
               + 'Once they are deleted, they are never recovered.'
               + #13+#10 
               + 'Are you sure to delete them?', mtWarning, [mbYes, mbNo], 0) = mrYes) then
  begin
    DeleteFile(ListView1.Selected.subitems[1]);
    showmessage('File Deleted!');
    ListView1.DeleteSelected;
  end
    else //not
  begin
 
  end.
end;
Ohne das 2. if sollte es gehen.

Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz