![]() |
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 |
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:
An dieser Stelle
Undefinierter Bezeichner 'timer'
Delphi-Quellcode:
Da du ja denke ich mal der Entwickler bist, wende ich mich an dich! Wie warn das mit Timer gedacht???
procedure TForm1.Button1Click(Sender: TObject);
begin GetFilesInDirectory('C:\','*.*',Listbox1.Items,timer); end; :dp: |
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: |
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??? |
Re: anzahl aller dateien auf einem pc
natürlich:
erstmal musst du eine globale varibale erstellen. ich hab mal
Delphi-Quellcode:
genommen.
var abort:boolean;
um die procedure dann abzubrechen, musst du abort auf true setzten. und hier die modifizierte version von getAllFilesInDirectory
Delphi-Quellcode:
und, funzt es?
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; tschö, kaemmi :D |
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?
|
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. |
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