projman/hlp/fr/tcl/tclvars.htm
2015-10-19 14:27:31 +04:00

112 lines
19 KiB
HTML

<HTML><HEAD>
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
</HEAD>
<BODY>
<div><H3><b>tclvars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commandes Internes Tcl</b></H3></div>
<HR ALIGN="center">
<div><b>NOM</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">tclvars - Variables utilisées par Tcl&nbsp;
</div><br>
<div><b>DESCRIPTION</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">Les variables globales suivantes sont créée et gérées automatiquement par les bibliothèque Tcl. Excepté quand signalé ci-dessous, ces variables doivent normalement être traitées en lecture seule par le code spécifique à l'application et par les utilisateurs.
<DL>
<DT><b>env</b></DT><DD>Cette variable est gérée par Tcl comme un tableau dont les éléments sont les variables d'environnements pour le processus. Lire un élément renverra la valeur de la variable d'environnement correspondante. Ecrire un élément du tableau modifiera la variable d'environnement correspondante ou en créera une nouvelle si elle n'existe pas déjà. Effacer un élément de&nbsp; <b>env</b> enlèvera la variable d'environnement correspondante. Les changements du tableau <b>env</b> affectent l'environnement transmis aux enfants par les commandes comme <A HREF="105.htm"><b>exec</b></A>. Si le tableau entier <b>env</b> est effaçé alors Tcl arrètera de surveiller l'accès à <b>env</b> et ne mettra plus à jour les variables d'environnements.
<br>Sous Windows, les variables d'environnements PATH et COMSPEC sont converties automatiquement en majuscule Par exemple, la variable PATH pourrait être exportée par le système d'exploitation comme &quot;path&quot;, &quot;Path&quot;, &quot;PaTh&quot;, etc., ce qui autrement demanderait au code Tcl de supporter de nombreux cas spéciaux. Toutes les autres variables d'environnement héritées par Tcl sont inchangées.
<br>Sur Macintosh, la variable d'environnement est construite par Tcl car aucune variable globale d'environnement n'existe. Les variable d'environnements qui sont créées par Tcl inclutnt:
<DL>
<DT><br><b>LOGIN</b>
</DT><DD>Contient le nom Chooser du Macintosh.
</DD>
<DT><br><b>USER</b>
</DT><DD>Contient aussi le nom Chooser du Macintosh.</DD>
<DT><br><b>SYS_FOLDER</b>
</DT><DD>Le chemin du répertoire système.</DD>
<DT><br><b>APPLE_M_FOLDER</b>
</DT><DD>Le chemin du répertoire du Menu Pomme. </DD>
<DT><br><b>CP_FOLDER</b>
</DT><DD>Le chemin du répertoire du panneau de contrôle.</DD>
<DT><br><b>DESK_FOLDER</b>
</DT><DD>Le chemin du répertoire du bureau.</DD>
<DT><br><b>EXT_FOLDER</b>
</DT><DD>Le chemin du répertoire d'extensions système.</DD>
<DT><br><b>PREF_FOLDER</b>
</DT><DD>Le chemin du répertoire des préferences.</DD>
<DT><br><b>PRINT_MON_FOLDER</b>
</DT><DD>Le chemin du répertoire print monitor.</DD>
<DT><br><b>SHARED_TRASH_FOLDER</b>
</DT><DD>Le chemin du répertoire de la corbeille réseau.</DD>
<DT><br><b>TRASH_FOLDER</b>
</DT><DD>Le chemin du répertoire de la corbeille.</DD>
<DT><br><b>START_UP_FOLDER</b>
</DT><DD>Le chemin du répertoire de démarrage. </DD>
<DT><br><b>PWD</b>
</DT><DD>Le chemin du répertoire par défaut de l'application.</DD>
</DL>
<br>Vous pouvez aussi créer votre propre variable d'environnement pour le Macintosh. Un fichier nommé <i>Tcl Environment Variables</i> peut être placé dans le dossier préferences dans le dossier système Mac. Chaque lignes de ce fichier seront de la forme <i>VAR_NAME=var_data</i>.
<br>La dernière alternative est de placer les variable d'environnements dans une resource 'STR#' nommée <i>Tcl Environment Variables</i> de l'application. Ceci est consideré un peu plus &quot;Mac like&quot; qu'un fichier style Unix Environment Variable. Chaque entrée dans la resource 'STR#' a le même format que ci-dessous. Le fichier source <i>tclMacEnv.c</i> contient l'implémentation des mécanismes de <i>env</i>. Ce fichier contient de nombreux #define qui autorisent la customisation des mécanismes <i>env</i> pour les adapter aux besoins de votre applications.
</DD>
<DT><br><b>errorCode</b></DT><DD>Après une erreur, cette variable est fixée pour recevoir l'information supplémentaire au sujet de l'erreur sous une forme qui est facile à traiter pour les programmes. <b>errorCode</b> consiste d'une liste Tcl avec un ou plusieurs éléments. Le premier élément de la liste identifie une classe générale d'erreurs, et détermine le format du reste de la liste. Les formats suivants pour <b>errorCode</b> sont utilisés par le noyau Tcl; les applications peuvent definir des formats supplémentaires.
<DL>
<DT><b>ARITH</b><i> code msg</i></DT><DD>Ce format est utilisé quand une erreur arithmétique se produit (ex. une tentative de division par zéro dans une commande<A HREF="107.htm"><b> expr</b></A>). <i>Code</i> identifie l'erreur précise et <i>msg</i> fournit une description compréhensible de l'erreur <i>Code</i> sera soit DIVZERO (pour une tentative de division par zéro), DOMAIN (si un argument est en dehors du domaine d'une fonction, tel acos(-3)), IOVERFLOW (débordement entier), OVERFLOW (débordement flottant), ou UNKNOWN (si la cause de l'erreur ne peut pas être déterminée).</DD>
<DT><br><b>CHILDKILLED</b><i> pid sigName msg</i>
</DT><DD>Ce format est utilisé quand un processus enfant a été tué à cause d'un signal. Le second élément de <b>errorCode</b> sera l'identificateur de processus (en décimal). Le troisième élément sera le nom symbolique du signal qui à causé la fin du processus; il sera un des noms du fichier include signal.h, tel que <b>SIGPIPE</b>. Le quatrième élément sera un court message décrivant le signal, tel que &quot;write on pipe whith no readers&quot; pour <b>SIGPIPE</b>.</DD>
<DT><br><b>CHILDSTATUS</b><i> pid code</i>
</DT><DD>Ce format est utilisé quand un processus enfant s'est terminé avec un statut différent de zéro Le second élément de <b>errorCode</b> sera l'identificateur de processus (en décimal). et le troisième élément sera le code de fin renvoyé par le processus (aussi en décimal). </DD>
<DT><br><b>CHILDSUSP</b><i> pid sigName msg</i>
</DT><DD>Ce format est utilisé quand un processus enfant a été suspendu à cause d'un signal. Le second élément de <b>errorCode</b> sera l'identificateur de processus (en décimal).. Le troisième élément sera le nom symbolique du signal qui a causé la suspension du processus; ce sera un des noms du fichier include signal.h,, tel que <b>SIGTTIN</b>. Le quatrième élément sera sera un court message décrivant le signal, tel que &quot;background tty read&quot; pour <b>SIGTTIN</b>.</DD>
<DT><br><b>NONE</b>
</DT><DD>Ce format est utilisé pour les erreurs où aucune information supplémentaire n'est disponible pour une erreur en plus du message renvoyé avec l'erreur Dans ces cas <b>errorCode</b> consistera en une liste contenant un seul élément dont le contenu sera <b>NONE</b>.</DD>
<DT><b>POSIX </b><i>errName msg</i></DT><DD>Si le premier élément de <b>errorCode</b> est <b>POSIX</b>, alors l'erreur s'est produite pendant un appel noyau POSIX. Le second élément de la liste contiendra le nom symbolique de l'erreur qui s'est produite, tel que <b>ENOENT</b>; ce sera une des valeurs définies dans le fichier include errno.h. Le troisième élément de la liste sera un message compréhensible correspondant à <i>errName</i>, tel que &quot;aucun fichier ou répertoire&quot; dans le cas de<b> ENOENT</b>.<br>Pour fixer <b>errorCode</b>, les applications devraient utiliser une fonction de bibliothèque telle que <A HREF="2.htm"><b>Tcl_SetErrorCode</b></A> et <A HREF="2.htm"><b>Tcl_PosixError</b></A>, ou elles peuvent appeller la commande<A HREF="103.htm"><b> error</b></A>. Si une de ces méthodes n'a pas été utilisée, alors l'interpréteur Tcl réinitialisera la variable à <b>NONE</b> après l'erreur suivante.
</DD>
</DL>
</DD>
<DT><br><b>errorInfo</b></DT><DD>Après une erreur, cette chaîne contiendra une ou plusieurs lignes identifiant la commande Tcl et les fonctions qui étaient exécutées quand l'erreur la plus recente s'est produite. Son contenu prend la forme d'une trace de la pile montrant les commandes Tcl imbriquées qui avait été appelées à l'instant de l'erreur.</DD>
<DT><br><b>tcl_library</b>
</DT><DD>Cette variable contient le nom d'un répertoire contenant les bibliothèques système de scripts Tcl, tel que celles utilisées pour un auto-chargement. La valeur de cette variable est renvoyé par la commande<b> info library</b>. Voir la page de manuel <A HREF="129.htm"><b>library</b></A> pour les détails des facilités fournies par la bibliothèque de scripts Tcl. Normalement chaque application ou package aura sa propre bibliothèque spécifique en plus de la bibliothèque Tcl; chaque application devra fixer une variable globale avec un nom comme <b>&#36;</b><i>app</i><b>_library</b> (où <i>app</i> est le nom de l'application) pour recevoir le nom de chemin réseau du répertoire de la bibliothèque de cette de l'application. La valeur initiale de <b>tcl_library</b> est fixée quand un interpréteur est créé en cherchant plusieurs répertoire différents jusqu'a ce qu'un soit trouvé contenant un script de démarrage approprié. Si la variable d'environnement <b>TCL_LIBRARY</b> existe, alors le répertoire qu'elle indique est vérifié en premier. Si <b>TCL_LIBRARY</b> n'est pas fixé ou ne se refère pas à un répertoire approprié, alors Tcl vérifie plusieurs autre répertoires en se basant sur l'emplacement compilé par défaut, l'emplacement du binaire contenant l'application, et le répertoire de travail courant. </DD>
<DT><br><b>tcl_patchLevel</b>
</DT><DD>Quand un interpréteur est créé Tcl initialise cette variable pour recevoir une chaîne donnant le courant niveau de patch de Tcl, tel que <b>7.3p2</b> for Tcl 7.3 avec les deux premier patches officiels, ou <b>7.4b4</b> pour la quatrième release beta de Tcl 7.4. La valeur de cette variable est renvoyé par la commande<b> info patchlevel</b>.</DD>
<DT><br><b>tcl_pkgPath</b>
</DT><DD>Cette variable contient une liste de répertoires indiquant où les packages sont normalement installés. Elle n'est pas utilisée sous Windows. Elle contient typiquement soit une ou deux entrées; si elle contient deux entrées, la première est normalement un répertoire pour les packages dependant de la plateforme (ex., bibliothèques partagées binaires) et le second est normalement un répertoire pour les packages indépendants de la plateforme- (ex., fichiers script). Typiquement un package est installé comme sous répertoire d'une des entrées de <b>&#36;tcl_pkgPath</b>. Les répertoires de <b>&#36;tcl_pkgPath</b> sont inclus par défaut dans la variable<b> auto_path</b>, donc eux et leurs sous-répertoires immédiats sont automatiquement recherché pendant les commandes<b> package require</b> Note: <b>tcl_pkgPath</b> n'est pas conçue pour être modifiée par les application. Sa valeur est ajoutée à <b>auto_path</b> au démarrage; les changement dans <b>tcl_pkgPath</b> ne sont pas reflétés dans <b>auto_path</b>. Si vous voulez que Tcl recherche les packages dans des répertoires supplémentaires vous devrez ajouter leurs noms à <b>auto_path</b>, pas à <b>tcl_pkgPath</b>. </DD>
<DT><br><b>tcl_platform</b>
</DT><DD>Ceci est un tableau associatif dont les éléments contiennent l'information concernant la plateforme sur laquelle l'application s'exécute, tel que le nom du système d'exploitation, son numéro de release courant, et le jeu d'instruction de la machine Les éléments listés ci-dessous seront toujours définis, mais ils peuvent avoir des chaîne vides comme valeurs si Tcl n'a pu récupérer quelconque information en rapport De plus, les extensions et les applications peuvent ajouter des valeurs supplémentaires au tableau Les éléments prédéfinis sont:
<DL>
<DT><b>byteOrder</b></DT><DD>L'ordre natif des octets de cette machine: soit <b>littleEndian</b> ou <b>bigEndian</b> </DD>
<DT><br><b>debug</b>
</DT><DD>Si cette variable existe, alors l'interpréteur a été compilé avec les symboles debuggage activés. Cette variable existe seulement sous Windows donc les programmeurs d'extension peuvent spécifier quel package charger, ceci dépendant de la bibliothèque d'exécution C qui est chargée.</DD>
<DT><br><b>machine</b>
</DT><DD>Le jeu d'instruction exécuté par cette machine, tel que <b>intel</b>, <b>PPC</b>, <b>68k</b>, ou <b>sun4m</b> Sur les machines UNIX, c'est la valeur renvoyée par <b>uname -m</b>.</DD>
<DT> <br><b>os</b>
</DT><DD>Le nom du système d'exploitation exécuté sur cette machine, tel que <b>Windows 95</b>, <b>Windows NT</b>, <b>MacOS</b>, ou <b>SunOS</b>. Sur les machines UNIX, c'est la valeur renvoyée par <b>uname -s</b>. Sur Windows 95 et Windows 98, la valeur renvoyée sera <b>Windows95</b> pour fournir une meilleure compatibilité ascendante avec Windows 95; pour distinguer entre les deux, vérifier <b>osVersion</b>.</DD>
<DT><br><b>osVersion</b>
</DT><DD>Le numéro de version du système d'exploitation exécuté sur cette machine. Sur les machines UNIX, c'est la valeur renvoyée par <b>uname -r</b> Sur Windows 95, la version sera 4.0; sur Windows 98, la version sera 4.10.</DD>
<DT><br><b>platform</b>
</DT><DD>Soit <b>windows</b>, <b>macintosh</b>, ou <b>unix</b>. Identifie l'environnement de la machine.</DD>
<DT><br><b>threaded</b>
</DT><DD>Si cette variable existe, alors l'interpréteur a été compilé avec les threads activés.</DD>
<DT><br><b>user</b>
</DT><DD>Ceci identifie l'utilisateur courant basées sur l'information de login disponible sur la plateforme. Est tiré de la variable d'environnement USER ou LOGNAME sous Unix, et de la valeur de GetUserName sous Windows et Macintosh.</DD>
</DL></DD>
<DT><br><b>tcl_precision</b>
</DT><DD>Cette variable contrôle le nombre de chiffres à générer pendant la conversion de valeurs flottantes en chaînes Par défaut de 12. 17 chiffres est &quot;parfait&quot; pour les flottants IEEE&nbsp; car il permet de convertir les valeurs double-précision en&nbsp; chaînes puis de revenir en binaire sans perte d'information Néanmoins, l'utilisation de 17 chiffres empêche tout arrondi, et produit des résultats plus long, et moins intuitifs Par exemple, <b>expr 1.4</b> retourne 1.3999999999999999 avec <b>tcl_precision</b> fixé à 17, contre 1.4 si <b>tcl_precision</b> est à 12. Tous les interpréteurs dans un processus partagent une seule valeur<b> tcl_precision</b>: la changer pour un interpréteur affectera tous les autres interpréteurs. Néanmoins, les interpréteur sùrs ne sont pas autorisé à modifier la variable. /DD>
<DT><br><b>tcl_rcFileName</b>
</DT><DD>Cette variable est utilisée pendant l'initialisation pour indiquer le nom d'un fichier de démarrage spécifique à l'utilisateur. Si elle est fixée par l'initialisation spécifique à l'application, alors le code Tcl de démarrage vérifiera l'existence de ce fichier et le <A HREF="163.htm"><b>source</b></A> s'il existe. Par exemple, pour <A HREF="318.htm"><b>wish</b></A> la variable est fixée à <b>~/.wishrc</b> sous Unix et <b>~/wishrc.tcl</b> sous Windows.</DD>
<DT><br><b>tcl_rcRsrcName</b>
</DT><DD>Cette variable est utilisée seulement sur les systèmes Macintosh. La variable est utilisée pendant l'initialisation pour indiquer le nom d'une resource <b>TEXT</b> spécifique à l'utilisateur localisée dans les resource forks de l'application ou de l'extension. Si elle est fixée par l'initialisation spécifique à l'application, alors le code Tcl de démarrage vérifiera l'existence de cette resource et la <A HREF="163.htm"><b>source</b></A> si elle existe. Par exemple, l'application Macintosh <A HREF="318.htm"><b>wish</b></A> a la variable fixée à <b>tclshrc</b>.</DD>
<DT><br><b>tcl_traceCompile</b>
</DT><DD>La valeur de cette variable peut être fixée pour contrôler combien d'information de traçage est affichée pendant la compilation du bytecode. Par défaut, tcl_traceCompile est à zéro et aucune information n'est affichée. Fixer tcl_traceCompile à 1 génère une ligne sur la sortie standard chaque fois qu'une fonction ou commande de premier niveau est compilée. La fixer à 2 génère un listing détaillé sur la sortie standard des instructions bytecode émises pendant toute la compilation. Cette variable est utile pour rechercher des problèmes suspectés avec le compilateur Tcl. Elle est aussi parfois utile pour la conversion de code existant en Tcl8.0.</DD>
<DT><br><b>tcl_traceExec</b>
</DT><DD>La valeur de cette variable peut être fixée pour contrôler combien d'information de traçage est affichée pendant l'exécution du bytecode. Par défaut, tcl_traceExec est à zéro et aucune information n'est affichée. Fixer tcl_traceExec à 1 génère une ligne sur la sortie standard à chaque appel d'une fonction Tcl. La fixer à 2 génère une ligne de sortie chaque fois qu'une commande Tcl est appelée, qui contient le nom de la commande et ses arguments. La fixer à 3 produit une trace détaillée montrant le résultat de l'exécution chaque instruction bytecode. Notez que quand tcl_traceExec est à 2 ou à 3, les commandes tel que set et incr qui ont été entièrement remplacées par une séquence d'instructions bytecode ne sont pas montrées. Fixer cette variable est utile pour rechercher des problèmes suspectés avec le compilateur et l'interpréteur Tcl. Elle est aussi parfois utile pour la conversion de code existant en Tcl8.0.</DD>
<DT><br><b>tcl_wordchars</b>
</DT><DD>La valeur de cette variable est une expression rationelle qui peut être fixée pour contrôler ce qui est consideré comme des caractères &quot;mot&quot;, pour des utiisations comme la selection d'un mot par double-click dans le texte dans Tk. Il est dépendant de la plateforme. Sous Windows, il est par défaut de <b>&#92;S</b>, signifiant tout sauf le caractère espace Unicode Autrement il est par défaut de <b>&#92;w</b>, qui est tout caractère Unicode (nombre, lettre, ou underscore).</DD>
<DT><br><b>tcl_nonwordchars</b>
</DT><DD>La valeur de cette variable est une expression rationelle qui peut être fixée pour contrôler ce qui est consideré comme des caractères &quot;non-mot&quot;, pour des utilisations comme la selection d'un mot par double-click dans le texte dans Tk. Il est dépendant de la plateforme Sous Windows, il est par défaut de <b>&#92;s</b>, signifiant tout caractère espace Unicode Autrement il est par défaut de <b>&#92;W</b>, qui est tout sauf un caractère Unicode (nombre, lettre, ou underscore).</DD>
<DT><br><b>tcl_version</b>
</DT><DD>Quand un interpréteur est créé Tcl initialise cette variable pour recevoir le numéro de version de cette version de Tcl sous la forme <i>x.y</i>. Les changements de <i>x</i> représentent les changements majeurs avec probable incompatibilités et les changements de <i>y</i> représentent les petites améliorations et les corrections de bugs qui conservent une compatibilité ascendante. La valeur de cette variable est renvoyé par la commande <b>info tclversion</b></DD>
</DL>
</div><br>
<div>Dernière révision: 8.0</div>
<br>
<br><div ALIGN="CENTER"><A HREF="index.htm"><b>Index</b></A>&nbsp;&nbsp;<A HREF="169.htm"><b>Précédent</b></A>&nbsp;&nbsp;<A HREF="171.htm"><b>Suivant</b></A>
</div>
</BODY></HTML>