#1 Le 24/12/2007, à 17:04
- Sysko le prospecteur
[auto-resolu]^^ [C/ libncurses] recuperer la valeur d'un field
Bien le bonjour
je developpe une application avec la libraire ncurses ( ouais je sais c oldschool mais bon ^^)
la partie genant de mon programme affiche :
champ1 : ________
champ2: ________
les underscore se remplissant si l'on tape quelquechose et l'on navigue de l'un à l'autre avec fleche haut / fleche bas
je voudrais que lorsque l'utilisateur appui sur entrée , le programme affiche
" vous avez tapé : %s "
o๠%s represente la valeur contenu dans le champ courant
j'arrive à savoir si l'on est dans champ1 ou champ2 avec
current_field ( mon_form )
j'ai ensuite trouvé cette fonction
Code :
char *field_buffer(const FIELD *field, int buffer);
field etant le champ , donc dans mon cas field = current_field ( mon_form)
buffer etant le numero du buffer
le char* retourné etant le pointeur donnant l'adresse du buffeur
si je fais un
Code :
mvprintw( 20 , 0 , "debut %s fin " , field_buffer( current_field( my_form), 0) ) ;
il m'affiche
debut ( suivi d'autant de blanc que la taille du champ) fin
donc quelqu'un aurait il une idée ?
merci d'avance
et joyeux reveillon
Dernière modification par Sysko le prospecteur (Le 31/12/2007, à 12:22)
Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles
Hors ligne
#2 Le 31/12/2007, à 12:22
- Sysko le prospecteur
Re : [auto-resolu]^^ [C/ libncurses] recuperer la valeur d'un field
bon j'ai resolu cela moi même , bon depuis un petit bout de temps maisje viens de me rapeller que j'avais poster ici
donc pour ceux qui aurait le même problème
que moi
enfait le problème vient du fait que le buffer du champs field n'est pas misà jour automatiquement
il y a surement une fonction speciale pour cela mais je ne l'aipas encore trouvé
cependant un simple changement de field pui retour dans le field courant avec un
form_driver(my_form, REQ_PREV_FIELD);
form_driver(my_form, REQ_NEXT_FIELD);
c'est un peu du bricolage mais cela marche sans demander trop de ligne de code
et ensuite on recupere la valeur du champ avec
char *field_buffer(const FIELD *field, int buffer)
voili
sinon desolé quand j'ai poster mon message le serveur laguait ( effet de noel surement ) donc il y a u un doublon
Projet tatoeba : projet collaboratif visant à créer un corpus de phrases d'exemples traduites dans le plus de langues possibles
Hors ligne