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 :

Problème avec LanceAppli - rien ne se passe mais pas d'erreur [WD25]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut Problème avec LanceAppli - rien ne se passe mais pas d'erreur
    Hello le Forum,

    Je reviens vers vous car j'ai un petit soucis de code qui a l'air de fonctionner (pas de message d'erreur ...) mais qui n’exécute pas la commande souhaitée ?? ^^
    J'ai une table qui liste les fichiers PDF d'un répertoire.
    Ce que je souhaite faire c'est sélectionner tous les PDF (ou certains de cette table) pour y apposer un tampon avec l'outil en ligne de commande "PDF Stamper Command Line".
    Je sélectionne donc 2 ou 3 PDF dans ma table et tente de réaliser cette action avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sListePDF est une chaîne
    sLignedecommande est une chaîne
     
    POUR TOUTE LIGNE SELECTIONNÉE DE TABLE_courrier
    	sListePDF += "-i" + " " + COL_Libellé_courrier + " "
    FIN
     
    sLignedecommande = ChaîneConstruit("pdfstamp.exe %1" + "-n" + " " + "all" + "-tt" + " " + "courrier reçu le :" + " " + "\D",sListePDF)
     
    SI PAS LanceAppli(sLignedecommande,exeActif,exeNonBloquant) ALORS
    	ErreurInfo(errComplet)
    FIN
    Mais je n'ai aucun message d'erreur mais rien ne vient se tamponner sur mes PDF et je suis un peu perdu là ^^??
    Quelqu'un a t-il une idée sur l'erreur que je dois commettre ??

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Dans un premier temps, ton ChaineConstruit est bancale, pourquoi ne pas faire une seule chaine ? Si les "-n" "-tt" est consorts doivent changer aytant les passer en paramètre.
    Ensuite, sans le prototype de la ligne de commande, on ne peut pas vraiment t'aider.
    Enfin, tu n'as pas d'erreurs, mais tu as peut être des exceptions.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Bonjour Voroltinquo ,

    Merci pour le retour.
    En effet, les -n, -tt etc sont des paramètres.
    Alors si je crée un dossier dans lequel j'insère 2 PDF de x pages et que j'insère également l'outil pdfstamp.exe si j'ouvre une invite de commande depuis le dossier et que je rentre la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pdfstamp.exe -i PDF1.pdf PDF2.pdf -n "all" -tt "courrier reçu le : \D" -tff "fh" -tfs 10 -tp 8 -tr 90
    Cela fonctionne bien : j'ai mon tampon (reçu le : 13/05/2020) sur le côté gauche en bord de page écris en rouge avec une orientation à 90° (selon paramètres renseignés).
    J'obtiens alors 2 nouveaux PDF renommés en PDF1-stamp.pdf et PDF2-stamp.pdf
    Voilà ce que je cherche à reproduire...
    Les PDF sont listés dans la table, je les sélectionne et veux y appliquer la même ligne de commande??
    Enfin, ils sont tous concernés donc si c'était possible d'éviter d'avoir à les sélectionner ça serait encore mieux et plus rapide ...
    De plus, il faudrait que les anciens PDF soient supprimés pour laisser place aux nouveaux seulement aussi ...

    En espérant avoir été plus précis dans ma demande.
    Merci d'avance pour les retours.

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Vu ta manière de créer ta liste, "-i" apparaît autant de fois que de fichier, dans ta ligne de commande, il n'apparaît qu'une fois. Est-ce normal ?
    Par ailleurs, il me semble qu'il manque des espaces au niveau de ton ConstruitChaine entre autre avant le "-n"
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Ah oui en effet : non le mieux serait de le passer une seule fois en début de la chaîne.

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Le plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sListePDF est une chaîne
    sLignedecommande est une chaîne
     
    sListePDF ="-i"
    POUR TOUTE LIGNE SELECTIONNÉE DE TABLE_courrier
    	sListePDF =ChaineConstruit("%1 %2 ",sListePDF,COL_Libellé_courrier)
    FIN
    Il faudrait mettre un mouchard sur sListePDF et sLignedecommande
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    J'ai mis un trace sur sListePDF : et voilà ce que j'obtiens

    Nom : sshot-1.png
Affichages : 382
Taille : 3,8 Ko

    Désolé j'avais pas tracé la bonne variable.
    Tout à l'air OK avec ton code.

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Qu'est ce que ça donne en pas à pas, il n'y a peut être aucune ligne sélectionnée.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    En revanche, cela ne fonctionne toujours pas : j'ai ajouté les espaces manquants
    Petite question : ou le fichier pdfstamp.exe doit se situer ? dans le dossier contenant les PDF ? ou dans le dossier de l'application ?
    Il me semble avoir testé les 2 mais sans plus de résultat.

  10. #10
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Voilà ce que donne le trace de "sLignedecommande = ChaîneConstruit"

    Nom : sshot-2.png
Affichages : 388
Taille : 5,2 Ko

  11. #11
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par samsam007 Voir le message
    Petite question : ou le fichier pdfstamp.exe doit se situer ? dans le dossier contenant les PDF ? ou dans le dossier de l'application ?
    Il me semble avoir testé les 2 mais sans plus de résultat.
    A l'endroit où tu l'as installé. Par contre, il faut passer les chemins complets et pour l'appli à lancer et pour les PDF.
    Après, il va y avoir un problème de licence si tu distribue l'appli.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  12. #12
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    A l'endroit où tu l'as installé.
    Je n'ai pas installé l'application. Elle fonctionne en ligne de commande.
    Je dois juste avoir le .exe

  13. #13
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    en utilisant des triples " j'ai réussi à obtenir ça pour "sLignedecommande = ChaîneConstruit"

    Nom : sshot-3.png
Affichages : 389
Taille : 5,2 Ko

    Cela correspond exactement à la commande que je tape dans l'invite de commande ..
    Mais il ne se passe toujour rien au niveau des PDF ??

  14. #14
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Tu n'as pas lu la 2° partie de ma réponse concernant les chemins
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  15. #15
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    je viens de tester la ligne construite dans la capture d'écran et seulement le premier courrier a été tamponné ... il faut peut-être en réalité le paramètre "-i" devant chaque fichier

    Ajout : je viens de tester et il faut bien insérer le paramètre "-i" devant chaque fichier PDF :/

  16. #16
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    bon alors effectivement je m'excuse, j'ai lu un peu rapidement
    il faut en effet renseigner le chemin complet de chaque PDF + chemin complet de l'utilitaire pdfstamp ...
    je viens de tester comme ça et tout fonctionne !!

    par contre, petites questions : comment faire pour sélectionner tous les fichiers du dossier sans faire une sélection dans la table ?
    et de plus comment faire pour que les PDF tamponnés remplacent les anciens PDF en reprenant leur intitulé ?
    car pour le moment cela fonctionne mais il reste les anciens PDF que je dois effacer du coup et qui ont été renommé automatiquement ^^

  17. #17
    Membre du Club
    Homme Profil pro
    Apprentis développeur en "Herbe"
    Inscrit en
    Mars 2014
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Apprentis développeur en "Herbe"
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2014
    Messages : 310
    Points : 64
    Points
    64
    Par défaut
    pour essayer de supprimer mes anciens PDF j'ai tenté le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR TOUTE LIGNE SELECTIONNÉ DE TABLE_courrier
    	fSupprime(TABLE_courrier.COL_chemin)
    FIN
    mais tous les PDF sont supprimés (aussi bien les initiaux que ceux qui ont été tamponnés )
    comment faire pour trier les PDF que l'on souhaite supprimer ?
    il faudrait passer par une table intermédiaire? existe t-il une méthode plus directe peut-être ??

    merci d'avance pour vos réponses.

  18. #18
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Si tout est supprimé, c'est que tout est sélectionné.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Vu que tu traites les fichiers sélectionnés dans une boucle, et que la boucle liste correctement les fichiers, pourquoi ne pas mettre le nom de chaque fichier traité dans une liste de chaine directement dans la boucle ?
    Ainsi tu peux ne prendre en compte que les fichiers pour lesquels ne traitement a réussi, et les supprimer facilement même si "l'état" de la table change.

    Tatayo.

  20. #20
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 180
    Points : 275
    Points
    275
    Par défaut
    bonjour,

    votre ligne de commande contient des doubles quote il me semble donc il serait préférable de faire comme suit :

    Code WL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    sLigneCmd est chaine = [
       pdfstamp.exe -i %1 -n "all" -tt "courrier reçu le : \D" -tff "fh" -tfs 10 -tp 8 -tr 90
    ]
    POUR TOUTE LIGNE SELECTIONNÉE DE TABLE_courrier
    	sListePDF += [" "] + COL_Libellé_courrier
    FIN
     
    sLigneCmd = ChaineConstruit(sLigneCmd,sListePDF)
     
    ...

    voici une piste à tester
    Cordialement JeAn-PhI

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

Discussions similaires

  1. [MySQL] Problème Proc Stockée, s'éxecute sous PhpMyAdmin mais pas avec PHP
    Par toham dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 07/02/2012, 16h55
  2. [WD10] problèmes avec lanceAppli()
    Par elscorpio dans le forum WinDev
    Réponses: 14
    Dernier message: 31/08/2010, 11h05
  3. [WD11] Problème avec LanceAppli()
    Par LeGugusse dans le forum WinDev
    Réponses: 3
    Dernier message: 20/02/2009, 19h53
  4. Raccourcis clavier avec IE: , rien ne se passe
    Par bladerunners dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/06/2008, 11h05
  5. [IDHTTP] Problème avec la methode post (login:pass@ww.url)
    Par Rayek dans le forum Web & réseau
    Réponses: 5
    Dernier message: 11/07/2005, 10h03

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