Bonjour,
j'utilise le composant TNMFTP qui est très simple.
Cependant existe-il une solution pour distinguer fichiers et répertoires, pour par exemple, parcourir en récursif?
Si ce n'est pas possible directement...une piste?
merci
 [TNMFTP] distinguer fichiers et répertoires
 [TNMFTP] distinguer fichiers et répertoires
				
				
						
						
				Bonjour,
j'utilise le composant TNMFTP qui est très simple.
Cependant existe-il une solution pour distinguer fichiers et répertoires, pour par exemple, parcourir en récursif?
Si ce n'est pas possible directement...une piste?
merci
 
 
				
				
						
						
				Lorsque tu fais un appel à "List" (PAS NList), un événement "OnSuccess" est déclanché avec TCmdType=cmdList (si tu as mis ParseList=true, ce qui est vivement conseillé).
Depuis OnSuccess, tu peux alors consulter tous les fichiers et répertoire grâce à la propriété FTPDirectoryList.
FTPDirectoryList->name->Strings[i] pour le nom de la i_ème entrée
FTPDirectoryList->Size->Strings[i] pour la taille de la i_ème entrée
FTPDirectoryList->ModifDate->Strings[i] pour la date de modif de la i_ème entrée, et
FTPDirectoryList->Attribute->Strings[i] pour les attributs de la i_ème entrée
Les directories ont un attribut "d", ce qui te permet de les distinguer des fichiers
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
33
34
35
36
37
38
39
 
 
				
				
						
						
				yes, excellent....
je devrais me débrouiller avec ça.
merchi
 ATTENTION LIENS
 ATTENTION LIENS
				
				
						
						
				Salut,
Il se peut que dans le répertoire du serveur il y ait des liens vers des sous-répertoires ou vers des fichiers. Dans ce cas, l'attribut FTPDirectoryList->Attribute contient un 'l' mais pas de 'd', et rien ne permet de savoir si l'élément est un répertoire ou un fichier. Dans cette hypothèse, une seule solution : repérer tous les FTPDirectoryList->Attribute qui commencent par 'l' et tenter un ChangeDir(). Si le ChangeDir() échoue c'est un fichier... sinon un sous-répertoire.
Partager