printf -> peut on placer un caractere a n importe quelle endroit ecran - Programmation
Marsh Posté le 23-02-2002 à 22:08:24
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
Marsh Posté le 23-02-2002 à 22:21:05
mmm
j ai un doute, je viens de faire une recherche sur le forum, je viens de tomber sur :
printf("\033[2J" ); <=> clear screen
Marsh Posté le 23-02-2002 à 22:35:57
fait un locatexy(posx, posy)
avant ton printf et ce sera Ok
Marsh Posté le 23-02-2002 à 22:39:12
si ca marche je prefere ca
..la commande sinon, etait : printf("\033[y;xH" );
Marsh Posté le 23-02-2002 à 22:40:23
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
Marsh Posté le 23-02-2002 à 22:51:28
la commande doit etre bonne (locatexy) mais -> "undefined reference" donc, peut etre qu il me manque un certaintruc a inclure
Marsh Posté le 23-02-2002 à 23:47:26
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
Marsh Posté le 23-02-2002 à 23:55:23
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.
Marsh Posté le 24-02-2002 à 00:08:50
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)
Marsh Posté le 24-02-2002 à 00:21:58
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 :
|
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é.
Marsh Posté le 24-02-2002 à 00:36:56
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)
Marsh Posté le 24-02-2002 à 00:44:05
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]
Marsh Posté le 24-02-2002 à 00:55:41
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]
Marsh Posté le 24-02-2002 à 01:02:43
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.
Marsh Posté le 24-02-2002 à 01:05:50
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 ?!
Marsh Posté le 24-02-2002 à 01:13:17
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.
Marsh Posté le 23-02-2002 à 21:49:45
y a t il un moyen de choisir la position de l ecran ou l on veux placer un caractere ? ?
(en C)