FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez


SommaireInterface bisApplications console (5)
précédent sommaire suivant
 

Une application console est une application non graphique. L'interface utilisateur est réduite à une simple fenêtre texte. Les entrées et sorties standards (cin, cout, cerr) sont associées à cette fenêtre.

Notez bien qu'une application console est une application 32bits. Ce n'est donc pas une application DOS qui elle serait 16bits. Une application console ne fonctionnera que sous Windows.

Mis à jour le 1er septembre 2004 Greybird

Il est vrai que sous Windows, les programmes consoles commencent à disparaître et les interfaces graphiques à prendre de plus en plus d'importance.

Néanmoins, il existe des cas où un programme console est bien plus utile qu'un programme graphique, plus lourd. Par exemple, beaucoup de petits utilitaires sont fournis sous la forme d'un exécutable console par Microsoft. C'est notamment le cas pour un utilitaire permettant de scanner les PCs d'un réseau local pour déterminer quels sont ceux qui n'ont pas installé telle ou telle mise à jour de sécurité.

Il est donc à votre charge de déterminer quel est le mode le plus approprié au programme que vous désirez réaliser.

Mis à jour le 1er septembre 2004 Geronimo

Il vous suffit pour cela d'aller dans le menu Fichier | Nouveau | Autre et de sélectionner l'Expert Console.

Mis à jour le 1er septembre 2004 Greybird

Pour utiliser les API Windows dans une application console, il est parfois nécessaire de posséder un Handle sur une des entrées/sorties standards de celle-ci.

Cela se réalise au moyen de l'API GetStdHandle. Cette fonction prend pour unique paramètre :

  • STD_INPUT_HANDLE : handle de l'entrée standard (cin)
  • STD_OUTPUT_HANDLE : handle de la sortie standard (cout)
  • STD_ERROR_HANDLE : handle de la sortie d'erreurs standard (cerr)

Ainsi, le code suivant récupère un handle sur la sortie standard de l'application console :

Code c++ : Sélectionner tout
1
2
3
4
5
6
HANDLE hOut; 
hOut = GetStdHandle(STD_OUTPUT_HANDLE); 
if (hOut != INVALID_HANDLE_VALUE) 
{ 
  // Utilisation du handle. 
}

Mis à jour le 1er septembre 2004 Greybird

Les applications console n'ont pas l'obligation d'être ternes ! Vous pouvez utiliser les couleurs dans une application console !
Le code suivant vous donne un exemple :

Code c++ : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <Windows.hpp> 
#include <iostream> 
using namespace std; 
  
// ... 
  
HANDLE hOut; 
CONSOLE_SCREEN_BUFFER_INFO csbiAncien; 
  
hOut = GetStdHandle(STD_OUTPUT_HANDLE); 
if (hOut != INVALID_HANDLE_VALUE) 
{ 
  // on sauvegarde l'état de la console 
  GetConsoleScreenBufferInfo(hOut,&csbiAncien); 
  
  // on met le texte en bleu 
  SetConsoleTextAttribute(hOut,FOREGROUND_BLUE); 
  cout << "Ceci est en bleu\n"; 
  
  // on met le texte en bleu 
  SetConsoleTextAttribute(hOut,FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY); 
  cout << "Ceci est en jaune\n"; 
  
  // on restaure l'état initial 
  SetConsoleTextAttribute(hOut,csbiAncien.wAttributes); 
}

Mis à jour le 1er septembre 2004 Greybird Smortex

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2020 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.