Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1271 connectés 

 


Sujet auquel vous répondez
Sujet : [C++] Petites questions
red faction

C H A V E Z a écrit :

Code :
  1. //copyright Chavez.d
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. #include <errno.h>
  6. #include <windows.h>
  7. void cls (const int arriere_plan)
  8. /*------------------------------*/
  9. {
  10.     unsigned long x;
  11. COORD CO = {0, 0};
  12.     FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
  13.             (WORD)(arriere_plan*16), 2000, CO, &x); 
  14. FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),
  15.             0x20,2000,CO,&x);
  16. }


 
 
voila un ptit cls


 
ca reste proprietaire qd meme
 
le C ne definit pas lecran pour lui c juste un peripherique de sortie donc cls n'a aucun sens


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
naoyfurieux sinon la fonction  
clrscr();  
ca doit fonctioner sous windows non?
 
ben non en fait...
ou alors il faut une bibiotheque mais je sais pas laquelle...
red faction

C H A V E Z a écrit :

Code :
  1. //copyright Chavez.d
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. #include <errno.h>
  6. #include <windows.h>
  7. void cls (const int arriere_plan)
  8. /*------------------------------*/
  9. {
  10.     unsigned long x;
  11. COORD CO = {0, 0};
  12.     FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
  13.             (WORD)(arriere_plan*16), 2000, CO, &x); 
  14. FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),
  15.             0x20,2000,CO,&x);
  16. }


 
 
voila un ptit cls


 
ca reste proprietaire qd meme
 
le C ne definit pas lecran pour lui c juste un peripherique de sortie donc cls n'a aucun sens

C H A V E Z

Code :
  1. //copyright Chavez.d
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <ctype.h>
  5. #include <errno.h>
  6. #include <windows.h>
  7. void cls (const int arriere_plan)
  8. /*------------------------------*/
  9. {
  10.     unsigned long x;
  11. COORD CO = {0, 0};
  12.     FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
  13.             (WORD)(arriere_plan*16), 2000, CO, &x); 
  14. FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE),
  15.             0x20,2000,CO,&x);
  16. }


 
 
voila un ptit cls

xterminhate Si tu veux effacer la console DOS au début de l'execution du programme et faire pause à la fin de l'exection alors tu peux le faire sans même taper une ligne de C.
 
Tu créés un fichier "lanceur.bat" avec pour contenu les 3 lignes suivantes :
cls
monprogramme.exe
pause
 
Pour executer ton programme, tu lances le fichier lanceur.bat.
 
Voila! Peut-etre une autre solution tout aussi simple.
 
Cordialement,
   Xter.
pascal_ C'est ça :
 printf("\033[2j" );
Par contre, j'ai oublié que sous Windows il faut un pilote ANSI pour que ca marche (sous Unix ça marchera en standard )
Mettre device=ansi.sys dans config.sys (pas terrible non plus comme solution en fait...)
 
 
pascal_ tu peux le faire juste avec un printf, mais faut que je retrouve la syntaxe....
 
skynaute y'a quoi d'autre de mieux ou plus pratique ?
chrisbk

skynaute a écrit :


 
sous linux ca marche pas ? :/


 
system ouais, mais fo remplacer les commandes par ce qui va bien (clear pour cls par ex).
Dans l'ensemble la solution est franchement pas terrible, mais bon, ca depanne :o

skynaute

chrisbk a écrit :

ben si jamais ton truc ne doit tourner que sous windows :
 
1/ system("cls" );
2/ system("pause" );


 
sous linux ca marche pas ? :/

Gurney_Halleck

taz a écrit :

moi j'ai jamais compris cette phobie de l'écran, cette manie de vouloir toujours tout effacer. surtout pour des scientifiques, normalement, on veut garder des traces de tout, un programme qui n'est exploitable qu'interactivement est trop limité


 
boarf, c'est juste que je trouve que ça fait plus propre :)
 
en fait, je dois "simuler" un atelier (9 machines produisants 3 types de pièces, et un chariot qui charge et décharge les pièces).
on doit le faire avec un compteur, pour simuler le temps. donc à chaque incrémentation du compteur, je fais des traitement sur l'atelier.
Je veux pouvoir aficher l'état de l'atelier pas à pas, et je trouve que c'est plus propre avec un écran vierge, ça se limite à ça ;)
 
c'est un projet bidon, c'est juste pour nous donner des notions.

Taz moi j'ai jamais compris cette phobie de l'écran, cette manie de vouloir toujours tout effacer. surtout pour des scientifiques, normalement, on veut garder des traces de tout, un programme qui n'est exploitable qu'interactivement est trop limité
Gurney_Halleck

taz a écrit :

c'est n'imp les system, tourne toi vers une vrai bibliothèque


 
:/
 
je fais de la méca à la base, on a un projet d'info par an...
c'est juste pour tourner sous windows. le programme devrai faire 250-300 lignes en un seul fichier ;) je pense pas avoir besoin de trucs trop compliqués ^^

Gurney_Halleck

chrisbk a écrit :

system("cls" ) je te dis
 
 


 
lol, dsl, je croyais que c'était la même chose.
mici

Taz c'est n'imp les system, tourne toi vers une vrai bibliothèque
chrisbk system("cls" ) je te dis
 
Gurney_Halleck merci c'est exactement ça :)
 
plus que le vidage de la fenêtre. J'ai essayé clear(); à tout hasard, mais ça existe pas...
chrisbk ben si jamais ton truc ne doit tourner que sous zindozs :
 
1/ system("cls" );
2/ system("pause" );
Gurney_Halleck Salut,
 
voilà, j'ai un projet à faire en C++, et j'ai 2 petits problèmes :
- mon programme s'exécute dans une fenêtre DOS, et j'aimerais savoir quelle est la commande qui permet d'effacer son contenu (de ravoir une fenêtre noire vierge, donc)
- j'aimerais savoir également si il y a un moyen de mettre une "pause" (dans une boucle par exemple), genre un message "appuyez sur espace pour continuer"
 
merci !

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)