Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



XCIX. Fonctions de contrôle d'écran de terminal

Introduction

ncurses (new curses, les nouveaux curseurs) sont une émulation libre des curseurs du System V Rel 4.0 (et plus récente). Ils utilisent le format terminfo, supportent les pavés numériques, les couleurs, les colorations multiples, les caractères de formulaire et les touches de fonctions. De par la nature intéractive de cette bibliothèque, il est hors de question de l’utiliser pour écrire des applications pour le Web mais, par contre, elle peut être très intéressante pour écrire des scripts en ligne de commande.

Avertissement
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Ncurses est disponible sur les plates-formes suivantes :

  • AIX
  • BeOS
  • Cygwin
  • Digital Unix (aka OSF1)
  • FreeBSD
  • GNU/Linux
  • HPUX
  • IRIX
  • OS/2
  • SCO OpenServer
  • Solaris
  • SunOS
Note : Cette extension a été déplacée dans le module PECL et ne sera plus intégrée dans PHP à partir de PHP 6.0.0

Pré-requis

Vous devez disposer des bibliothèques ncurses et des fichiers d’en-têtes. Téléchargez la dernière version sur le site de ftp://ftp.gnu.org/pub/gnu/ncurses/ ou sur un miroir GNU.

Installation

Pour installer cette extension, compilez PHP en mode CGI ou CLI, avec l’option “–with-ncurses[=DIR]”.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier “php.ini”.

Tableau 1. Options de configuration

Nom Par défaut Modifiable Historique
ncurses.value “42” PHP_INI_ALL
ncurses.string “foobar” PHP_INI_ALL

Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution.

Codes d'erreurs

En cas d’erreur, les fonctions ncurses retournent “NCURSES_ERR”.

Colors

Tableau 2. Constantes de couleurs ncurses

Constante Signification
“NCURSES_COLOR_BLACK” Pas de couleur
“NCURSES_COLOR_WHITE” blanc
“NCURSES_COLOR_RED” rouge - supporté lorsque le terminal est en mode couleurs
“NCURSES_COLOR_GREEN” vert - supporté lorsque le terminal est en mode couleurs
“NCURSES_COLOR_YELLOW” jaune - supporté lorsque le terminal est en mode couleurs
“NCURSES_COLOR_BLUE” bleu - supporté lorsque le terminal est en mode couleurs
“NCURSES_COLOR_CYAN” cyan - supporté lorsque le terminal est en mode couleurs
“NCURSES_COLOR_MAGENTA” magenta - supporté lorsque le terminal est en mode couleurs

Touches

Tableau 3. Constantes de touches ncurses

Constante Signification
“NCURSES_KEY_F0” - “NCURSES_KEY_F64” Touches de fonctions F1 - F64
“NCURSES_KEY_DOWN” flèche vers le bas
“NCURSES_KEY_UP” flèche vers le haut
“NCURSES_KEY_LEFT” flèche vers la gauche
“NCURSES_KEY_RIGHT” flèche vers la droite
“NCURSES_KEY_HOME” touche home (vers le haut + flèche vers la gauche)
“NCURSES_KEY_BACKSPACE” retour en arrière
“NCURSES_KEY_DL” efface une ligne
“NCURSES_KEY_IL” insère une ligne
“NCURSES_KEY_DC” efface un caractère
“NCURSES_KEY_IC” insère un caractère, ou bien passe en mode insertion
“NCURSES_KEY_EIC” termine le mode insertion
“NCURSES_KEY_CLEAR” efface l’écran
“NCURSES_KEY_EOS” efface l’écran jusqu’en bas
“NCURSES_KEY_EOL efface l’écran jusqu’à la fin de la ligne
“NCURSES_KEY_SF” scrolle une ligne vers le bas
“NCURSES_KEY_SR” scrolle une ligne vers le haut
“NCURSES_KEY_NPAGE” page suivante
“NCURSES_KEY_PPAGE” page précédente
“NCURSES_KEY_STAB” place une tabulation
“NCURSES_KEY_CTAB” supprime une tabulation
“NCURSES_KEY_CATAB” supprime toutes les tabulations
“NCURSES_KEY_SRESET” remise à zéro partielle
“NCURSES_KEY_RESET” remise à zéro totale
“NCURSES_KEY_PRINT” imprime
“NCURSES_KEY_LL” inférieur gauche (sur le pavé numérique)
“NCURSES_KEY_A1” supérieur gauche (sur le pavé numérique)
“NCURSES_KEY_A3” supérieur droit (sur le pavé numérique)
“NCURSES_KEY_B2” centre (sur le pavé numérique)
“NCURSES_KEY_C1” inférieur gauche (sur le pavé numérique)
“NCURSES_KEY_C3” inférieur droit (sur le pavé numérique)
“NCURSES_KEY_BTAB” tabulation arrière
“NCURSES_KEY_BEG” début
“NCURSES_KEY_CANCEL” annule
“NCURSES_KEY_CLOSE” ferme
“NCURSES_KEY_COMMAND” commande
“NCURSES_KEY_COPY” copie
“NCURSES_KEY_CREATE” crée
“NCURSES_KEY_END” fin
“NCURSES_KEY_EXIT” quitte
“NCURSES_KEY_FIND” trouve
“NCURSES_KEY_HELP” aide
“NCURSES_KEY_MARK” marque
“NCURSES_KEY_MESSAGE” message
“NCURSES_KEY_MOVE” déplace
“NCURSES_KEY_NEXT” suivant
“NCURSES_KEY_OPEN” ouvre
“NCURSES_KEY_OPTIONS” options
“NCURSES_KEY_PREVIOUS” précédent
“NCURSES_KEY_REDO” refaire
“NCURSES_KEY_REFERENCE” référence
“NCURSES_KEY_REFRESH” rafraîchis
“NCURSES_KEY_REPLACE” replace
“NCURSES_KEY_RESTART” redémarre
“NCURSES_KEY_RESUME” recommence
“NCURSES_KEY_SAVE” sauve
“NCURSES_KEY_SBEG” shift et début
“NCURSES_KEY_SCANCEL” shift et annule
“NCURSES_KEY_SCOMMAND” shift et commande
“NCURSES_KEY_SCOPY” shift et copie
“NCURSES_KEY_SCREATE” shift et crée
“NCURSES_KEY_SDC” shift et efface un caractère
“NCURSES_KEY_SDL” shift et efface une ligne
“NCURSES_KEY_SELECT” sélectionne
“NCURSES_KEY_SEND” shift et fin
“NCURSES_KEY_SEOL” shift et fin de ligne
“NCURSES_KEY_SEXIT” shift et quitte
“NCURSES_KEY_SFIND” shift et trouve
“NCURSES_KEY_SHELP” shift et aide
“NCURSES_KEY_SHOME” shift et home
“NCURSES_KEY_SIC” shift et entrée
“NCURSES_KEY_SLEFT” shift et flèche vers la gauche
“NCURSES_KEY_SMESSAGE” shift et message
“NCURSES_KEY_SMOVE” shift et déplace
“NCURSES_KEY_SNEXT” shift et suivant
“NCURSES_KEY_SOPTIONS” shift et options
“NCURSES_KEY_SPREVIOUS” shift et précédent
“NCURSES_KEY_SPRINT” shift et imprime
“NCURSES_KEY_SREDO” shift et refait
“NCURSES_KEY_SREPLACE” shift et remplace
“NCURSES_KEY_SRIGHT” shift et flèche vers la droite
“NCURSES_KEY_SRSUME” shift et recommnence
“NCURSES_KEY_SSAVE” shift et sauve
“NCURSES_KEY_SSUSPEND” shift et suspend
“NCURSES_KEY_UNDO” défait
“NCURSES_KEY_MOUSE” un événement souris est survenu
“NCURSES_KEY_MAX” valeur maximale de clé

Souris

Tableau 4. Constantes de souris

Constante Signification
“NCURSES_BUTTON1_RELEASED” - “NCURSES_BUTTON4_RELEASED” bouton (1-4) relaché
“NCURSES_BUTTON1_PRESSED” - “NCURSES_BUTTON4_PRESSED” bouton (1-4) pressé
“NCURSES_BUTTON1_CLICKED” - “NCURSES_BUTTON4_CLICKED” bouton (1-4) cliqué
“NCURSES_BUTTON1_DOUBLE_CLICKED” - “NCURSES_BUTTON4_DOUBLE_CLICKED” bouton (1-4) double cliqué
“NCURSES_BUTTON1_TRIPLE_CLICKED” - “NCURSES_BUTTON4_TRIPLE_CLICKED” bouton (1-4) triple cliqué
“NCURSES_BUTTON_CTRL” ctrl pressé durant le clic
“NCURSES_BUTTON_SHIFT” shift pressé durant le clic
“NCURSES_BUTTON_ALT” alt pressé durant le clic
“NCURSES_ALL_MOUSE_EVENTS” indique tous les événements souris
“NCURSES_REPORT_MOUSE_POSITION” indique la position de la souris

Table des matières

ncurses_addch – Ajoute un caractère à la position courante et avance le curseurncurses_addchnstr – Ajoute une chaîne de taille donnée à la position courantencurses_addchstr – Ajoute une chaîne à la position courantencurses_addnstr – Ajoute une chaîne à la position courantencurses_addstr – Affiche du texte à la position courantencurses_assume_default_colors – Définit la couleur 0ncurses_attroff – Désactive les attributs donnésncurses_attron – Active les attributs fournisncurses_attrset – Modifie les attributs donnésncurses_baudrate – Retourne le baudrate du terminalncurses_beep – Fait beeper le terminalncurses_bkgd – Définit les propriétés de fond d’écran pour le terminalncurses_bkgdset – Définit le fond d’écranncurses_border – Dessine un bord autour de l’écran avec les caractères donnéesncurses_bottom_panel – Place un conteneur visibile en bas de la pilencurses_can_change_color – Vérifie si le terminal peut changer de couleursncurses_cbreak – Change la bufferisation d’entréencurses_clear – Efface l’écranncurses_clrtobot – Efface l’écran depuis la position courante jusqu’au bas de l’écranncurses_clrtoeol – Efface l’écran depuis la position courante jusqu’à la fin de la lignencurses_color_content – Lit la valeur RGB d’une couleurncurses_color_set – Modifie la couleur de fond et de devantncurses_curs_set – Modifie l’état du curseurncurses_def_prog_mode – Sauve le mode du terminalncurses_def_shell_mode – Sauve le mode de terminal (shell)ncurses_define_key – Définit un code de clé (keycode)ncurses_del_panel – Retire un conteneur de la pile et l’efface (mais pas la fenêtre associée)ncurses_delay_output – Retarde l’affichage sur les terminaux utilisant des caractères de remplissagencurses_delch – Efface le caractère courant et décale le reste de la ligne vers la gauchencurses_deleteln – Efface la ligne courante, et monte l’écran d’une lignencurses_delwin – Efface une fenête ncursesncurses_doupdate – Affiche tout ce qui est prêt, et rafraîchit l’écranncurses_echo – Active l’écho d’entrée clavierncurses_echochar – Affiche un caractère et rafraîchit l’écranncurses_end – Cesse l’utilisation de ncurses et efface l’écranncurses_erase – Efface l’écran du terminalncurses_erasechar – Lit le caractère qui se fait effacerncurses_filter – Définit LINES pour iniscr() et newterm() à 1ncurses_flash – Fait flasher le terminal (visual bell)ncurses_flushinp – Vide le buffer d’entrée du clavierncurses_getch – Lit un caractère sur le clavierncurses_getmaxyx – Retourne la taille d’une fenêtrencurses_getmouse – Lit les événements sourisncurses_getyx – Retourne la position courante du curseur pour une fenêtrencurses_halfdelay – Met le terminal en mode semi-retardéncurses_has_colors – Vérifie que le terminal supporte les couleursncurses_has_ic – Vérifie les capacités d’insertion et d’effacementncurses_has_il – Vérifie les capacités d’insertion et d’effacementncurses_has_key – Vérifie la présence des touches de fonctions sur le clavierncurses_hide_panel – Retire un conteneur de la pile, pour le rendre invisiblencurses_hline – Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximalencurses_inch – Lit le caractère et ses attributs à la position courantencurses_init_color – Configure une nouvelle valeur RGB pour une couleurncurses_init_pair – Alloue une paire de couleurncurses_init – Initialise ncursesncurses_insch – Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courantncurses_insdelln – Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)ncurses_insertln – Insère une ligne et décale le reste de l’écran vers le basncurses_insstr – Insère une chaîne à la position courante, et décale le reste de la chaîne à droitencurses_instr – Lit une chaîne depuis le terminalncurses_isendwin – Ncurses est en mode endwin, des affichages normaux sont possiblesncurses_keyok – Active ou désactive un code de clé (keycode)ncurses_keypad – Active ou désactive le keypadncurses_killchar – Retourne la ligne du caractère actuellement suppriméncurses_longname – Retourne la description du terminalncurses_meta – Active/désactive les informations de méta clé 8-bitsncurses_mouse_trafo – Transforme les coordonnéesncurses_mouseinterval – Configure les délais entre les clics de sourisncurses_mousemask – Configure les événements de souris à surveillerncurses_move_panel – Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]ncurses_move – Déplace la position d’affichagencurses_mvaddch – Déplace la position courante et ajoute un caractèrencurses_mvaddchnstr – Déplace la position et ajoute la chaîne attribuée avec la taille donnéencurses_mvaddchstr – Déplace la position et ajoute une chaîne attribuéencurses_mvaddnstr – Déplace la position et ajoute une chaîne de taille donnéencurses_mvaddstr – Déplace la position et ajoute une chaînencurses_mvcur – Déplace immédiatement le curseurncurses_mvdelch – Déplace la position et efface le caractère, puis décale le reste de la ligne à gauchencurses_mvgetch – Déplace la position et lit le caractère à la nouvelle positionncurses_mvhline – Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnéencurses_mvinch – Déplace la position et lit le caractère à la nouvelle positionncurses_mvvline – Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnéencurses_mvwaddstr – Ajoute une chaîne à une nouvelle position dans la fenêtrencurses_napms – Fait une pausencurses_new_panel – Crée un nouveau conteneur et l’associe à une fenêtrencurses_newpad – Crée un nouveau pad (fenêtre)ncurses_newwin – Crée une nouvelle fenêtrencurses_nl – Convertit les nouvelles lignes et retours chariot en sauts de lignencurses_nocbreak – Passe le terminal en mode cookedncurses_noecho – Désactive l’écho clavierncurses_nonl – Ne convertit par les nouvelles lignes et retours chariot en sauts de lignencurses_noqiflush – Ne vide pas les buffers sur réception des caractères de signauxncurses_noraw – Déconfigure le mode brut du terminalncurses_pair_content – Retourne la valeur RGB d’une couleurncurses_panel_above – Retourne le conteneur au-dessus du conteneurncurses_panel_below – Retourne le conteneur sous le conteneurncurses_panel_window – Retourne la fenêtre associée avec un conteneurncurses_pnoutrefresh – Copie une région depuis un pad dans un écran virtuelncurses_prefresh – Copie une région depuis un pad dans l’écran virtuelncurses_putp – Applique l’information d’espacement à la chaîne et l’affichencurses_qiflush – Vide les buffers après détection d’un caractère de signalncurses_raw – Passe le terminal en mode brut (raw)ncurses_refresh – Rafraîchit l’écranncurses_replace_panel – Remplace la fenêtre associée à un conteneurncurses_reset_prog_mode – Restaure le mode prog sauvé par def_prog_modencurses_reset_shell_mode – Restaure le mode shell, mode sauvé par def_shell_modencurses_resetty – Rétablit le terminal sauvéncurses_savetty – Sauve l’état du terminalncurses_scr_dump – Sauve un écran dans un fichierncurses_scr_init – Initialise un écran depuis un fichier de sauvegardencurses_scr_restore – Rétablit un écran depuis un fichier de sauvegardencurses_scr_set – Configure un écran depuis un fichier de sauvegardencurses_scrl – Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courantencurses_show_panel – Place un conteneur invisible en haut de la pile, pour le rendre visiblencurses_slk_attr – Retourne l’attribut de la clé soft label courantencurses_slk_attroff – Désactive l’attribut donné pour les étiquettes des function-key (fonctions clés)ncurses_slk_attron – Active l’attribut donné pour les étiquettes des function-key (fonctions clés)ncurses_slk_attrset – Définit les attributs donnés à une étiquette function-keyncurses_slk_clear – Efface les soft labels de l’écranncurses_slk_color – Configure la couleur des clés soft labelncurses_slk_init – Initialise les fonctions de clés soft labelncurses_slk_noutrefresh – Copie toutes les clés soft label à l’écran virtuelncurses_slk_refresh – Copie les clés soft label à l’écranncurses_slk_restore – Rétablit les clés soft labelncurses_slk_set – Modifie les étiquettes de clé de fonction (function key labels)ncurses_slk_touch – Force l’affichage lorsque ncurses_slk_noutrefresh est utiliséncurses_standend – Cesse l’utilisation de l’attribut ‘standout’ncurses_standout – Commence l’utilisation de l’attribut ‘standout’ncurses_start_color – Active les couleursncurses_termattrs – Retourne toutes les options supportées par le terminal, combinées ensemble par l’opérateur ORncurses_termname – Retourne le nom court du terminalncurses_timeout – Configure le temps d’expiration des séquences clavier spécialesncurses_top_panel – Place un conteneur visible sur le haut de la pilencurses_typeahead – Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisiesncurses_ungetch – Replace un caractère dans la queue d’entréencurses_ungetmouse – Ajoute un événement souris dans la queuencurses_update_panels – Rafraîchit l’écran virtuel pour prendre en compte les relations entre les conteneurs de la pilencurses_use_default_colors – Assigne la couleur de terminal pour l’index -1ncurses_use_env – Contrôle l’utilisation des informations d’environnement concernant la taille du terminalncurses_use_extended_names – Contrôle l’utilisation des noms étendus dans les descriptions terminfoncurses_vidattr – Affiche la chaîne sur un terminal dans le mode d’attribut vidéoncurses_vline – Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnéencurses_waddch –  Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur ncurses_waddstr – Affiche le texte à la position courante dans la fenêtrencurses_wattroff – Désactive les attributs d’une fenêtrencurses_wattron – Efface les attributs de la fenêtrencurses_wattrset – Modifie les attributs d’une fenêtrencurses_wborder – Dessine le bord d’une fenêtre avec un caractère qualifiéncurses_wclear – Efface la fenêtrencurses_wcolor_set – Modifie les paires de couleurs de la fenêtrencurses_werase – Efface le contenu de la fenêtrencurses_wgetch – Lit un caractère depuis le clavier (fenêtre)ncurses_whline – Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d’une taille maximalencurses_wmouse_trafo – Transforme les coordonnées d’une fenêtrencurses_wmove – Déplace la position d’affichage de la fenêtrencurses_wnoutrefresh – Copie la fenêtre dans l’écran virtuelncurses_wrefresh – Rafraîchit la fenêtre sur l’écran du terminalncurses_wstandend – Termine le mode standout de la fenêtrencurses_wstandout – Passe une fenêtre en mode standoutncurses_wvline – Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright