Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi anzahl aller dateien auf einem pc (https://www.delphipraxis.net/7870-anzahl-aller-dateien-auf-einem-pc.html)

kaemmi 23. Aug 2003 20:24

Re: anzahl aller dateien auf einem pc
 
Liste der Anhänge anzeigen (Anzahl: 1)
für alle die es interessiert - ich habs jetzt mit findnext realisiert.
als attachment das resultat. also bei mir waren es zum schluss (nach endlosem warten) 12878 files auf der c partition. offen bleiben noch e und f :wink:

thx :dance: ich find diesen smily sowat von lustich

Akut-Programming 29. Aug 2003 12:46

Re: anzahl aller dateien auf einem pc
 
:arrow: kaemmi

ich hatte mir grad ma das zipfile geladen. Die exe kann ich starten. Nur wenn ich das Projekt neu compilieren will, bringt er mir ne Fehlermeldung unzwar:
Code:
Undefinierter Bezeichner 'timer'
An dieser Stelle
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
GetFilesInDirectory('C:\','*.*',Listbox1.Items,timer);
end;
Da du ja denke ich mal der Entwickler bist, wende ich mich an dich! Wie warn das mit Timer gedacht???

:dp:

kaemmi 29. Aug 2003 16:35

Re: anzahl aller dateien auf einem pc
 
die funktion GetFilesInDirectory verlangt 4 Parameter.
1. Das Verzeichnis
2. die Suchmaske (*.*)
3. ne Listbox, in die die Ergebnisse eingetragen werden können und
4. TRUE oder FASLE
frag mich nicht wie da timer hinkommt. war selber überrascht :shock:
also...wenn du true einsetzt, werden alle unterverzeichnisse durchsucht.
bei false nur das aktuelle unter Punkt 1. angegebene verz.
jetzt sollte es funktionieren :corky:

schönes wochenende noch, kaemmi :dance:

Akut-Programming 1. Sep 2003 06:49

Re: anzahl aller dateien auf einem pc
 
Moin Moin!

Yo schönen Dank! Es funzt!!! Gibt es auch ne möglichkeit den Vorgang individuell abzubrechen, z.B. fürn "abbrechen" Button???

kaemmi 1. Sep 2003 13:19

Re: anzahl aller dateien auf einem pc
 
natürlich:
erstmal musst du eine globale varibale erstellen.
ich hab mal
Delphi-Quellcode:
 var abort:boolean;
genommen.
um die procedure dann abzubrechen, musst du abort auf true setzten.
und hier die modifizierte version von getAllFilesInDirectory
Delphi-Quellcode:
procedure GetFilesInDirectory(ADirectory: string; AMask: String; AList: TStrings; ARekursiv: Boolean);
var
  SR: TSearchRec;
begin
  if (ADirectory<>'') and (ADirectory[length(ADirectory)]<>'\') then
    ADirectory:=ADirectory+'\';

  if (FindFirst(ADirectory+AMask,faAnyFile-faDirectory,SR)=0) then begin
    repeat
      if (SR.Name<>'.') and (SR.Name<>'..') and (SR.Attr<>faDirectory) then begin
          AList.Add(ADirectory+SR.Name);
          inc(count);
          unit1.Form1.Label1.Caption:=IntToStr(count);
          Application.ProcessMessages;
          end;
          if abort=true then exit;  //<< Procedure beenden
    until FindNext(SR)<>0;
    FindClose(SR);
  end;

  if ARekursiv then
    if (FindFirst(ADirectory+'*.*',faDirectory,SR)=0) then
    begin
      repeat
        if (SR.Name<>'.') and (SR.Name<>'..') then begin
          GetFilesInDirectory(ADirectory+SR.Name,AMask,AList,True);
          inc(count);
          unit1.Form1.Label1.Caption:=IntToStr(count);
          Application.ProcessMessages;
          end;
          if abort=true then exit; //<< Procedure beenden
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
end;
und, funzt es?
tschö, kaemmi :D

Akut-Programming 1. Sep 2003 13:38

Re: anzahl aller dateien auf einem pc
 
Öhm... :oops: also entweder verpeil ich hier was oder es sieht so aus, als wolle in die prozedur "exit" wenn abort=true is. Nur die prozedur geibts nich. Oder muss ich nochwas einbinden?

Akut-Programming 1. Sep 2003 13:45

Re: anzahl aller dateien auf einem pc
 
Hehe..un ich war zu blind...hab die Variablen nich an der richtigen Stelle gehabt. Also es funzt. THX


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Seite 2 von 2     12   

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