Une librairie PERL pour vos menu ANSI

Creation: 10 decembre 2011
Mise à jour: 20 avril 2013
Version: 1.1
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2011-2013 Jean-Louis BICQUELET-SALAÜN

Qu'est ce que curswin ?

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.

Que fournit curswin

gestion de l'affichage

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

gestion de la saisie et de l'écran

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

Utilisation

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);

téléchargement

Description date script
librairy cursin.pl 10/12/2011 curswin.pm
demo 10/12/2011 demo_curswin.pl