Ncurses: move() ne fonctionne pas

ebousquie -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Queslqu'un peut-il m'expliquer s'il existe des raisons qui pourraient empêcher la commande move(y,x) de fonctionner en mode ncurses? J'ai tenté toutes sortes d'astuces: refresh(), clear()... rien n'y fait !

Merci d'avance pour vos réponses
Configuration: Linux Fedora
Firefox 2.0.0.14

3 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Queslqu'un peut-il m'expliquer s'il existe des raisons qui pourraient empêcher la commande move(y,x) de fonctionner en mode ncurses?
    Principalement une mauvaise utilisation. As-tu par exemple utilisé getch() avant le return 0; final ?
    Cdlt
    0
  2. ebousquie Messages postés 42 Statut Membre
     
    Grosso modo la structure est celle ci-dessous.
    Mais le texte est toujours placé au même endroit vers le milieu de la fenêtre. Quelle serait l'erreur?

    Merci !

    while(true)
    {
    move(0,0);
    refresh();
    printw("Texte\n" ) ;
    refresh();
    ch = getch();

    switch(ch)
    {
    case A
    for i de 1 à 3
    move(10*i,0);
    refresh();
    printw("Texte1\n" ) ;
    refresh();
    break;

    case B
    move(-40,0);
    refresh();
    printw("Texte2\n" ) ;
    refresh();
    break;

    case C
    move(-50,0);
    refresh();
    printw("Texte3\n" ) ;
    refresh();
    return 0;
    break;

    {
    }

    Et le texte du case B ne s'affiche jamais en (-40,0)
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    move(-40,0), ne fera pas grand chose de plus que move(0,0) qui est le coin supérieur gauche.
    Si tu veux afficher à peu près au milieu verticalement : move(20,0).
    Si tu veux afficher à peu près au milieu horizontalement : move(0,40).
    N'oublie pas de faire un getch() avant le return 0; pour que tu puisses voir ce que t'affiches.

    Cdlt
    0