Avec FindFirst, FindNext, FondClose
comme ceci
Var Chemin : String;
Info : TSearchRec;
begin
ListBox1.Items.Clear;
ListBox2.Items.Clear;
{ Pour être sur que la barre oblique finisse le nom du chemin }
Chemin := IncludeTrailingPathDelimiter(Edit1.Text);
{ Recherche de la première entrée du répertoire }
If FindFirst(Chemin+'*.*',faAnyFile,Info)=0 Then
Begin
Repeat
{ Les fichiers sont affichés dans ListBox1 }
{ Les répertoires sont affichés dans ListBox2 }
If Not((Info.Attr And faDirectory)=0)
Then ListBox2.Items.Add(Info.FindData.cFileName)
Else ListBox1.Items.Add(Info.FindData.cFileName)
{ Il faut ensuite rechercher l'entrée suivante }
Until FindNext(Info)<>0;
{ Dans le cas ou une entrée au moins est trouvée il faut }
{ appeler FindClose pour libérer les ressources de la recherche }
FindClose(Info);
End;
end;