keneda212 Posté(e) le 19 mai 2006 Partager Posté(e) le 19 mai 2006 bonjour bonjour bon voila j'ai une petite appli qui tourne sympa en langage C a un moment, dedans j'utilise les ncurses pour faire des modifications manuelles sur une ligne de caractere apres je reviens en mode normal le probleme c'est qu'une fois revenu en mode normal, mes printf (ou fprintf) ne s'affichent plus si je ne force pas le vidage du buffer avec fflush(NULL) je vois pas trop d'ou ca peut venir et je trouve rien sur google. (je suis peut etre mauvais aussi) mes init de ncurses : (void) initscr(); /* initialize the curses library */ (void) nonl(); /* tell curses not to do NL->CR/NL on output */ (void) cbreak(); /* take input chars one at a time, no wait for \n */ (void) noecho(); /* echo input - in color */ curs_set(0); /* effacage du curseur */ m1 = newwin(15,80,0,0); /* creation d'une fenetre */ keypad(m1, TRUE); /* enable keyboard mapping */ et je termine par /* nettoyage de la fenetre */ wborder(m1, ' ', ' ', ' ',' ',' ',' ',' ',' '); wrefresh(m1); delwin(m1); /* suppression de la fenetre */ endwin(); /* remise des parametres par defaut */ /* remise de l'affichage pseudo - normal */ (void) nl(); si quelqu'un a une idée merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 19 mai 2006 Partager Posté(e) le 19 mai 2006 et quand tu fais juste un endwin sans tout le nettoyage avant ça se passe comment ? (les applis que j'ai codées en ncurses je les terminais brutalement et ça ne posait guère de pb) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 19 mai 2006 Partager Posté(e) le 19 mai 2006 Warf, Sandeman, on ne te reconnaît plus avec cet avatar :/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
keneda212 Posté(e) le 19 mai 2006 Auteur Partager Posté(e) le 19 mai 2006 oui si tu utilises des ncurses et que tu arretes le programme apres ca fonctionne tres bien mais je trouve nul part des personnes qui utilisent les ncurses au milieu d'un prog et reprendre apres un affichage normal d'ou mon probleme a trouver des solutions pour repondre a ta question si je fait juste un endwin j'ai : les lignes qui s'affichent les une apres les autres sans revenir au debut de la ligne exemple bonjour comment ca... (c'est pour ca que j'ai reactiver avec la fonction nl() a la fin le nettoyage de la fenetre si je la fais pas, quand je vais reouvrir une nouvelle fenetre j'aurai encore mon ancien affichage meme si j'ai fait un delwin et endwin y'a d'autres fonctions qui permettent de le faire mais celle ci est exotique EDIT : j'ai tenté d'utiliser les fonctions savetty() et resetty() qui sont sencées sauvegarder les parametres du terminal et les remettre d'origine apres, c'est encore pire Lien vers le commentaire Partager sur d’autres sites More sharing options...
keneda212 Posté(e) le 22 mai 2006 Auteur Partager Posté(e) le 22 mai 2006 EDIT : l'utilisation de la fonction nodelay(fenetre,TRUE) pour rendre le getch, wgetch, ... non bloquant c'est bien ! ca m'evite des problemes d'affichage la premiere fois que j'affiche dans la fenetre sous ncurses par contre ca pompe du cpu car ca fait des boucles whiles tant que j'ai pas appuyé sur entrer sinon apres je suis toujours obligé de forcer l'affichage dans mes fonctions C ca m'embete un peu mais ca marche Lien vers le commentaire Partager sur d’autres sites More sharing options...
keneda212 Posté(e) le 23 mai 2006 Auteur Partager Posté(e) le 23 mai 2006 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.