Comment rafraichir la console [Résolu]

florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 16:56 - Dernière réponse : florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 19:04
Bonjours, je recherche une fonction qui permetrait de rafraichir la console et ce a interval regulier! c a dire effacer tt ce qu'il y a d'ecrit et le réecrire tte les seconde avec si demander certain changement!!
Merci d'avance pour votre aide!!!
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 21 avril 2006 à 17:35
3
Merci
Pour tout efface c'est system("cls") mais pour réécrire, il faudra que tu mette en mémoire tout ce que tu écris dans ta console et le remettre après le system("cls")

___________________________________________
Les plus grands esprits trouvent toujours une solution

Merci SAKingdom 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de SAKingdom
Meilleure réponse
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 21 avril 2006 à 18:43
3
Merci
Car sinon system("cls") est plus rapide...

___________________________________________
Les plus grands esprits trouvent toujours une solution

Merci SAKingdom 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de SAKingdom
Meilleure réponse
meech
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Dernière intervention
14 août 2007
- 21 avril 2006 à 18:57
3
Merci
- system : une fonction ANSI C implémentée sur nombre de systèmes d'exploitation pour exécuter d'autres programmes.
- cls : une commande DOS permettant d'effacer l'écran.

Ciao.

Merci meech 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de meech
julxerab
Messages postés
9
Date d'inscription
mercredi 28 mai 2003
Dernière intervention
21 avril 2006
- 21 avril 2006 à 17:45
0
Merci
Si ce que tu veux rafraichir tiens sur une ligne.. tu peux utiliser le caractere \r pour revenir en debut de ligne..
par example pour un variable qui s'incremente

int i=0;

printf("la valeur de i est %d", i);

while (i<1000)
{
i+=1;
Sleep(20);
printf("\rla valeur de i est %d", i);
}

---------------------------------------------------
reset by peer
Commenter la réponse de julxerab
meech
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Dernière intervention
14 août 2007
- 21 avril 2006 à 17:50
0
Merci
Salut,

Tu pourras lire ci-après un exemple en C avec les API Windows :

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coordScreen = { 0, 0 };
BOOL bSuccess;
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi; /* pour récupérer les infos de la console */
DWORD dwConSize; /* nombre de carctères */
/* récupère le nombre de carctère dans un buffer */
bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
/* remplit la console de blancs */
bSuccess = FillConsoleOutputCharacter( hConsole, (TCHAR) ' ',
dwConSize, coordScreen, &cCharsWritten );
/* récupère les attributs courants de la console */
bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );
/* now set the buffer's attributes accordingly */
bSuccess = FillConsoleOutputAttribute( hConsole, csbi.wAttributes,
dwConSize, coordScreen, &cCharsWritten );
/* met le curseur en position (0, 0) */
bSuccess = SetConsoleCursorPosition( hConsole, coordScreen );

En espérant que ce petit bout de code d'aide un peu,
Ciao.
Commenter la réponse de meech
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 21 avril 2006 à 17:50
0
Merci
Ouais c'est un très bonne solution aussi. Mais ça dépend de quesque tu veut faire exactement. Peu tu nous expliquer?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom
florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 18:34
0
Merci
Merci pour vos reponse!!!!
Alors, en fait il s'agit d'un ordinateur de bord de voiture qu'il me faut réalisé. avec vitesse instantanée, consomation, distance parcourue et tout!!
je suis parvenue a obtenir la fonction qui récupere l'appuit des fleches du clavier pour fair augmenter et diminué une variable qui correspond a la vitesse de la voiture!! seulement pour chaque chaque appuit des fleche la nouvele valeur s'inscrit mais les ancienne valeur reste egalement, c pourquoi j'aurait besoin de cette fonction qui permettrait, tant que je n'appuit pas sur les fleches de garder la meme valeur mais egalement apres avoir appuyé de n'avoir QUE la nouvelle valeur!!
Et c'est une fonction de rafraichissement qui me parait le mieux adapté, cependant je peut me tromper!!
De plus je ne suis qu'au debut de ce projet. Et a la fin, pour l'évolution de la distance parcourue et de la consomation j'aurai egalement besoin d'un rafraichissement regulier de la console!!
Enfin il s'agit d'un projet pour mes étude et mon niveau actuel en language c se limite au structure itérative et conditionelle et egalement un petit peu de pointeur, c tout!!!Je dis ca pour la reponse de MEECH qui est surement bonne, je n'en doute pas et t'en remercie, mais je n'ai pas le niveau requit pour comprendre tes ligne de codes, desolé!!
Merci beaucoup pour votre aide, car le temps presse!!!!
Commenter la réponse de florian1121
meech
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Dernière intervention
14 août 2007
- 21 avril 2006 à 18:38
0
Merci
Merci mais, euh... tu sais, j'ai retrouvé ce bout de code d'une ancienne utilisation... Je l'avais moi-même récupéré ailleurs (de la MSDN, je crois)... En fait, je suis un imposteur...
Commenter la réponse de meech
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 21 avril 2006 à 18:40
0
Merci
Euu meech, ce bout de code la récupère t-il tout le texte entrée dans la console?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom
florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 18:42
0
Merci
LOL, ok meech!! je dois dire que tu m'a fait un peu peur, car je comprenanit vraiment rien a tes lignes!!! au moins je suis pas le seul on dirait!!
Commenter la réponse de florian1121
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 21 avril 2006 à 18:45
0
Merci
Ce code a l'aire de simplement effacer la console et remettre le curseur à la ligne zéro.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom
meech
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Dernière intervention
14 août 2007
- 21 avril 2006 à 18:47
0
Merci
En l'occurrence, il me semble que ce code ne fait que :
1. récupérer les informations de la console windows afin d'en extraire la taille ;
2. sélectionner l'ensemble de la zone ;
3. balancer sur la sortie standard des caractères d'espacement.
4. positionner le curseur en (zéro, zéro).

Avec le principe du buffer de console, je pense qu'il est possible de récupérer un (ou plusieurs) caractères disposés quelque part sur la console, mais je reconnais ne pas connaître et ne pas avoir cherché les fonctions pour le faire

A plus tard.
Commenter la réponse de meech
florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 18:48
0
Merci
SAKingdom pourrait tu developper un peu le system("cls"), est-ce que c une fonction présente dans les biblioteque?
Commenter la réponse de florian1121
florian1121
Messages postés
37
Date d'inscription
jeudi 20 avril 2006
Dernière intervention
26 avril 2006
- 21 avril 2006 à 19:04
0
Merci
MERCI BEAUCOUP, le system("cls") marche nikel!!
Commenter la réponse de florian1121

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.