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 :

Comment améliorer mon code LanceAppli [WD15]


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut Comment améliorer mon code LanceAppli
    Bonjour,

    Pour démarrer un logiciel nommée AA.exe et présent dans le répertoire
    de mon application j'utilise le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SI PAS LanceAppli("AA.exe") ALORS Erreur ("Le logiciel AA n'est pas installé !")
    Je souhaiterai améliorer ce code afin que LanceAppli recherche dans TOUS
    les lecteurs C:/ D:/ etc et sous répertoires si le fichier AA.Exe est bien présent.

    Merci pour l'aide, un exemple de code sera le bienvenue

    Papy

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    Comment veux-tu détecter s'il est présent? Juste le fait qu'un fichier s'appelle AA.exe est suffisant? Que fais-tu des répertoire qui peuvent contenir une sauvegarde ou une autre version? Si tu installes cette application en même temps que la tiennes pourquoi ne l'écris-tu pas dans le registre. Si tu ne l'installes pas nécessairement en même temps que ton application, est-ce que tu l'installes avec une autre application et est-ce que c'est écrit dans le registre?

    Tout ça pour te dire que la meilleur façon de trouver une application n'est pas de chercher partout, en plus c'est super long.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par klbsjpolp Voir le message
    Bonjour,

    Comment veux-tu détecter s'il est présent? Juste le fait qu'un fichier s'appelle AA.exe est suffisant? Que fais-tu des répertoire qui peuvent contenir une sauvegarde ou une autre version? Si tu installes cette application en même temps que la tiennes pourquoi ne l'écris-tu pas dans le registre. Si tu ne l'installes pas nécessairement en même temps que ton application, est-ce que tu l'installes avec une autre application et est-ce que c'est écrit dans le registre?
    Bonsoir,

    Je ne sais pas donc je pause la question ! pour les registres je ne maitrise pas

    Mais si par exemple de ton appliq. tu veux lancer WinDev15.exe tu fais comment ?
    sans savoir si ce dernier est installé ou non sur une UC

    Merci pour ta réponse

    P

  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
    Il est toujours possible d'effectuer une recherche sur tous les supports présents pour trouver un fichier avec les fonctions de gestion d'unités, de répertoire et fichier comme CDListe (), fRépertoireExiste () et fFichierExiste (). Toutefois, cela me paraît un tantinet foireux comme procédure.

    Comment se fait-il que le chemin de l'exécutable à lancer ne soit pas connu ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Bonjour Guardian,

    Le chemin de l'appliq est connue C:\Monappliq\aa.exe

    mais que ce passe t'il si l'utilisateur l'installe dans d: ou E: ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SI PAS LanceAppli("AA.exe") ALORS Erreur ("Le logiciel AA n'est pas installé !")
    Le code ci-dessus fonctionne si le logiciel AA.exe est installé dans le
    répertoire de mon applique C:\Monappliq\

    Je cherche à améliorer au cas ou l'utilisateur aurais installé ou
    copié le AA.exe sur un autre disque dur

    Merci

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Points : 55
    Points
    55
    Par défaut
    Tu ne donnes pas grand chose pour t'aiguiller. on ne sait pas ce qu'est cette fameuse appli, si elle est fournie avec ton installation ou pas...

    Comme dit plus haut, faire une recherche sur TOUS les fichiers d'un support peut être très long et c'est très sale.

    Soit tu cherches dans la BDR le chemin de ta fameuse appli, soit tu cherches l'existence de l'exe dans un chemin présupposé, et si tu ne le trouves pas, tu peux ouvrir un popup qui demande de renseigner le chemin de l'exécutable que tu récupéres dans une chaîne

  7. #7
    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
    Tu peux créer un raccourci sur le bureau ou dans le menu "Démarrer" lors de l'installation en utilisant le chemin choisi par l'utilisateur.

    La solution du registre me semble bancale.
    En effet, c'est l'application qui irait lire le registre, mais pour cela, il faut qu'elle soit lancée

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Bonjour à tous,

    Je vais essayer d'etre plus clair

    Je dev un appliq nommée Papy.exe avec le chemin d'install par défaut C:\Papy

    Dans les prochaine semaines je vais dev une appliq. nommé AA.exe
    avec le chemin d'install par défaut C:\AA sauf
    si l'utilisateur souhaite changer le chemin D:\AA ou E:\AA

    Dans le menu de mon appli actuelle nommé Papy.exe je souhaite intégrer
    un lien ouvrant l'appli AA.exe

    Mais je sais pas si l'utilisateur aura install AA.exe et dans Quel répertoire ?
    La solution ci-dessous me semble convenir mais je sais pas comment la mettre en code ?
    soit tu cherches l'existence de l'exe dans un chemin présupposé, et si tu ne le trouves pas, tu peux ouvrir un popup qui demande de renseigner le chemin de l'exécutable que tu récupéres dans une chaîne
    Dans l'aide de WD j'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // bLancé est un booléen
    bLancé est un booléen
     
    // Lance l'application
    bLancé = LanceAppli("C:\AA\AA.exe", exeMaximise, exeNonBloquant, "C:\AA\")
     
    SI ErreurDétectée ALORS
    	Erreur("Le logiciel AA n'est pas installé !")
    FIN
    Merci pour un exemple

  9. #9
    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 papydev Voir le message
    Merci pour un exemple
    Je doute qu'on te fasse ton code de recherche d'un fichier sur tous les supports, dans tous les répertoires possibles

    De toute façon, le problème est le même que pour la lecture du registre : l'application doit être lancée pour exécuter du code. Si tu ne sais pas la lancer faute de savoir où elle se trouve...

    Reste la solution du raccourci que je t'ai proposée

  10. #10
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Citation Envoyé par Guardian Voir le message
    La solution du registre me semble bancale.
    En effet, c'est l'application qui irait lire le registre, mais pour cela, il faut qu'elle soit lancée
    Si je comprend bien le problème, elle est lancé. Le but c'est de lancé une application depuis une deuxième. Il ne sait seulement pas ou se trouve l'application en question. C'est pourquoi le moyen le plus simple de savoir ou une application est installer c'est d'aller voir dans les registres de l'installateur.

  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
    En effet, j'avais zappé ce passage.
    Dans le menu de mon appli actuelle nommé Papy.exe je souhaite intégrer un lien ouvrant l'appli AA.exe
    Donc, registre

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Merci à vous je vais étudier l'aide de WD et les registres

    P

  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
    C'est très simple avec les fonctions de WinDev.
    D'autant que tu vas créer toi-même la clef lors de l'installation du logiciel "B", donc tu n'auras pas de recherche à faire lors de la lecture.
    Fait surtout attention d'avoir une clef bien spécifique qui ne peut être confondue avec une autre.
    RegistreCréeClé ()
    RegistreEcrit ()
    RegistreLit ()

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 59
    Points : 41
    Points
    41
    Par défaut
    Merci Guardian

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Comment améliorer mon code pour ajout et modification de user code
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/08/2014, 15h16
  2. Réponses: 19
    Dernier message: 13/08/2013, 15h41
  3. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 21h13

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