Svp je besoin de votre aide.
Je veux savoir comment rechercher un fichier dans tous les sous répertoires du repertoire en cours et le récupérer???
Merci beaucoup.
Svp je besoin de votre aide.
Je veux savoir comment rechercher un fichier dans tous les sous répertoires du repertoire en cours et le récupérer???
Merci beaucoup.
Bonjour cher nouveau membre,
La magie de WinDev passe par the magic touch 'F1'
Ensuite, pour t'aiguiller, il y a la fonction ftplistefichier
et enfin, si ton code que tu auras pris soin de tester te pose soucis, alors, tu le postes et nous serons là pour t'apporter notre humble et modeste contribution.
Bonne recherche et bon dev.
le savoir est dans les livres, 'the magic touch F1'
Amicalement
Eric
hello,
il faut utiliser la fonction "callback" de la procédure ftplistefichier pour pouvoir récupérer les fichiers et les répertoires et ce n'est pas si facile pour descendre dans les sous-répertoires car il faut utiliser la fonction "callback" en récursif, c'est à dire qu'on appelle la fonction à l'intérieur de la fonction. D'autre part le parcours d'un serveur FTP m'a l'air bien long,par exemple plusieurs minutes sur le site ftp de pcsoft. Donc il est intéressant d'utiliser un thread pour ne pas bloquer l'IHM pendant la recherche.
Voici ce que j'ai "pondu' en m'inspirant du code de mnssylvain ici :
1 - Mettre une variable globale de connexion dans le code du projet ou de la fenêtre :
2 - Créer une procédure locale RechercheFTP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Resconnecte est un entier
3 - Créer la fonction locale de callback RecFicFTP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 PROCEDURE RechercheFTP(FichierRecherché) FTPListeFichier(Resconnecte,"/","RecFicFTP",FTPRépertoire+FTPFichier,FichierRecherché)
et voici comment appeler la recherche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 PROCEDURE RecFicFTP(NomFichierTrouvé, nTaille, sAttribut, sDate, sHeure,FichierRecherché) // J.P Avril 2016 SI sAttribut = "D" ALORS //si le fichier est un répertoire //Parcours avec la fonction callback FTPListeFichier(Resconnecte,NomFichierTrouvé + "/","RecFicFTP",FTPRépertoire+FTPFichier,FichierRecherché) SINON SI NomFichierTrouvé = FichierRecherché ALORS Trace ("================= Fichier Trouvé ================") Trace("Répertoire : " + FTPRepEnCours(Resconnecte) + " - Fichier : " + NomFichierTrouvé) FIN // Trace("Répertoire : " + FTPRepEnCours(Resconnecte) + " - Fichier : " + NomFichierTrouvé) FIN RENVOYER Vrai
EDIT : Voici ce qui est dit concernant la recherche de fichiers sur un site FTP ( en angliche dans le texte ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FichierRecherché est une chaîne = "InstallHlpMCU.EXE" // Connexion du poste en cours au serveur FTP Resconnecte = FTPConnecte("ftp.pcsoft.fr") //on appelle la procédure RechercheFTP dans un thread SI Resconnecte <> -1 ALORS ThreadExécute("Thread1", threadNormal, RechercheFTP,FichierRecherché)
Ami calmant, J.PUnfortunately FTP has not been designed for that. Searching would put a great load on the server, as it would have to walk every directory and get the contents.
There are FTP indexer programs available, though. They crawl the server and create an offline index page, which runs in the browser and is searchable.
Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko
Un trés grand merci MR jurassic pork, bien expliqué. En cours de test.
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