Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ordner nach *.exe durchsuchen (https://www.delphipraxis.net/130111-ordner-nach-%2A-exe-durchsuchen.html)

Matze 3. Mär 2009 17:30

Re: Ordner nach *.exe durchsuchen
 
Delphi-Quellcode:
for i := 0 to AdvSmoothListBox1.Items.Count - 1 do
Edit: Och Menno Detlef. :mrgreen:

Flodding 3. Mär 2009 17:34

Re: Ordner nach *.exe durchsuchen
 
:D hätt ich auch druf komm könne^^

ja also er startet, gibt keine fehler aus aber er füllt die listbox1 nicht :(

meine liste mit den ordnern wird weiterhin brav gefüllt...

DeddyH 3. Mär 2009 17:43

Re: Ordner nach *.exe durchsuchen
 
Stimmt denn der Pfad? Fehlt nicht evtl. ein Backslash oder ist einer zuviel?

Satty67 3. Mär 2009 17:46

Re: Ordner nach *.exe durchsuchen
 
Vielleicht ist der Fehler im Abruf der Strings von AdvSmoothListBox1 (?) oder noch irgendwo ein Fehler in der ExeSearch.

Poste doch was Du jetzt hast.

€: Werden zwei aufeinander folgende Backslash nicht einfach als einer interpretiert?

Flodding 3. Mär 2009 17:49

Re: Ordner nach *.exe durchsuchen
 
Delphi-Quellcode:
procedure ExeSearch(ADirectory: String);
var
  SR: TSearchRec;
begin
    if FindFirst('.\' + ADirectory + '\*.exe', faAnyFile, SR)=0 then
    begin
      repeat
        with form1 do begin
          ListBox1.Items.Add(sr.Name);
        end;
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;
Delphi-Quellcode:
ExeSearch(AdvSmoothListBox1.Items[i].ButtonCaption);
ich habe 12 ordner die durchsucht werden sollen...

so wie es oben steht gibt er mir 12 mal den exenamen von meiner exe^^ aber schonmal ein fortschritt :D

Flodding 3. Mär 2009 17:56

Re: Ordner nach *.exe durchsuchen
 
Habs rausgefunden...

Delphi-Quellcode:
procedure DirectorySearch(ADirectory: string; AMask: String);
var
  SR: TSearchRec;
begin
    if FindFirst(ADirectory + '*.*', faDirectory, SR)=0 then
    begin
      repeat
        if (SR.Attr and faDirectory = faDirectory) and (sr.Name<>'.') and (sr.Name<>'..') then
        with form1 do begin
        AdvSmoothListBox1.Items.Add.Caption:=(sr.Name);
        AdvSmoothListBox1.Items.Sort;
        end;
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;

procedure ExeSearch(ADirectory: String);
var
  SR: TSearchRec;
begin
    if FindFirst('.\SUCHORDNER\' + ADirectory + '\*.exe', faAnyFile, SR)=0 then
    begin
      repeat
        with form1 do begin
          ListBox1.Items.Add(sr.Name);
        end;
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;
der fehler war in der ExeSearch... ich musste noch den SUCHORDNER angeben anstelle von '.\'... sorry!!

und nochmal der rest für die nachwelt :P

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
DirectorySearch('.\SUCHORDNER\','*.*');
for i := 0 to AdvSmoothListBox1.Items.Count-1 do
begin
ExeSearch(AdvSmoothListBox1.Items[i].Caption);
end;
end;

Satty67 3. Mär 2009 18:01

Re: Ordner nach *.exe durchsuchen
 
Nächster Schritt wäre jetzt wohl mit absoluten Pfaden zu arbeiten (also C:\...).

Glaube '.\' greift auf den aktuellen Explorer-Ordner zu, der sich während des Programmablaufs auch gerne mal ändern kann

Flodding 3. Mär 2009 18:02

Re: Ordner nach *.exe durchsuchen
 
ist für einen wechseldatenträger...

DeddyH 3. Mär 2009 18:25

Re: Ordner nach *.exe durchsuchen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal ein Beispiel in Delphi 7 erstellt und angehängt, so ist das IMHO schön kurz und flexibel.

Flodding 3. Mär 2009 18:51

Re: Ordner nach *.exe durchsuchen
 
hehe auf jeden fall kürzer als die meinige variante :D

ich danke dir :)

++


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

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