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

MATLAB Discussion :

Echange d'information entre un .exe et un script MATLAB


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Echange d'information entre un .exe et un script MATLAB
    Bonjour,

    Actuellement en stage, on m'a demandé de faire un petite appli sous Matlab, langage que je ne connais pas très bien (pour ne pas dire pire...)

    Je cherche par cette appli à ouvrir un .exe qui permet de convertir des fichiers dans un format universel afin qu'ils soient utilisables par des logiciels de calculs. j'y suis arrivé par la commande:, j'ai essayé d'utiliser la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fname=fichieraconvertir.unv
    system(['monappli.exe < ' fname])
    sans grand succès...

    Mon problème vient du fait que j'ai besoin de communiquer à ce .exe le nom du fichier à convertir, et après quelques jours de recherche sur la toile je n'ai pas trouvé de cas équivalent au mien...

    Quelqu'un saurai-t-il si il existe un moyen de communiquer avec ce .exe???

    Quelques petites précisions: aujourd'hui pour utiliser ce petit programme réalisé en fortran, on l'exécute et on fait glisser le nom du fichier à convertir dans la fenêtre d'exécution...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    La fonction open sert à ouvrir un fichier et voir son contenu. Or on exécute un .exe.
    Ta deuxième tentative était proche de la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fname = 'fichieraconvertir.unv'
    system(['monappli.exe ' fname])

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci de t'as réponse rapide!!
    en effet ça marche mieux en mettant les guillemets... -.-

    j'aurai une question supplémentaire : A partir du moment où je lui envoi le nom de mon fichier (qu’il prend comme une chaine de caractère si j’ai bien compris) j’ai un choix à faire suivant si mon fichier fait partit d’un ensemble 1 ou 2. Est-il possible d’envoyer une deuxième information à cet exécutable ?
    Peut-être par la même commande mais avec une syntaxe que je ne connais pas ?

    Ma première idée d'ouvrir l'executable provenait de l'idée qu'après qu'il soit ouvert, je pouvais essayer de lui communiquer plusieurs informations...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je n'ai pas très bien saisi cette notion d'ensemble...
    Après il est parfaitement possible de passer plusieurs arguments (si tenté que le .exe accepte ces paramètres) il suffit de les séparer par un espace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system(['monappli.exe ' param1 ' ' param2 ' ' ...])
    Remarque : il est possible qu'un paramètre contienne justement un espace, ce qui peut être le cas pour un nom de fichier. On englobera alors le paramètre par des doubles guillemets. La solution précédente devient alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system(['monappli.exe "' fname '"'])

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci pour ta réponse efficace!!!!

    je vais regarder ce que je peux faire avec ça et je te tiens au courant pour cloturer le sujet

    Merci en tout cas!

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Quand je parle d'ensemble, c'est que les calculs sont découpés en plusieurs parties (ou ensembles) de façon ne pas surcharger le serveur qui s'occupent des calculs, cependant il faut du coup "linker" ses parties (ou ensemble).
    Mais cette partie n'intervient pas dans la programmation que je veux faire, se sont des changements qui s'effectuent dans l'executable. Cela permet de référencer la place du fichier que je veux convertir dans les bases de données de l'entreprise...

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Bon, je n'arrive pas à résoudre mon problème, il est du coup surement mal posé...

    actuellement, pour utiliser cette applis, je double click dessus, ce qui l'ouvre et non l'exécute (du moins c’est comme ça que je le comprends) dans une invite de commande, puis j'y glisse le nom du fichier que je veux convertir et j'appuis sur la touche entrer. Ensuite il me demande quelques paramètres à renseigner avant de convertir mon fichier. Il l’enregistre sous le même nom avec un suffixe OUT de façon à avoir l’original et le fichier converti.
    Ce que je veux faire c’est pouvoir automatiser ce processus, c’est-à-dire de rentrer tous les paramètres au début dans des variables, et ensuite lancer l’applis. Pour cela il faut donc que Matlab et mon appli communiquent ensemble (du coup l’envoi de paramètre n’est peut-être pas la solution ?)
    Je n’ai pas trop d’idée sur comment je peux résoudre mon problème…
    Avec le code il me lance mon applis sur la console de Matlab, je peux ensuite rentrer les paramètres que je veux, mais j’ai l’impression que ça n’a plus de relation avec matlab, et donc par suite pas de possibilité d'intervenir dessus avec Matlab...
    Es ce que du coup je peux partir sur cette base pour essayer de communiquer avec l’applis ?
    Ou es ce qu’il y a possibilité de continuer avec les commandes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     fname = 'fichieraconvertir.unv'
    system(['monappli.exe ' fname])
    que winjerome m’a passé ?
    Je suis un peu perdu à vrai dire…
    Merci d’avance.

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Ce problème dépend en grande partie de ton application et non de matlab : est ce-que ton application peut s'exécuter en ligne de commande avec des options (comme un nom de fichier, des paramètres, etc..)
    Par exemple, est-ce que dans un invite de commandes (donc totalement indépendamment de matlab), tu peux faire :
    monappli.exe fichieraconvertir.unv
    et alors l'application s'ouvre avec le fichier désiré?

    Si oui, tu peux tester la ligne de commande de winjerome dans matlab, si non, tu ne pourras pas faire grand chose à partir de matlab...
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Mouai, la réponse ne me ravi pas mais je crains fortement que tu ais raisons...
    quand je tape dans l'invite de commande le nom de l'appli et le fichier a modifier, il ne lance que l'appli, j'en conclue qu'il ne voit pas que j'ai rentré le nom du fichier...

    Mais du coup il n'est pas possible de dialoguer avec l'applis, je veux dire par là que matlab regarde quand elle est active, et paramètre par paramètre lorsque celle ci ce stop (a chaque question/demande d'information)??

    ou peut être que la solution est de réécrire les procédures Fortran dans le langage matlab; dans mon applet matlab :s

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

Discussions similaires

  1. Echange d'information entre formulaire et url
    Par Stefan0 dans le forum Langage
    Réponses: 4
    Dernier message: 05/05/2012, 20h30
  2. Echange d'informations entre plusieurs mobiles.
    Par Akiat dans le forum Android
    Réponses: 5
    Dernier message: 21/11/2011, 15h03
  3. [SP2010] Echange d'information entre 2 webparts
    Par xanass dans le forum Développement Sharepoint
    Réponses: 9
    Dernier message: 30/06/2011, 09h57
  4. Echange de données entre deux système d'information
    Par phy4me dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/07/2008, 10h46
  5. [Kylix] Echange de données entre fiches
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 01/07/2003, 11h34

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