En mode console effacage ecrant et texte couleur

Résolu
sunburn2006 Messages postés 1 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 13 juin 2007 - 13 juin 2007 à 00:14
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 - 13 juin 2007 à 15:46
salut mon complilateur c'est dev c++

j aimerais pouvoir effacer un ecrant en mode console
et aussi colorer mes texte...

j aimerais avoir la bibliotheque et un petit exemple fonctionnelle
en c ou c++.

bon j'ai trouver quelque truc mais ca ne marche pas ...
-telechangement conio.h jel ai mis dans le repertoire include
et suivi l exemple donner ...qui ma foie avec du sens mais
ca pas marcher.

alors si quelqu un peut m'aider je lui en serait redevable

p.s. soyer clair et precis dans vos reponce... merci





localisation montreal...
si vous etre  du coin ,venez me saluer
au plaisir de vous depanner ou de me faire depanner

a++

18 réponses

Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 09:03
Bonjour,

bon pour effacer la fenêtre console il y a plus basique.

avec #include <stdlib.h> tu peux utiliser les fonctions système comme si t'étais dans DOS :

system("cls");   // avec cls qui 'clear' l'écran.

en théorie, il me semble que toutes les comandes DOS sont accessibles grâce à cette commande

pour colorer je l'avais su à une époque, mais ça ne doit pas être bien difficile de trouver des exemples sur le net déjà tout prêts...

Loki
3
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 07:43
Voila ce que dit la FAQ de Dev-Cpp

Why can't I use conio.h functions like clrsrc()?


Because conio.h is not part of the C standard. It is a Borland
extension, and works only with Borland compilers (and perhaps some
other commercial compilers). Dev-C++ uses GCC, the GNU Compiler
Collection, as it's compiler. GCC is originally a UNIX compiler, and
aims for portability and standards-compliance.


If you really canot live without them, you can use Borland functions this way:

Include conio.h to your source, and add the following file to your
project : C:\Dev-C++\include\conio.c (where C:\Dev-C++ is where you
installed Dev-C++).

Please note that conio support is not complete.
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 07:51
J'ai oublier de dire que dans Outils puis Nouvelles versions/Packages tu pourras trouver en téléchargement CONIO...
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 09:18
Les commandes systèmes sont toujours utilisables mais en terme de performance, à chaque appel système, tu perds le processeur (cf scheduleur ou ordonnaceur). Donc il vaut mieux utiliser les fonctions créés dans les librairies (si elles ne ofnt pas d'appel système) plutot qu'un appel système. De plus, avec un appel système tel que system("cls"); tu perds totallement la portabilité... Cependant les appels systèm ne sont pas non plus fait pour les chiens mais il faut savoir ce que cela implique, c'est un choix qu'il faut prendre en toute connaissance de cause!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 09:50
en effet, cependant il faudrait vérifier que le compilo ne transforme pas la fonction de librairie en un simple cls, sinon on en revient au même problème. et apparemment ça reste plus portable que conio.h.

De plus, je ne doute pas qu'on ne puisse faire des applications ultra poussées en mode console, mais ça devient rare de ne pas avoir de fenêtré et dans le cas de sunburn, je ne crois pas qu'il se pose trop de question sur le sujet de la perte de processeur ;)

bref merci pour les infos.

Loki
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 10:01
Ce n'est pas le compilo qui change un apel fonction en appel système... Il faut regarder dans la bibliothèque si la fonction qu'on utilise effectue ou non un appel system, il suffit de regarder dans conio.c dans son cas pour voir si il fait un simple cls ou pas.
Je me doute bien qu'il ne se pose pas trop de question la dessus mais c'est juste une ouverture sur le sujet pour qu'il se renseigne au cas où ça l'intéresse... Après il peux faire ce qu'il veut de ce que j'ai dis...
Par contre je ne comprend pas pourquoi tu dis que cela reste plus portable que conio.h ...
Si conio.h ne fait pas d'appel systèm son prog marcherait sur toute la lignée des windows (pas sous linux puisqu'elle ne respecte pas les standard du langage) alors que si du jour au lendemain microsoft décide que son appel systèm n'est plus cls mai clear ou clrs ou n'importe quoi d'autre, le code ne fonctionnera plus...
J'aimerai quand même savoir pourquoi tu pense que l'appel systèm est plus portable qu'une librairie...
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 10:13
parce qu'apparemment il ne peut pas ouvrir conio avec son compilateur, j'utilise le mot portable assez mal disons

Loki
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 10:16
Oui car en fait pour la petite histoire la librairie conio.h vient du compilateur Borland. Elle a été reprise par M$ pour VS et par d'autre compilateurs propriétaires...
Mais la libririe a été portée en grande partie pour DEV CPP par contre il faut l'installer via le downloader de package intégré (c'est plus facil ainsi).
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 10:20
okay ! t'es mon historien préféré

Loki
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 10:23
ptdr Yeah !!!
Mais attention sur le mot historien quand même parsqu'au lycée en histoire :s J'ai quand même eu 4 au bac !!!
Mais bon heureusement que je contais pas sur l'histoire lol
A + dans un autre post
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 10:25
comptais*
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 10:30
en francais t'as eu combien ?
t'aurais du aller faire tes études en suisse, ils notent sur 6 la bas

Loki
0
thomwebster Messages postés 63 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 14 juin 2007
13 juin 2007 à 10:34
17 en Français au risque de te décevoir...
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 10:37
joli !

Loki
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juin 2007 à 15:14
Voici quelque chose pour se passer de conio
pour nettoyer la console (80*25):
void clrscr ()
{
    HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
    DWORD written;
    COORD coord = {0, 0};

    FillConsoleOutputCharacter (console, ' ', 80*25, coord, &written);
    SetConsoleCursorPosition (console, coord);
}

Non clrscr de conio ne se transforme pas en system("cls") à la compilation. Ce serait un non sens incroyable.
Ensuite, pour le texte en couleur, tu peux aller voir cette source:
http://www.cppfrance.com/codes/COULEUR-CONSOLE_40135.aspx

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juin 2007 à 15:27
Et en passent, j'ai pas réussi à trouver le mot effacage ni ecrant dans le dictionnaire.
en mode console (:) effacer (l')écran et texte (en) couleur

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 juin 2007 à 15:29
Oups, les petits icônes ne devraient pas être là.

C++ (@++)<!--
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
13 juin 2007 à 15:46
et fa sage ?

Loki
0
Rejoignez-nous