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

 


Dernière réponse
Sujet : printf -> peut on placer un caractere a n importe quelle endroit ecran
slvn ok, je vais jeter un coup d oeil

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
slvn ok, je vais jeter un coup d oeil
Jar Jar

slvn a écrit a écrit :

mais la je peux pu rien afficher -> printf ne marche pu ?!



Ah bin non, il faut utiliser mvprintw, qui marche pareil, mais qui va écrire à un endroit précis du terminal. Voir aussi mvaddnstr, et tous les machins tordus qui vont avec.

slvn j ai besoin de thread, alors:)
 
je viens de faire un mini test, noecho + cbreak, marche bien
 
mais la je peux pu rien afficher -> printf ne marche pu ?!
Jar Jar

slvn a écrit a écrit :

sinon, cette partie la (pour saisir une touche), tu la mets dnas un thread ??



Ce n'est pas obligé, ça dépend de la structure de ton programme. S'il ne fait rien tant qu'on n'appuie pas sur une touche, et qu'il finit toutes ses actions avant de regarder la suivante, pas besoin de threads. Par contre, s'il y a un dorsal qui fait des trucs, ça s'impose.
Note au passage, j'ai eu des plantages avec ncurses 5.0 et les threads, il vaut mieux prendre la version 5.2 dans ce cas.

slvn oui je viens de regarder, la page du manuel, elle est bien fait ene effet, je pense qeu je trouverais toute le infos necessaires
 
sinon, cette partie la (pour saisir une touche), tu la mets dnas un thread ??

 

[jfdsdjhfuetppo]--Message édité par slvn--[/jfdsdjhfuetppo]

Jar Jar C'est peut-être le timeout. Si tu n'as besoin de rien faire tant qu'une touche n'est pas tapée, vire tout ça. Pour plus de détails, la manpage de cbreak (enfin, c'est la même pour toutes ces fonctions) est bien foutue et explique bien quoi choisir.

 

[jfdsdjhfuetppo]--Message édité par Jar Jar--[/jfdsdjhfuetppo]

slvn le non-echo est ok, mais j ai l impression que je peux meme pu saisir de caractere (avant j avias des inscript voulue pour chaque caractere, masi la pu rien)
Jar Jar

slvn a écrit a écrit :

curse a l air mieux, mais j arrive pas trop a le faire marcher :



C'est vrai qu'il est chiant à initialiser.
J'ai mis un truc comme ça :

Code :
  1. WIN=initscr();
  2.   if(couleur) {
  3.     start_color();
  4.     init_pair(1,COLOR_GREEN,0);
  5.     // snip quelques autres pareils
  6.   }
  7.   keypad(WIN,TRUE);
  8.   cbreak();
  9.   halfdelay(2);
  10.   noecho();
  11.   timeout(200);
  12.   refresh();
  13.   ecran_ok=1;


 
Le halfdelay et le timeout, c'est redondant je crois, mais je m'en fous, ça marche. En l'occurence, il retourne au bout de 200 ms si rien n'a été tapé.

slvn curse a l air mieux, mais j arrive pas trop a le faire marcher :
notement la fonction pour supprimer l echo marche pas des masse
 
et pour pouvoir prend un caracte au clavier,  
j ai fait :
thread + system("/bin/stty -cbreak" ) + getchar;
 
(alors que la commande cbreak de curse aurait du marcher)
torpe23 je crois que le gotoxy(int x,int y); est mieux !
Jar Jar Si on veut faire des trucs de ce genre proprement, il vaut mieux utiliser une bibliothèque curses. Là, tu as accès au terminal vu comme un tableau, à la mise en forme, à des routines d'entrée plus pratiques, etc.
THE REAL SMILEY

slvn a écrit a écrit :

la commande doit etre bonne (locatexy) mais -> "undefined reference" donc, peut etre qu il me manque un certaintruc a inclure  




nan pourtant:
void locatexy( x, y );
faut mettre des coordonées textes je crois donc pas plus de 80x25

slvn la commande doit etre bonne (locatexy) mais -> "undefined reference" donc, peut etre qu il me manque un certaintruc a inclure
THE REAL SMILEY

slvn a écrit a écrit :

si ca marche je prefere ca:)
 
..la commande sinon, etait : printf("\033[y;xH" );  




essaie et dis moi, ca fait 2 ans que j'ai pas fais de C

slvn si ca marche je prefere ca:)
 
..la commande sinon, etait : printf("\033[y;xH" );
THE REAL SMILEY fait un locatexy(posx, posy)
avant ton printf et ce sera Ok
slvn mmm  
j ai un doute, je viens de faire une recherche sur le forum, je viens de tomber sur :
 
printf("\033[2J" ); <=> clear screen
MrTonio :non: avec un simple printf ce n est pas possible, a moins de mettre plein d espace et de retour a la ligne comme un barbare
 
Le seul moyen c est d utiliser les termcaps  :D
slvn y a t il un moyen de choisir la position de l ecran ou l on veux placer un caractere ? ?
(en C)

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