salut,
utilise la fonction que je t'ai fournis.
- n'utilise pas une boucle Repeat et conditionnée mais une boucle While
- n'utilise pas la fonction ADD des TStringList celle ci diminue trop les performances du programme,
utilise donc APPEND dans les TStringList, comme elle ne necessite pas de valeur de retour comme ADD
elle s'execute plus rapidement.
- ensuite pas besoin de deux variable TSearchRec une seule suffit.
- pour ordonner une liste par ordre alphabetique utilise la propriete "sort" a "true" des tlistbox.
- pour les variables du meme type, declare les sur une seule ligne : var F,D : TSearchRec;
voila pour les conseils.
voici une version de ma fonction adaptée pour les type TStringList.
procedure FilesSearch(var list : tstringlist; path : string; attr : integer);
var
sr : TSearchRec;
fn : string;
begin
FindFirst( path+'\*.*', attr, sr);
while FindNext( sr ) = 0 do begin
list.append( path+'\'+sr.Name );
end;
FindClose(sr);
end;
utilisation de la fonction :
procedure TForm1.Button1Click(Sender : TObject);
begin
FilesSearch (listbox2.items, 'c:\program files', faAnyFiles);
end;
utilise les attributs de fichiers pour determiner le type des elements fichier ou repertoire.
"sr.attr" si je ne m'abuse.