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 :

Automatisation de lancement d'application avec un programme WinDev


Sujet :

WinDev

  1. #1
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut Automatisation de lancement d'application avec un programme WinDev
    Salut à tous,

    Comme on dirait qu'il y a des pros ici, je pose ma question:

    J'ai des fichier avec extension ".BEP", ce sont des fichiers textes qui contiennent en fait une sorte de base de données à l'intérieur.
    Pour les lire pas de problème, pour les importer non plus, mais le problème c'est que mes cients ne comprennent pas pourquoi lorsqu'ils cliquent deux fois sur ces fichiers on leur demande de choisir un programme pour les ouvrir (en fait s'ils suivaient mes consignes ils iraient faire ça à partir du logiciel, mais un client ça suit rarement les consignes ).

    Bref ce que je voudrais faire c'est que quand l'utilisateur double clique sur un .BEP , Windows ouvre non seulement mon logiciel, mais en plus qu'il lui passe un paramètre pour indiquer qu'on tente d'ouvrir un .BEP (pour que le programme soit capable de détecter qu'on tente d'ouvrir une sauvegarde, donc qu'on veuille la restaurer).

    Si mon explication a pas été claire je recommence vite fait : quand l'utilisateur clique deux fois sur un ".BEP", Windows lance mon logiciel, et le logiciel propose à l'utilisateur d'importer cette sauvegarde.

    Solution?


    Merci par avance.

    Bonne journée,

    Micaël

  2. #2
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    Sur le poste client, pourquoi ne pas associer (type MIME) les .BEP avec une commande de type "projet.exe param1" ?
    Je penche, donc je suis

  3. #3
    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
    Et cela peut être fait via la BdR à la première exécution du logiciel.

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Comme l'a dit Guardian, pour associer une extension à une application il te faut passer par la base des registres.

    Voici ce que cela donnerai avec un fichier .reg
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\.BEP]
    @="bepfile"
     
    [HKEY_CLASSES_ROOT\bepfile]
    @=""
     
    [HKEY_CLASSES_ROOT\bepfile\shell]
     
    [HKEY_CLASSES_ROOT\bepfile\shell\open]
     
    [HKEY_CLASSES_ROOT\bepfile\shell\open\command]
    @="\"C:\\Program Files\\MonAppli\\monappli.exe\" \"%1\""
    Tu execute ce script à l'installation de ton application et le tour est joué .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    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
    Ou via l'application elle-même avec les fonctions WD de gestion de la BdR

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par Guardian
    Ou via l'application elle-même avec les fonctions WD de gestion de la BdR
    Oui, mais cela oblige de lancer l'application au moins une fois avant de pouvoir lancer les fichiers automatiquement.

    De plus, l'association des fichier à l'application est bien une opération d'installation, mettre du code pour cette opération dans ton programme ne me paraît pas pertinent (code exécuter à chaque lancement de l'application alors qu'une seule fois suffit) et me semble être une erreur de conception.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  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
    @ le y@m's
    Pas forcément
    1- l'application peut lancer l'inscription dans le registre avant toute autre chose
    2- l'application lis généralement des infos dans le registre, donc... il n'y a aucune perte de temps
    3- avant d'écrire dans le registre on vérifie quand même la présence de la clef, donc au second lancement l'inscription ne se fera pas

    Le reste est affaire d'habitudes et de sensibilité

    Et si l'inscription doit être "discrète" il est préférable que ce soit l'application qui s'en charge

  8. #8
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Citation Envoyé par Guardian
    @ le y@m's
    Pas forcément
    1- l'application peut lancer l'inscription dans le registre avant toute autre chose
    2- l'application lis généralement des infos dans le registre, donc... il n'y a aucune perte de temps
    3- avant d'écrire dans le registre on vérifie quand même la présence de la clef, donc au second lancement l'inscription ne se fera pas

    Le reste est affaire d'habitudes et de sensibilité

    Et si l'inscription doit être "discrète" il est préférable que ce soit l'application qui s'en charge
    J'avais bien compris que l'on ne refaisait pas l'inscription à chaque démarrage, mais tu as néanmoins un test conditionnel (vérifier si les données sont inscrites dans la bdr) qui s'execute à chaque démarrage de l'appli.
    Je suis d'accord sur le faite que ce n'est pas ça qui va pourrir les performances , mais néanmoins je trouve cela quelque peu illogique car mis à part la première fois, la condition donne toujours le même résultat et devient donc inutile (bon d'accord les valeurs peuvent être modifiées ou supprimées j'y reviendrais après ^^).

    De plus, tu as toujours besoin de lancer l'application au moins une fois pour faire l'association avec les extensions , ce qui peut-être considéré, si on est sévère (et je suis sûr que tu sais combien peuvent l'être certains clients ^^), comme un défaut fonctionnel ("ben oui, moi je veux installer l'application et directement double-cliquer sur un fichier BEP sans avoir à lancer l'application une première fois ...").

    Je pense donc que faire l'inscription dans la bdr directement à l'installation est un meilleur choix, même si rien n'empêche de rajouter la possiblité de refaire l'association via une option dans l'application (pour le cas où les valeurs soient modifiées ou supprimées...) .

    Il est vrai que c'est un peu du chippotage mais d'un point de vue conceptuel, ta solution me gêne un petit peu.

    Pour la discrétion, tu n'es pas obligé de passer par un .reg pour inscrire les valeurs dans la bdr, j'avais choisi ce support car il me semblait être le plus simple et parlant.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  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
    Il est certain que si la BdR n'est pas lue par l'appli pour une autre raison, il est préférable que l'écriture dans la BdR soit externe et effectuée lors de l'installation, quelque soit la solution choisie

  10. #10
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Salut à tous,

    Désolé j'étais occupé pour plusieurs jours ce qui justifie ma réponse vraiment tardive

    Bon j'ai fait ces commandes sous Windev directement, ok j'ai ttrouvé les fonctions, le logiciel se lance dès qu'on prend les fichiers BEP, mais problème:

    Comment fais ton pour passer ou prendre des paramètres (genre nom du fichier) à partir de notre programme Windev?

    Parce que savoir ouvrir le bon logiciel c'est bien, mais pouvoir le faire interpréter des choses c'est mieux

    Merci d'avance, et merci encore pour toutes vos réponses.

    A bientôt,

    Micaël

  11. #11
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    LigneDeCommande() te permet de récupérer les paramètres passés à ton executable.


    Il faut voir comment tu lances ton logiciel.Essaie de le lancer en lui passant le nom du fichier en paramètre. "MonLogiciel.exe /test.BEP"
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  12. #12
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Ok je vois, c'est LigneCommande qui permet d'importer les options (paramètres) d'ouverture, mais seulement comment je fais moi pour demander à windows d'envoyer le nom du fichier en paramètre? C'est le %1 qui va renvoyer ça? Je dis %1 parce que y'a une clé dans la BdR du genre "chemin executable" "%1".

  13. #13
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Ok donc, j'ai essayé, en théorie ça devrait fonctionner, mais là un ptit problème se pose:

    Quand on lance le logiciel normalement, ça fonctionne parfaitement.

    Quand on le lance via un fichier de sauvegarde BEP, il fait comme s'il perdait les connection avec la base de données, comme s'il ne trouvait plus les .FIC en fait.

    Comment ça se fait? C'est simplement parce que je ne l'ai pas lancé via l'executable de mon appli qui est à la même place que mes fichiers FIC et NDX ?

    Bizarre quand même....

  14. #14
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Qu'est-ce qui te faire dire qu'il ne trouve pas les fichiers FIC ?

    Montre-nous comment tu te connectes à la base de données.Ce sont des fichiers HF classic ou C/S ? Tu fais un HChangeConnexion ou un HChangeRep ?
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  15. #15
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Non je ne fais aucune de ces opérations, c'est Windev qui associe simplement les fichiers FIC avec le reste, moi je ne demande rien.

    Mais bon ça peut être à cause d'un autre projet, parce que mon install est peut être boiteuse vu que c'était un projet copié (copié à partir d'un autre de mes projets) et j'ai modifié le nom manuellement + avec les fonctions de windev

    En tous cas merci je pense que cela fonctionnera sur un poste normal, il faudra que je teste.

  16. #16
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Pour continuer, une autre question

    Donc, ce que je disais plus haut en fait je me suis apperçu par hasard que pour l'ouverture de mes fichiers .BEP c'est parfait il ouvre le logiciel mais comme je le disais il ne trouve pas les .FIC de l'application installée originalement... Et j'ai bien trouvé la cause! Il recréé en fait automatiquement ces fichiers à l'emplacement du fichier .BEP, et ces fichiers sont bien entendus vides

    Bref c'est comme s'il ne trouvait pas les fichiers de l'analyse du programme qu'on lance automatiquement... alors qu'en théorie il devrait prendre les même fichiers qu'au départ.

    Quelqu'un aurait une idée pour forcer windev à utiliser les fichiers .FIX .NDX ... qui sont dans le même répertoire que l'exe qui a été ouvert? Parce que c'est complètement inutile pour moi de recréer tous mes .FIC .NDX... à l'endroit où la sauvegarde .BEP est effectuée.

    J'espère avoir été assez clair, si ce n'est pas le cas dites le moi.


    Merci d'avance

  17. #17
    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
    Créer un fichier .REP ?

  18. #18
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Pardon?
    Qu'est ce qu'il contient ce fichier .REP ?
    Moi j'aurais plutôt pensé à lui forcer la main avec une fonction de windev pour lui dire que les .FIC sont au même endroit que le .EXE, mais je sais pas la fonction.

  19. #19
    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
    Le chemin d'accès aux fichiers se détermine :
    - soit dans l'analyse
    - soit à la compilation
    - soit via une instruction lors de l'écriture du programme
    Il n'est, à mon sens, pas possible de modifier cela sans le source.

    Il existe une autre possibilité, le fichier .REP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ;PCSoft - Hyper File V7.00 - REP V7.00
    ;Do not edit. Please use specific tools.
    ANALYSISGUID=77F5E27B3F214367A1404AD3A3D136BA	;Analysis GUID
    LOCALIZATION=6603A93EA5BA40E0B744939276EEBB26	Clients	C:\RJCOMPTA\fichiers\Clients.FIC
    LOCALIZATION=6603A93EA5BA40E0B744939276EEBB26	Clients	C:\Mes Projets\ergi\ERGI_Menu\Exe\fichiers\Clients.FIC
    Mais il est généré automatiquement par l'application en principe.
    Cela dit, il est peut-être possible de le modifier.

    Il n'y a rien dans la BdR ?

  20. #20
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Ben dans la BdR je lui ai simplement dit d'ouvrir le .EXE du logiciel, c'est tout.
    Il ouvre le logiciel avec le paramètre qui est le fichier .BEP, mais le problème c'est que comme je l'ai dit apparemment il perd ses repères et croit que les fichiers doivent être au même emplacement de la sauvegarde. Bref le hcréationsiinexistant créé tous les fichiers à l'emplacement de la sauvegarde (qui n'est pas au même endroit que le .EXE).
    La solution consisterait surement à placer la sauvegarde dans le répertoire du logiciel, mais allez dire ça a un client
    J'aimerai bien savoir comment faire pour ne pas avoir ce genre de problème.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/07/2009, 14h14
  2. Réponses: 3
    Dernier message: 01/04/2008, 23h18
  3. Probleme de lancement d'une application avec SQL
    Par Tigre_82 dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/10/2007, 11h26
  4. automatisation du lancement d'une application
    Par ga.la dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 18/12/2006, 14h49
  5. lancement d'une application dans un programme
    Par nitneuk dans le forum MFC
    Réponses: 8
    Dernier message: 06/04/2006, 20h59

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