Bonsoir
Comment Cherher un fichier sous plusieur repertoir sans péconnaitre le chemin d'accès
Bonsoir
Comment Cherher un fichier sous plusieur repertoir sans péconnaitre le chemin d'accès
Salut Pour Tout Le Monde
Bonjour,
Pour rechercher un fichier dans plusieurs répertoires, tu peux utiliser une fonction récursive, c'est à dire une fonction qui s'appelle elle-même
voici un exemple que j'utilise :
Cette fonction recherche dans le répertoire passé en paramètre, et dans tous ses sous-répertoires. Donc pour rechercher dans tout le disque, il faut lui passer C:\ comme répertoire de départ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32 {Renvoie True si le fichier a été trouvé sur le disque} function RechercherDansRep(const aNomRep, aNomFic : string) : boolean; var trouve : boolean; Fichier : TSearchRec; FileAtt : integer; begin trouve := false; try ChDir(aNomRep + '\'); FileAtt := faAnyFile; if FindFirst(aNomRep + '\*.*', FileAtt, Fichier) = 0 then repeat if ((Fichier.attr and faDirectory) = faDirectory) and (Copy(Fichier.Name, 1, 1) <> '.') then begin trouve := RechercherDansRep(aNomRep + '\' + Fichier.Name, aNomFic); end else if UpperCase(Fichier.Name) = UpperCase(aNomFic) then trouve := true; until (FindNext(Fichier) <> 0) or (Trouve); FindClose(Fichier); except on E : Exception do begin trouve := false; ShowMessage('Erreur lors de la recherche du fichier : ' + E.Message); end; end; result := trouve; end;
Elle vérifie si un fichier existe, sans ramener le chemin vers ce fichier, donc il faut l'adapter, si le but est de ramener le chemin vers le fichier recherché...
Merci j'ai tenté cette solution est ça marche
Salut Pour Tout Le Monde
Il serait préferable de de remplacerpar
Code : Sélectionner tout - Visualiser dans une fenêtre à part ChDir(aNomRep + '\');
Code : Sélectionner tout - Visualiser dans une fenêtre à part IncludeTrailingBackslash()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager