1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
// Procédure pour compter les fichiers
Function CompteFichiers(Chemin:String):Integer;
Var S:TSearchRec;
Begin
Chemin:=IncludeTrailingPathDelimiter(Chemin);
Form1.Label2.Caption:=Chemin;
Form1.Label2.Refresh;
Result:=0;
// Recherche de la première entrée du répertoire
If FindFirst(Chemin+'*.*',faAnyFile,S)=0
Then Begin
Repeat
// Il faut absolument dans le cas d'une procédure récursive ignorer
// les . et .. qui sont toujours placés en début de répertoire
// Sinon la procédure va boucler sur elle-même.
If (S.Name<>'.')And(s.Name<>'..')
Then Begin
If (S.Attr And faDirectory)<>0
// Dans le cas d'un sous-repertoire on appelle la même procédure
Then Result:=Result+CompteFichiers(Chemin+S.FindData.cFileName)
// Sinon on compte simplement le fichier
Else Inc(Result);
End;
// Recherche du suivant
Until FindNext(S)<>0;
FindClose(S);
End;
End; |
Partager