10
votes

Delphi 6 - lecture de la sortie de la console en cours d'exécution

Comment puis-je lire une sortie d'applications de console lors de son exécution. Je démarre la demande de console et souhaitez lire la sortie telle qu'elle est imprimée par l'application de la console.


0 commentaires

4 Réponses :


14
votes

Qu'en est-il de cette Solution .


modifier : Le lien mène à cette solution (légèrement refactable pour la lisibilité et supprimer l'utilisation de avec ): xxx


5 commentaires

Belle suggestion pour ceux qui suivent le lien, mais un lien seul n'est pas une très bonne réponse, voir: meta.stackexchange.com/questions/8231/...


@Mick: Oups - pendant que vous le faisiez dans une nouvelle réponse, j'étais édition de l'ancien. Si quelqu'un estime que mon édition doit être renvoyé, n'hésitez pas à le faire.


Pas de soucis. J'ai supprimé mon commentaire alors.


Cela ne lit pas la sortie qu'elle vient, elle ne lit que tout à la fin ... ce n'est pas ce que je cherche.


Dommage que ce ne soit pas tout à fait ce que vous recherchez, mais ce code est ce que je cherchais, merci néanmoins.



2
votes

J'utilise généralement ce code FPC porté: http://www.stack.nl/ ~ marcov / processdelphi.zip

Il contient une classe pour contrôler des programmes externes (c'est la classe utilisée par Lazarus pour appeler le compilateur CMDLINE et d'autres programmes).

La documentation est ici, mais le port Delphi est un peu vieux, de sorte que toutes les propriétés documentées ne puissent exister dans la version ci-dessus.

http://www.freecal.org/docs-html /fcl/process/index.html


1 commentaires

Dans les versions FPC récentes, quelques procédures simples qui fixent quelques-uns des scénarios les plus simples ont été ajoutés comme "RunCommand ()



1
votes

Juste une petite addition à Marco Réponse, l'utilisation de l'unité TPROCESS est excellemment expliquée ici

Je crois que c'est le moyen le plus simple de le faire. Bonne chance!


0 commentaires

0
votes

juste pour ajouter quelques options supplémentaires.

  1. Deux articles de construction de cette fonctionnalité sur Windows API: http://thundaxsoftware.blogspot.com/2012/12/capturing-console-Output-with-Delphi.html

  2. JEDIVCL Library (et c'est grand, tant avoir à la fois que cela ait et en évitant qu'il a des inconvénients et des pros) a un tjvcreateprocess composant.
    Voir https://wiki.delphi-jedi.org/wiki/jvcl_help:TJVCreateProcess --/ A>
    Et sur l'installation:
    https://github.com/project-jedi/jvcl et peut-être Comment installer des packages JVCL si le programme d'installation a échoué lorsque je l'ai exécuté en tant qu'utilisateur non administrateur

  3. Jedivcl installateur utilise une petite unité autonome capexec.pas avec une interface simpliste. https://github.com/project-jedi/ jvcl / arborescence / maître / jvcl / install / jvclinStall / aides

    xxx


0 commentaires