Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datei suchen + löschen (https://www.delphipraxis.net/37649-datei-suchen-loeschen.html)

St.Pauli 8. Jan 2005 13:09


Datei suchen + löschen
 
Hi, gibt es vieleicht ne möglichkeit, dass die Dateien in der ListBox nach der suche angezeigt werden und das man dann ein paar dateien auswählt und die dann wenn man auf einen anderen Button klickt, gelöscht werden?

Code:
procedure GetFilesInDirectory(Directory: String; const Mask: String;
                              List: TStrings;
                              WithSubDirs, ClearList: Boolean);

procedure ScanDir(const Directory: String);
var
  SR: TSearchRec;
begin
  if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then try
    repeat
      List.Add(Directory + SR.Name)
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;

  if WithSubDirs then begin
    if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then try
      repeat
        if (SR.Attr = faDirectory) and
           (SR.Name <> '.') and (SR.Name <> '..') then
          ScanDir(Directory + SR.Name + '\');
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  end;
end;

begin
  List.BeginUpdate;
  try
    if ClearList then
      List.Clear;
    if Directory = '' then Exit;
    if Directory[Length(Directory)] <> '\' then
      Directory := Directory + '\';
    ScanDir(Directory);
  finally
    List.EndUpdate;
  end;
end;
 



procedure TForm1.Button1Click(Sender: TObject);
begin
  GetFilesInDirectory('C:\', '*.abc', Listbox1.Items, True, True);
  GetFilesInDirectory('C:\', '*.xyz', Listbox1.Items, True, False);
end;

fkerber 8. Jan 2005 13:38

Re: Datei suchen + löschen
 
Hi!

Such mal nach Hier im Forum suchendelete file / Hier im Forum suchendeletefile


Ciao Frederic

St.Pauli 8. Jan 2005 17:23

Re: Datei suchen + löschen
 
Das klappt ja.

OK, ein Beispiel:

Das Prog findet C:\aaa\bbb.ccc und C:\xxx\yyy.zzz dann schreibt der in die ListBox:

C:\aaa\bbb.ccc
C:\xxx\yyy.zzz

und dann will ich, dass wenn z.B. nur C:\aaa\bbb.ccc markiert ist, der Eintrag irgendwie in DeleteFile(C:\aaa\bbb.ccc) gebracht wird.

Luckie 8. Jan 2005 17:28

Re: Datei suchen + löschen
 
Guck dir mal die Eigenschaft Delphi-Referenz durchsuchenItemnIndex von der Klasse TItems an bzw. Delphi-Referenz durchsuchenSelected.

Im übrigen mehr ein VCL Problem.

PierreB 8. Jan 2005 17:28

Re: Datei suchen + löschen
 
Zitat:

und dann will ich, dass wenn z.B. nur C:\aaa\bbb.ccc markiert ist, der Eintrag irgendwie in DeleteFile(C:\aaa\bbb.ccc) gebracht wird.
Dann mach doch sowas in der Art:
Code:
var
  test: string;

begin
test := listbox1.items[2];
DeleteFile(test);
Oder du machst dann halt ne Prozedur mit der du den Dateinamen den du anwählst automatisch in den String lädt.

//Edit: Fehler korrigiert.

St.Pauli 8. Jan 2005 18:09

Re: Datei suchen + löschen
 
@ delphman

Ja, fast, aber wie mach ich das wenn 100 gefunden wurden, und ganz verschiedene ausgewählt werden. Also das ich jetzt noch nicht weiss was Selected ist? :?: :?: :?:

Luckie 8. Jan 2005 18:12

Re: Datei suchen + löschen
 
In dem du in einer Schleife alle Items prüfst? Und wenn du mehrere findest, dann musst du eben selbst entscheiden, was du machst bzw. was sollden mit allen markierten Items passieren?

St.Pauli 8. Jan 2005 18:19

Re: Datei suchen + löschen
 
Sollen gelöscht werden. K.P. wie das gehen soll :gruebel:

PierreB 8. Jan 2005 18:22

Re: Datei suchen + löschen
 
Vielleicht geht es so: (Bin mir aber net sicher und kanns grad net austesten)

Also du markierst einen Listbox-Eintrag und klickst dann auf nen Button:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  test : String;
begin
  If ( ListBox1.ItemIndex > -1 ) then
  begin
      test := ListBox1.Items.Objects[ ListBox1.ItemIndex ];
      DeleteFile(test);
  end;
end;
Weiß aber net obs geht.... :gruebel:

St.Pauli 8. Jan 2005 18:37

Re: Datei suchen + löschen
 
nee, funzt nicht ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 Uhr.
Seite 1 von 2  1 2      

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