Domanda

Questo potrebbe essere un problema con la mia intesa con maledizioni più che con Perl, ma ti prego di aiutarmi. Sto utilizzando Curses.pm che funziona abbastanza bene, tranne quando cerco di creare un maledizioni "finestra". Esempio di codice:

use Curses;
initscr;
$w=newwin(1,1,40,40);
$w->addstr(20,20,"Hello");
$w->refresh;
refresh;
endwin;

emette nulla. Non utilizzando una finestra funziona bene:

use Curses;
initscr; 
$w=newwin(1,1,40,40); 
addstr(20,20,"Hello"); 
refresh; 
endwin; 
È stato utile?

Soluzione

È necessario per ottenere le sue argomentazioni nel posto giusto, e non è facile da ricordare che numero è quello che. Devo sempre guardare in su dopo aver provato tutte le permutazioni sbagliate prima. Mi basta guardare le pagine man per l'interfaccia C e poi cambiare per la sintassi di Perl.

La funzione newwin, documentato nel href="http://www.mkssoftware.com/docs/man3/curs_window.3.asp" rel="nofollow pagina curs_window uomo, prende:

newwin( height, width, starty, startx )

Si imposta una finestra che era una fila alta e una colonna di larghezza, a partire dalla riga 40 della colonna 40. Tuttavia, è poi dici addstr per mettere il testo alla riga 20 della colonna 20 in quella finestra. Questo è al di fuori della cornice 1x1 si configura, quindi non si vede nulla.

Prova questo per vedere se funziona per voi. Se funziona, provare a regolare i valori della finestra per ottenere il fotogramma che si desidera.

use Curses;
initscr;

$w = newwin(
    1,       # height (y)
    COLS(),  # width  (x)
    0,       # start y
    1        # start x
    );

$w->addstr( 
    0,       # relative y to window
    0,       # relative x to window
    "Hello" 
    );

$w->refresh();

sleep 10;
endwin;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top