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

Delphi Discussion :

Capturer et suivre le stdout d'une application console


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Capturer et suivre le stdout d'une application console
    Bonjour,

    Je développe une application en delphi qui constitue en fait une interface graphique pour une autre application de calcul écrite en C et qui fonctionne en console.

    Jusqu'ici, pas de problèmes, j'arrive à lancer l'application, en lui passant les paramètres nécessaires et tout va bien.

    Néanmoins, j'aimerais pouvoir rediriger la sortie de l'application console vers un élément de l'interface graphique (en l'occurence une TListBox) pour éviter d'avoir la fenêtre de console qui s'ouvre en plus. J'ai trouvé qques exemples de code qui le font, mais le TListBox n'est actualisé que lorsque l'application se termine, soit beaucoup plus tard si le calcul est long, alors que l'application en console affiche des infos très régulièrement au cours de l'exécution...

    Je me suis basé notamment sur ce lien: http://delphi.about.com/library/bluc...nsoleingui.zip trouvé sur un autre topic du forum. D'après ce que j'ai lu, il permet de faire un update sur le TListBox à chaque nouvelle ligne, mais ça marche pas... j'ai essayé en insérant un "Application.ProcessMessages" mais pas d'amélioration...

    Avez-vous une idée pq le code ci-dessus ne le fait pas, alors que d'après les commentaires dans la source, il est censé le faire ?
    Ou à la rigueur, avez-vous des exemples de code permettant d'y arriver ?

    Merci

    [edit] j'ai trouvé ce lien http://www.pre.demon.co.uk/delphi.htm#console qui est en fait une version légèrement mise à jour du code précédent, mais qui donne toujours le même résultat

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    as-tu essayé un composant dispo dans la page source( je ne me souviens plus de son nom) qui pourrait répondre à ton besoin ?

    ps:
    Pour le moment la page source est indisponible

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'ai effectivement vu des références à la page sources, mais le domaine developpez.com n'était pas accessible aujourd'hui...

    ça semble fonctionner maintenant.

    tu fais référence à cette page: http://nono40.developpez.com/sources/source0060/ ???

    je testerai demain au boulot (j'ai pas delphi @ home, et la flemme de l'installer )

    quoiqu'il en soit, merci de ta réponse


    [edit] à priori, en regardant la source, il attend la fin de l'application pour lire le fichier temporaire contenant l'output, donc c'est le même comportement que les codes que j'avais déjà trouvé...

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bon ben c'est parti pour le monologue

    Je suppose que tu parlais plutôt de ce composant: http://delphi.developpez.com/sources...rectionConsole vu que tu sembles en être l'auteur

    par contre, lui, j'attendrai vraiment d'être au boulot pour l'essayer :p

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par plut0nium
    Bon ben c'est parti pour le monologue
    Et ça se passe bien ?
    Citation Envoyé par plut0nium
    Je suppose que tu parlais plutôt de ce composant:
    Oui.
    Citation Envoyé par plut0nium
    vu que tu sembles en être l'auteur
    Non je n'en suis pas l'auteur, j'ai juste ajouté une exemple d'utilisation au sources d'origine car ce besoin est récurrent sur le forum.

  6. #6
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Non je n'en suis pas l'auteur, j'ai juste ajouté une exemple d'utilisation au sources d'origine car ce besoin est récurrent sur le forum.
    J'ai lu ça da

Discussions similaires

  1. Capture de la sortie d'une application console
    Par Nono40 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 23/02/2013, 11h51
  2. Réponses: 4
    Dernier message: 05/05/2005, 16h34
  3. Comment retrouver le handle d'une application console?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 7
    Dernier message: 22/12/2004, 16h58
  4. Créer une application console
    Par darinze dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2004, 17h35
  5. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27

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