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

Fortran Discussion :

[Fortran 90] Redirection d'entrée sur un exe


Sujet :

Fortran

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut [Fortran 90] Redirection d'entrée sur un exe
    Bonjour,

    J'aimerais savoir s'il est possible d'executer un fichier .exe (enfin ca je sais que oui) et de lui entrer des valeurs.
    Je vais prendre un exemple pour etre plus clair.

    disons que j'ai un prog (toto.exe) qui a ete fait en fortran :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Program Toto
    integer a,b
    write(*,*) 'valeur de A:'
    read(*,*)a
    b=a*a
    write(*,*)b
    End program
    ensuite j'aimerais faire un programme 'Maitre' qui vient lire la valeur de a dans un fichier txt, run toto.exe et me sort la valeur b

    La c'est un programme tout simple pour expliquer mon probleme.
    Je voudrais savoir comment je peux lui dire "voila la valeur A c'est celle lu dans le fichier texte".

    Pouvez-vous m'aider?

    Merci

    Zerbault

  2. #2
    Membre du Club Avatar de phy4me
    Inscrit en
    Octobre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 116
    Points : 61
    Points
    61
    Par défaut
    Tu cherches peut-être à faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Program Toto
    integer a,b
    write(*,*) 'valeur de A:'
    OPEN (7, FILE = 'TOTO.TXT)
    read(7,*)a
    b=a*a
    write(*,*)b
    End program

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Merci mais ce n'est pas ce que je recherche.
    En fait le toto.exe, n'est pas de moi, je n'ai pas le code source.
    Dans toto.exe il faut rentrer au clavier la valeur A, moi je veux faire un programme qui vient lire une valeur de A, l'envois dans toto.exe puis va lire une seconde, l'envois a son tour dans toto.exe,...
    C'est pour eviter de devoir etre present en face de mon ordi et de rentrer une nouvelle valeur "a la main" toute les 30 secondes.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    bonjour,

    dans quel environnement travailles tu ?

    si c'est sur Unix/Linux tu peux utiliser une redirection d'entrées/sorties.

    dans le cas de ton exemple, tu écris un fichier (qu'on va appeler input.txt) qui contient les valeurs que tu aurais du saisir au clavier:

    ensuite, tu lances ton exécutable de cette manière:

    si tu es sur Mac je ne connais pas bien mais tu dois pouvoir faire la même chose je pense.

    si tu es sur Windows, je ne sais pas s'il est possible de faire cette opération mais il y a sans doute une autre façon de faire.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Je suis sous win, ca n'a pas l'air de fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Program callpr
    implicit none
    integer instruction
    instruction=4
    write(*,*)instruction
    call system ('toto.exe<instruction')
    end program
    J'ai essaye ce code, ca ne fonctionne pas.
    Avez-vous une idee de la cause?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    après vérification, il semble que le batch permet de faire une redirection dans ce sens:

    http://www.robvanderwoude.com/redirection.php

    dès lors on peut créer un fichier .bat:

    ou alors même depuis l'invite de commande MSDOS.

    si tu tiens absolument à lancer le programme depuis un fortran, voici comment faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Program callpr
    implicit none
    integer instruction
    instruction=4
    open(10,file='input.txt')
    write(10,*)instruction
    close(10)
    call system ('toto.exe<input.txt')
    end program
    je ne peux pas tester mais je ne vois pas de raison pour que cela ne fonctionne pas.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup, ca fonctionnne!
    Mes cours de fortran sont loint...

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

Discussions similaires

  1. [K&R] Copie entrée sur sortie
    Par sorry60 dans le forum C
    Réponses: 7
    Dernier message: 25/04/2005, 21h32
  2. [CR9] Erreur sur crw32.exe
    Par claude dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 30/11/2004, 15h13
  3. gerer les parametres entrée sur un TADOStoredProc
    Par keguira dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/09/2004, 15h56
  4. Informations sur un exe (dans les propriétés windows)
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 06/07/2004, 18h20
  5. [icone]Comment appliquer une icone sur le.exe
    Par JavaLeDirePartout dans le forum JBuilder
    Réponses: 7
    Dernier message: 24/07/2003, 17h28

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