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

C++Builder Discussion :

Affichage et utilisation de la console dans un programme GUI


Sujet :

C++Builder

  1. #1
    Membre éclairé Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Points : 844
    Points
    844
    Par défaut Affichage et utilisation de la console dans un programme GUI
    Voilà j'ai une application graphique développée sous C++ Builder, et j'aimerais afficher et pour utiliser la console en plus (en faisant de printf()).

    Le code suivant qui fonctionne trés bien avec Visual C++ ne fonctionne que partiellement sous C++ Builder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    void start_console() {
      BOOL bret;
      HANDLE hout;
      int iout;
      FILE *fout;
     
      bret = AllocConsole();
      if (!bret)
        throw "failed to allocate console";
     
      hout = GetStdHandle(STD_OUTPUT_HANDLE);
      if (hout == INVALID_HANDLE_VALUE)
        throw "failed to retreive standard handle";
     
      iout = _open_osfhandle((long) hout, _O_WRONLY | _O_TEXT);
      if (iout == -1)
        throw "failed to convert to io handle";
     
      fout = _fdopen(iout, "wt");
      if (fout == NULL)
        throw "failed to convert to FILE handle";
      *stdout = *fout;
    }
    J'obtient bien la console, mais aucuns des printfs ne s'affichent !

    Ou est l'erreur ?

  2. #2
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 051
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 051
    Points : 8 283
    Points
    8 283
    Par défaut
    Il y a un exemple ici pour ecrire dans une console : http://chgi.developpez.com/tips5/#tips62

  3. #3
    Membre éclairé Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Points : 844
    Points
    844
    Par défaut
    Effectivement un simple WriteConsole fonctionne, par contre je me demande pourquoi une ouverture et ré-attribution explicite de stdout ne fonctionne pas sous C++ Builder ... ?

    Je pensais qu'une application GUI ne faisait qu'"oublier" d'initialiser stdout.

Discussions similaires

  1. Utiliser un ficher texte dans un programme
    Par smow86 dans le forum Pascal
    Réponses: 4
    Dernier message: 09/05/2007, 20h11
  2. Utiliser des labels multilignes dans un programme!
    Par bruce-willis dans le forum C++Builder
    Réponses: 17
    Dernier message: 16/04/2007, 12h53
  3. utilisation des commandes shell dans un programme C
    Par rasgueados dans le forum Linux
    Réponses: 15
    Dernier message: 03/08/2006, 17h25
  4. Réponses: 7
    Dernier message: 02/09/2005, 15h15
  5. Réponses: 2
    Dernier message: 24/06/2003, 20h31

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