Bonjour,
Je viens ici car je ne comprends vraiment pas l'utilisation de la fonction dump de pdcurse.
scr_dump() : int
D'aprés les sources :
The function scr_dump() can be used to dump the screen contents to a file given as an
argument. Later it can be restored by scr_restore function. These two simple functions can be used effectively
to maintain a fast moving game with changing scenarios.
Source : http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf (Page 36).
De se que j'ai compris, on viens "capturer l'ecran" avec la fonction "scr_dump" qui vas etre mi dans un fichier à la racine du programme (Chose qui fonctionne pour moi car le fichier est créé) et qui vas pouvoir être restauré grâce à la fonction "scr_restore" avec en paramétre le fichier.
J'ai donc créer ce programme pour m'entrainer :
int main(){
// Initialisation //
initscr();
raw();
noecho();
resize_term(50, 100);
// Programme //
move(15, 15); // On écrit au centre
printw("Bonjour");
refresh();
scr_dump("test"); // On "capture" l'écran
clear(); // On nettoie
printw("Aurevoir");
refresh();
clear(); // On re-nettoie
scr_restore("test"); // On affiche le contenu enrengistré dans le fichier test
refresh();
// Fin du programme //
refresh();
getch();
endwin();
return 0;
}
Probléme : Ecran noir, le contenu du fichier "test" (Bien créer dans mon répértoire) n'est pas retranscrit dans ma console. Le programme se contente juste d'effacer mon écran avec le "clear()" et il n'affiche plus rien à la suite..
Je sais bien que j'utilise mal la fonction, mais je ne sais vraiment pas de ou viens le soucis. J'ai essayé plein de variante, mais rien n'y fait. De plus peu d'exemple sur cette fonction sur le net.
Si vous pouviez m'éclairer, ça serait génial.
Merci beaucoup!
Ça avait l'air marrant donc j'ai essayé aussi. Du coup j'ai vu que si tu enlève le clear juste avant le restore, ça marche.
Pourquoi ? J'en sais rien, j'ai pas encore lu la doc
Effectivement!!
Je dois raffraichir la page avant de capturer l'ecran forcement, mais je dois aussi raffraichir aprés avoir clear() ! Bizarre mais cela fonctionne effectivement! Un grand merci à toi Toupine!
Arta.