Faire un clear screen avec dev c++ - C - Programmation
Marsh Posté le 05-06-2004 à 23:52:09
excellent ca fait 3 semaines que je le cherche, si tu etais a voté de moi ze te ferai un bisous !
Marsh Posté le 06-06-2004 à 10:37:52
TotalRecall a écrit : C'est moche les System... |
tou voulait faire quoi a la place ?
et ca peut etre pratique, dans le cadre d'un petit jeu par exemple, ou tu peut raffraichir l'ecran comme ca
Marsh Posté le 06-06-2004 à 11:14:45
Certe c'est simple à utiliser, et ça marche bien mais disons que ça n'est pas une instruction qui appartient au langage, ça n'est pas portable du tout, et absolument pas optimisé (il me semble que ça revient à créer un nouveau process cls.exe apres un passage par le command.com rien que pour faire le clear screen)...
L'ennui c'est qu'à ma connaissance le C++ ne fournit aucune fonction pour effectuer cette opération pourtant toute simple en apparence, il faut passer par les outils de l'os.
Si ton systeme supporte ansi tu peux utiliser printf( "\33[2J" ); (il me semble). Mais sous 2000/XP ça ne marchera pas (il faut ansi.sys de chargé dans le config.sys)
Avant il y avait aussi clrscr(); (défini dans conio.h), mais ça ne marche plus non plus et en plus c'est du Borland à la con.
Apres il y a la solution (à la con) du gotoxy(1,1) et de remplir l'écran d'espaces.
Il y a un moyen de faire ça en passant par les APIs Windows (bon je te l'accorde question portabilité ça va pas être le top non plus ), mais tout ce dont je me souviens au sujet de ce qu'il faut taper pour ça c'est que... c'est long
Si tu n'y fais pas appel toutes les 30 secondes reste avec ton cls, mais c'est vraiment pas élégant comme méthode (comme tout ce qui passe par system()).
Marsh Posté le 07-06-2004 à 20:11:18
Pas tres élégant, c'est vrai car il y a un rafraichissmeent pas tres agréable a regarder mais c'ets déjà grandement suffisant a mon niveau.
Merci pour l'aide, je vous posterai un lien pour le downloader kan il sera fini si vous voulez .
A bientot et merci encore.
Marsh Posté le 07-06-2004 à 21:58:02
for(i=0;i<26;i++)
printf("\n" );
ca marcherait pas ca ? :x
Marsh Posté le 07-06-2004 à 23:19:46
Non, car le texte que tu affiches apres se retrouve en bas de l'écran...
Marsh Posté le 08-06-2004 à 21:29:14
didier1809 a écrit : tou voulait faire quoi a la place ? |
sous windows win32 et rien d'autre
Marsh Posté le 08-06-2004 à 22:31:28
sous win32 ya des fct toutes faites pour manipuler la console comme etant un buffer
Marsh Posté le 10-06-2004 à 21:17:45
n'importe quoi les gars, j'utilise windows xp, 2000 et 98 et le moyen le plus simple de faire un clear screen c'est d'utiliser clrscr().
1. ouvrir un projet, dans project options mettre dans "further ... files" conio.o, et enfin mettre conio.h dans les include.
tu tapes : clrscr(); et c'est fini et ca passe partout!
Marsh Posté le 10-06-2004 à 21:26:35
exact. Et c'est magnifiquement bien programmé, l'auteur du fichier le dit lui même...
Marsh Posté le 10-06-2004 à 22:23:54
ReplyMarsh Posté le 10-06-2004 à 23:28:27
une fonction pour effacer lecran conforme a la norme nexiste pas et ne doit pas exister
ya pas decran ni de console en C, ca simplement ete defini comme peripherique de sortie...
Marsh Posté le 05-06-2004 à 21:17:12
Voila je fais un projet en IUT info 1ere année mais impossible de faire un clrscr sous dev c++ (en fenetre ms dos).
Je programme en C.
J'aimerais savoir quelle est la commande et quelle inculde mettre.
Merci d'avance.