Bonjour Delphiste,
j'essaye simplement de récupérer une liste de répertoires d'un répertoire.
Puis-je m'en sortir avec DirectoryExist?
Sinon avez vous des suggestions?
Merci d'avance.
Raoudi57
Version imprimable
Bonjour Delphiste,
j'essaye simplement de récupérer une liste de répertoires d'un répertoire.
Puis-je m'en sortir avec DirectoryExist?
Sinon avez vous des suggestions?
Merci d'avance.
Raoudi57
Bonjour,
je vous suggère de vous intéresser à l'objet TSearchRec.
vous trouverez un exemple concernant des fichiers à http://delphi.developpez.com/faq/?pa...listerfichiers
pour les répertoires, il suffit de changer quelques attributs. l'aide Delphi vous renseignera.
bonne continuation
si simplement tu veux présenter les dans une combo pour que l'utlisateur choisi un, utlise le composant de delphi qui fait sa fassilement (j'ai oublier son nom, shell.... :oops: )
Je ne sais pas si c'est ça que tu veux mais voilà, j'ai ce bout de code chez moi. Si ça peut d’ aider
Code:
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 procedure TForm1.Button1Click(Sender: TObject); Var Chemin : String; Info : TSearchRec; begin ComboBox1.Items.Clear; ComboBox2.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 ComboBox1 } { Les répertoires sont affichés dans ComboBox2 } If Not((Info.Attr And faDirectory)=0) Then ComboBox2.Items.Add(Info.FindData.cFileName) Else ComboBox1.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;
Bonjour Delphistes,
Merci à tous pour vos réponses, je vais utiliser la proposition de crash override, j'avais déjà vu ce code mais je ne m'en souvenais plus.
Merci à tous.