IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[FTP] Récupérer des fichiers


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut [FTP] Récupérer des fichiers
    Bonjour,

    Je n'ai pas trouver si cette question à deja etait poser...

    Je voudrais savoir si quelqu'un pouvais m'aider.
    Je m'explique, j'utilise windev 10 express et je voudrais recuperer, sur ftp tous les fichiers datant de la veille.
    J'arrive bien à la faire avec des fichiers spécifiques (fichiers connus mise à jour quotidiennement), mais je voudrais le faire avec tous les fichiers présents sur le ftp en question.

    Merci d'avance pour vos réponse...
    @+

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Utilise FTPListeFichier() ça marche comme fListeFichier()

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    J'ai bien essayé mais ma procedure ne marche pas
    Je voulais faire un test de publier tous les fichiers *jpg, mais ça n'a pas marché
    Donc je supose que recuperer ces fichier ne marchera pas non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nbfic = FTPListeFichier(nidconnexion,"","Listefic",FTPFichier,nbjpg)
    Info("Il y a " + nbjpg + " fichiers .jpg sur " + nbfic + " fichiers sur le serveur.")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE Listefic(Nom, nTaille, sAttribut, sDate, sHeure, nParam)
    SI Droite(Nom,4) = ".jpg" ALORS
    nParam ++
    Fin
    RENVOYER Vrai
    Il me met "Il y a 0 fichiers .jpg sur 19 fichiers sur le serveur"
    Alors que sur mon serveur j'ai bien 17 fichiers .jpg

    Je ne trouve pas la solution

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Normal, tu as inversé le type de fichier et le nom de la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Listefic est chaine = "*.jpg"
    nbfic = FTPListeFichier(nidconnexion,"",Listefic,FTPFichier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PROCEDURE FTPFichier(Nom, nTaille, sAttribut, sDate, sHeure)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    euh ça marche encore moins :s!! il me trouve plein d'erreur...
    Normalement le code c'est ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Résultat> = FTPListeFichier(<Identifiant de la connexion>, <Chemin et nom générique des fichiers>, <Nom de la procédure> [,<Fichiers/Répertoires> [,<Paramètre>]])
    Donc mon code est bon...?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    nbfic = FTPListeFichier(nidconnexion,"",ListeFich,FTPFichier,nbjpg)
    ça doit etre au niveau de la procedure non?
     
    PROCEDURE ListeFich(Nom, nTaille, sAttribut, sDate, sHeure, nParam)
    SI Droite(Nom,4) = ".jpg" ALORS
    	nParam ++
    FIN
    RENVOYER Vrai

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Non, il faut mettre quelque chose dans "nom de fichiers"
    Par ex : "*.jpg" pour voir les .jpg

    J'avais "sauté" les "" c'est cela qui m'a fait croire à une erreur de syntaxe.
    J'ai pris ListeFich comme une variable avec le masque des fichiers

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Malheureusment,

    Meme avec "*.*", ça me donne le meme resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbfic = FTPListeFichier(nidconnexion,"",ListeFich,FTPFichier,nbjpg)
    ce code sert juste a compter le nombre de fichier present sur le ftp (avec ou sans "*.*" (viens de tester)

    Apres j'affiche le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info("Il y a " + nbjpg + " fichiers " sur " + nbfic + " fichiers sur le serveur.")
    Et il me met: "Il y a 0 fichiers sur 19 fichiers sur le serveur."

    Mais c'est au niveau de ma procedure que le nParam ne s'incremente pas, du coup nbjpg non plus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE ListeFich(Nom, nTaille, sAttribut, sDate, sHeure, nParam)
    SI Droite(Nom,4) = ".jpg" ALORS
    	nParam ++
    FIN
    RENVOYER Vrai
    Alors deja j'arrive pas a faire ça
    Alors dl juste les fichier de la veille...

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Ok, je ne comprenais pas, je croyais qu'il ne lisait pas le serveur

    C'est ton nParam qui ne sert à rien.
    Si tu fais un trace tu verras qu'il se remet à 0 à chaque appel
    Tu dois utiliser une variable globale à la fenêtre (ou au projet)

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Yes
    ça marche,
    Maintenant il faut je fasse la meme mais pour dl ces fichiers...

    Au fait voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nbjpg est un entier = 0 (declaration globale)
     
    PROCEDURE ListeFich(Nom, nTaille, sAttribut, sdate est une Date, sHeure, nParam)
    SI Droite(Nom,4) = ".jpg" ALORS
    	nbjpg ++

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    bon ben maintenant j'ai le souci pour dl les fichiers d'une certaine date:
    (dsl)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Datejour est une Date = Saisiedate1 (Declaration globale)
     
    PROCEDURE ListeFich(Nom, nTaille, sAttribut, sdate, sHeure, nParam)
    SI sdate = Datejour ALORS
    	FTPRécupère(nidconnexion,sdate,"C:\Documents and Settings\ID1\Bureau\Test")
    FIN
    Merci d'avance

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Fais un Info() sur tes dates, c'est probablement une question de format

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    il me sort:

    "20071009"

    Mais je vois pas comment changer le format de sDate??
    si toutefois il faut le changer

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par jeruzalem Voir le message
    il me sort: "20071009"
    Pour les deux ?
    sdate et Datejour ?

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Euh pour

    sDate = 20071005
    (comprend po???)

    datejour = 20071009

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Donc c'est le même format, le problème ne vient pas de là

    Par contre, selon ton code, tu ne récupères que les fichiers du jour, donc les fichier dont la date est 20071009
    Tu ne saurais donc pas récupérer un fichier dont la date est 20071005

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    non mais si tu veux Datejour est = à un champ de saisie.
    si je met 05/10/2007 Datejour sera egale à ça...

    le souci c'est que quand je rentre dans la procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI sdate = Datejour ALORS
    	FTPRécupère(nidconnexion,sdate,"C:\Documents and Settings\ID1\Bureau\Test")
    FIN
    pourquoi ça ne marche pas?
    En gros oui je n'arrive pas a recupérer un fichier du 05/10/2007

  17. #17
    Membre habitué
    Inscrit en
    Juin 2007
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 125
    Points : 140
    Points
    140
    Par défaut
    Bonjour,

    la syntaxe est :
    <Résultat> = FTPRécupère(<Identifiant de la connexion>, <Fichier/Répertoire à récupérer>, <Fichier/Répertoire destination> [[,<Nom de la procédure> [, <Mode de transfert>])
    et toi tu passes sdate pour le fichier à récupérer, le problème vient sans doute de là...

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Ce n'est plus du dépannage Windev ça, c'est un cours de programmation

    Tu as tracé ton projet ?
    Tu as vérifié :
    • que sDate et DateJour sont bien égaux et que tu entres bien dans ta consition ?
    • que nidconnexion a la bonne valeur ?
    • que le dossier de téléchargement existe ?

    Tu dois aussi récrire correctement:
    pas FTPRécupère() mais ResFTP=FTPRécupère()
    La récupération du résultat de l'opération te permet de savoir ce qu'il se passe.
    <Résultat> : Booléen
    Vrai si le transfert a été effectué, Faux dans le cas contraire. Le compte rendu d'erreur détaillé peut être obtenu avec la fonction ErreurInfo . Le résultat de cette fonction peut être incorrect sur certains serveurs Unix : un fichier ou un répertoire existant peut ne pas être trouvé.
    [Édit]
    +1
    comme le dit Tasumy, ta syntaxe de la commande FTPRécupère() est erronée

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ok,
    j'ai changé sDate par Nom.

    Mais je vois que datejour est egale a 20071009 meme en ayant

    Saisiedate1 = Datejour

    Pourtant je rentre bien dans le champ de saisie 20071005

    Ok je reecris tous, je verrais bien merci quand meme

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Saisiedate1 = Datejour attribue au champ Saisiedate1 la valeur Datejour
    Pour attribuer la valeur du champ à la variable tu dois faire le contraire :
    Datejour=Saisiedate1

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.2] FTP : Récupérer des fichiers distants pour copie vers le mien
    Par renaud26 dans le forum Langage
    Réponses: 4
    Dernier message: 26/12/2014, 17h22
  2. Script pour récupérer des fichiers FTP
    Par hunyka dans le forum Linux
    Réponses: 2
    Dernier message: 07/12/2011, 16h04
  3. récupérer des fichier sous FTP avec la date
    Par zaki_1982 dans le forum Windows
    Réponses: 0
    Dernier message: 21/10/2011, 11h55
  4. Réponses: 5
    Dernier message: 16/03/2011, 18h53
  5. Réponses: 2
    Dernier message: 12/03/2009, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo