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

Turbo Pascal Discussion :

[TP]Redirection E/S d'une application msdos !


Sujet :

Turbo Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [TP]Redirection E/S d'une application msdos !
    J'essaye de controler des applications dos grace a turbo pascal cad que je demarre des programmes exterieurs grace a la commande, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    swapvectors;
    exec('ping.exe',param);
    swapvectors;
    mon pb c'est que en effet ça marche parfaitement j'ai mon appli qui se demarre bien et les reponses sont affichées a l'ecran mais j'aimerais ensuite traiter les reponses et donc stocker ce qui se passe a l'ecran dans une variable ou un texte ce qui serait tres pratique ! J'ai bien essaye de rajouter dans les paramettre > reponse.txt ou ce genre de truc mais apparamenet il veut pas accepter !

    J'ai bien vu en delphi un petit chapitre sur ce sujet (FAQ) tres interessant mais je connais pas le delphi donc je voudrais savoir si c'etait possible de le faire en pascal !

    si vous comprennez pas trop ce que je veux dire voilà le lien pour delphi qui explique ce que j'aimerais faire en pascal (tout en bas)
    http://delphi.developpez.com/faq/?pa...e#appliconsole

    merci de votre aide !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 46
    Points : 50
    Points
    50
    Par défaut Redirection d'une Appli console
    Salut,

    Avec une redirection, ça doit normalement marcher. Je me rapelle avoir fait une appli dans la quelle je lancais le compilateur TPC et ensuite je recuellais les erreurs dans un fichier texte. A mon avis, il faut que ton fichier soit créé dans le répertoire de ton exécutable et faire ta redirection par exemple comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    Assign(f, 'reponse.txt');
    $i- Rewrite(f); $i+   {.. pour ecraser le fichier ..}
    Swapvector;
    Exec('GetEven('Comspec'), '/C tonExe > reponse.txt');
    Swapvectors;
    ...
    Bon dév.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    merci a toi ! ça marche niquel !
    en fait c parce que j'utilisais pas l'interpreteur de commande msdos pour lancer le programme externe mais seulement en tant que programme externe donc il ne reconnaissait pas la cmd > reponse.txt qui est lie si je me trompe pas a msdos ...
    en clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    swapvectors; 
    exec('ping.exe',param); 
    swapvectors;
    si je met ça il l'interprete pas la programme execute en programme lancer en msdos mais juste en externe quelconque et donc il en reconnait pas > reponse.txt

    en revanche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Swapvector; 
    Exec('GetEven('Comspec'), '/C tonExe > reponse.txt'); 
    Swapvectors;
    avec ton cote cela lui indique qu'il execute le programme avec l'interpreteur msdos et avec le parametre /C lui indique d'executer directement le parametre derriere ! si j'ai bien compris !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SwapVectors;
    Exec(GetEnv('COMSPEC'), '/C ping.exe <a href="http://www.developpez.net>result.txt&#39;);" target="_blank">www.developpez.net>result.txt');</a>
    SwapVectors;
    pour ceux qui sont interesse voilà le code qui marche bien parce que tu avais mis un de trop !

    Encore merci je vais pouvoir finir mon joli programme

    P.S : je signale que le programme appeler doit etre dans le meme repertoire (cad ping.exe) et aussi qu'il y a pas besoin de creer le fichier reponse.txt l'interpreteur de cmd le fait lui meme par contre si on veut lire ou ecrire ensuite le fichier avec TP là on est obligé ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 46
    Points : 50
    Points
    50
    Par défaut Redirection E/S d'une application msdos !
    De rien.

    Je suis content que tu aies trouvé la solution à ton problème. Par ailleurs, c'est bien d'avoir rajouté tous les détails que tu as fournis pour les autres.

    A+

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

Discussions similaires

  1. Redirection donnée USB vers une application
    Par barzorke dans le forum Général Java
    Réponses: 1
    Dernier message: 24/05/2011, 14h28
  2. Réponses: 9
    Dernier message: 24/08/2009, 16h32
  3. Redirection d'une application WPF
    Par despeludo dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 08/01/2009, 11h53
  4. [1.x] Redirection vers une application
    Par LordBob dans le forum Symfony
    Réponses: 2
    Dernier message: 01/07/2008, 14h13
  5. Lancer une application multithread avec msdos
    Par SpIrIt505050 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 11/06/2008, 19h47

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