curswin est un système de contrôle d'écrans ANSI dans le style curses.
curswin fournit des primitives permettant une gestion sommaire de fenêtre en mode texte sous windows.
curswin a été écrit en avril 1993 par vic spicer (vspicer@ccu.umanitoba.ca) en perl pour montrer qu'il était facile de gérer des fenêtre sous dos.
curswin ne s'appelait pas comme celà. C'est moi qui lui est donné son nom.
Je ne connais pas la licence d'origine. Je suppose que je suis en droit de l'utiliser. C'est d'un niveau assez simple et courrant pour que quelqu'un d'autre ou moi-même ait pu l'écrire.
Les fonction permettant la gestion de l'écran sont:
CLS | efface l'écran |
INVERSE | inverse l'affichage de l'écran |
NORMAL | affiche normalement |
RESET | affiche normalement |
BOLD | affiche en gras |
DARK | affiche en sombre |
UNDERLINE | souligne |
BLINK | affichage cligntant |
CONCEAL |
BLACK | affiche en encre noire |
RED | affiche en encre rouge |
GREEN | affiche en encre verte |
YELLOW | affiche en encre jaune |
BLUE | affiche en encre bleu |
MAGENTA | affiche en encre violette |
CYAN | affiche en encre cyan |
WHITE | affiche en blanc |
ON_BLACK | fixe le fond à noir |
ON_RED | fixe le fond à rouge |
ON_GREEN | fixe le fond à vert |
ON_YELLOW | fixe le fond à jaune |
ON_BLUE | fixe le fond à bleu |
ON_MAGENTA | fixe le fond à violet |
ON_CYAN | fixe le fond à cyan |
ON_WHITE | fixe le fond à blanc |
BRIGHT_BLACK | affiche en encre gris |
BRIGHT_RED | affiche en encre rouge clair |
BRIGHT_GREEN | affiche en encre vert clair |
BRIGHT_YELLOW | affiche en encre jaune vif |
BRIGHT_BLUE | affiche en encre bleu clair |
BRIGHT_MAGENTA | affiche en encre violet clair |
BRIGHT_CYAN | affiche en encre cyan claire |
BRIGHT_WHITE | affiche en encre blanc vif |
ON BRIGHT BLACK | fixe le fond à gris |
ON BRIGHT RED | fixe le fond à rouge claire |
ON BRIGHT GREEN | fixe le fond à vert clair |
ON BRIGHT YELLOW | fixe le fond à jaune clair |
ON BRIGHT BLUE | fixe le fond à bleu clair |
ON BRIGHT MAGENTA | fixe le fond à violet clair |
ON BRIGHT CYAN | fixe le fond à cyan clair |
ON BRIGHT WHITE | fixe le fond à blanc vif |
Les fonctions dédiées à la saisie ou à l'affichage de plus haut niveau sont:
CPOS(y,x) | positionnement du curseur en (y,x) |
BOX (upper left y, upper left x, lower right y, lower right x, title) | création d'une boite |
UNBOX (upper left y, upper left x, lower right y, lower right x) | effacement d'une boite |
MSG (upper left y, upper left x, message) | affiche un message à une position donnée de l'écran |
TEXT(upper left y, upper left x, x-width,array of lines) | affiche plusieures lignes de texte dans une fenêtre |
MLINES (upper left y, upper left x, x-width, lines) | récupère plusieures lignes d'une fenêtre |
INPUT(upper left y, upper left x, prompt, length of input, default input) | récupère une entrée dans une fenêtre délimitée |
SELECT (upper left y, upper left x, width-x, title, array of options) | selectionne un choix parmi plusieures optons. -1 correspond à un abort |
Un exemple valant souvent plus qu'un long discours, en voici un:
#!/usr/bin/perl
require "curswin.pm";
&CLS; &GREEN; &MSG(1,1,"Message pour la demo"); $rep=INPUT(5,1,"Entrez un nom de fichier: ",25,"");
print $rep; exit;
$what=&SELECT(10,12,20,"choisissez un langage","C","C++","perl",'"Tcl/Tk","python");
if ($what==1) { $msg="votre choix : C"; } elsif ($what==2) { $msg="votre choix : C++"; } elsif ($what==3) { $msg="votre choix : perl"; } elsif ($what==3) { $msg="votre choix : Tcl/Tk"; } elsif ($what==3) { $msg="votre choix : python"; } elsif ($what==-1) { $msg="probleme"; }
&MSG(20,30,$msg);
&TEXT(6,45,30,"Ceci est une demo","a ligne multiple","d une sortie de texte");
&UNBOX(1,1,3,20);
@text=&MLINES(1,1,30,5,"Entrez vos lignes");
&MSG(20,1,"Fin de la demo"); &CPOS(23,1);
Description | date | script |
librairy cursin.pl | 10/12/2011 | curswin.pm |
demo | 10/12/2011 | demo_curswin.pl |