projman/hlp/fr/tcl/tclvars.htm

112 lines
19 KiB
HTML
Raw Normal View History

2015-10-19 13:27:31 +03:00
<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<69>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<63><72>e et g<>r<EFBFBD>es automatiquement par les biblioth<74>que Tcl. Except<70> quand signal<61> ci-dessous, ces variables doivent normalement <20>tre trait<69>es en lecture seule par le code sp<73>cifique <20> l'application et par les utilisateurs.
<DL>
<DT><b>env</b></DT><DD>Cette variable est g<>r<EFBFBD>e par Tcl comme un tableau dont les <20>l<EFBFBD>ments sont les variables d'environnements pour le processus. Lire un <20>l<EFBFBD>ment renverra la valeur de la variable d'environnement correspondante. Ecrire un <20>l<EFBFBD>ment du tableau modifiera la variable d'environnement correspondante ou en cr<63>era une nouvelle si elle n'existe pas d<>j<EFBFBD>. Effacer un <20>l<EFBFBD>ment de&nbsp; <b>env</b> enl<6E>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<66><61> alors Tcl arr<72>tera de surveiller l'acc<63>s <20> <b>env</b> et ne mettra plus <20> 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 <20>tre export<72>e par le syst<73>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<73>ciaux. Toutes les autres variables d'environnement h<>rit<69>es par Tcl sont inchang<6E>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<63><72>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<73>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<74>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<73>me.</DD>
<DT><br><b>PREF_FOLDER</b>
</DT><DD>Le chemin du r<>pertoire des pr<70>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<63>er votre propre variable d'environnement pour le Macintosh. Un fichier nomm<6D> <i>Tcl Environment Variables</i> peut <20>tre plac<61> dans le dossier pr<70>ferences dans le dossier syst<73>me Mac. Chaque lignes de ce fichier seront de la forme <i>VAR_NAME=var_data</i>.
<br>La derni<6E>re alternative est de placer les variable d'environnements dans une resource 'STR#' nomm<6D>e <i>Tcl Environment Variables</i> de l'application. Ceci est consider<65> un peu plus &quot;Mac like&quot; qu'un fichier style Unix Environment Variable. Chaque entr<74>e dans la resource 'STR#' a le m<>me format que ci-dessous. Le fichier source <i>tclMacEnv.c</i> contient l'impl<70>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<EFBFBD>s une erreur, cette variable est fix<69>e pour recevoir l'information suppl<70>mentaire au sujet de l'erreur sous une forme qui est facile <20> traiter pour les programmes. <b>errorCode</b> consiste d'une liste Tcl avec un ou plusieurs <20>l<EFBFBD>ments. Le premier <20>l<EFBFBD>ment de la liste identifie une classe g<>n<EFBFBD>rale d'erreurs, et d<>termine le format du reste de la liste. Les formats suivants pour <b>errorCode</b> sont utilis<69>s par le noyau Tcl; les applications peuvent definir des formats suppl<70>mentaires.
<DL>
<DT><b>ARITH</b><i> code msg</i></DT><DD>Ce format est utilis<69> quand une erreur arithm<68>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<70>cise et <i>msg</i> fournit une description compr<70>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 <20>tre d<>termin<69>e).</DD>
<DT><br><b>CHILDKILLED</b><i> pid sigName msg</i>
</DT><DD>Ce format est utilis<69> quand un processus enfant a <20>t<EFBFBD> tu<74> <20> cause d'un signal. Le second <20>l<EFBFBD>ment de <b>errorCode</b> sera l'identificateur de processus (en d<>cimal). Le troisi<73>me <20>l<EFBFBD>ment sera le nom symbolique du signal qui <20> caus<75> la fin du processus; il sera un des noms du fichier include signal.h, tel que <b>SIGPIPE</b>. Le quatri<72>me <20>l<EFBFBD>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<69> quand un processus enfant s'est termin<69> avec un statut diff<66>rent de z<>ro Le second <20>l<EFBFBD>ment de <b>errorCode</b> sera l'identificateur de processus (en d<>cimal). et le troisi<73>me <20>l<EFBFBD>ment sera le code de fin renvoy<6F> par le processus (aussi en d<>cimal). </DD>
<DT><br><b>CHILDSUSP</b><i> pid sigName msg</i>
</DT><DD>Ce format est utilis<69> quand un processus enfant a <20>t<EFBFBD> suspendu <20> cause d'un signal. Le second <20>l<EFBFBD>ment de <b>errorCode</b> sera l'identificateur de processus (en d<>cimal).. Le troisi<73>me <20>l<EFBFBD>ment sera le nom symbolique du signal qui a caus<75> la suspension du processus; ce sera un des noms du fichier include signal.h,, tel que <b>SIGTTIN</b>. Le quatri<72>me <20>l<EFBFBD>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<69> pour les erreurs o<> aucune information suppl<70>mentaire n'est disponible pour une erreur en plus du message renvoy<6F> avec l'erreur Dans ces cas <b>errorCode</b> consistera en une liste contenant un seul <20>l<EFBFBD>ment dont le contenu sera <b>NONE</b>.</DD>
<DT><b>POSIX </b><i>errName msg</i></DT><DD>Si le premier <20>l<EFBFBD>ment de <b>errorCode</b> est <b>POSIX</b>, alors l'erreur s'est produite pendant un appel noyau POSIX. Le second <20>l<EFBFBD>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<73>me <20>l<EFBFBD>ment de la liste sera un message compr<70>hensible correspondant <20> <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<74>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 <20>t<EFBFBD> utilis<69>e, alors l'interpr<70>teur Tcl r<>initialisera la variable <20> <b>NONE</b> apr<70>s l'erreur suivante.
</DD>
</DL>
</DD>
<DT><br><b>errorInfo</b></DT><DD>Apr<EFBFBD>s une erreur, cette cha<68>ne contiendra une ou plusieurs lignes identifiant la commande Tcl et les fonctions qui <20>taient ex<65>cut<75>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<71>es qui avait <20>t<EFBFBD> appel<65>es <20> 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<74>ques syst<73>me de scripts Tcl, tel que celles utilis<69>es pour un auto-chargement. La valeur de cette variable est renvoy<6F> 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<69>s fournies par la biblioth<74>que de scripts Tcl. Normalement chaque application ou package aura sa propre biblioth<74>que sp<73>cifique en plus de la biblioth<74>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<74>que de cette de l'application. La valeur initiale de <b>tcl_library</b> est fix<69>e quand un interpr<70>teur est cr<63><72> en cherchant plusieurs r<>pertoire diff<66>rents jusqu'a ce qu'un soit trouv<75> contenant un script de d<>marrage appropri<72>. Si la variable d'environnement <b>TCL_LIBRARY</b> existe, alors le r<>pertoire qu'elle indique est v<>rifi<66> en premier. Si <b>TCL_LIBRARY</b> n'est pas fix<69> ou ne se ref<65>re pas <20> un r<>pertoire appropri<72>, alors Tcl v<>rifie plusieurs autre r<>pertoires en se basant sur l'emplacement compil<69> 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<70>teur est cr<63><72> Tcl initialise cette variable pour recevoir une cha<68>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<72>me release beta de Tcl 7.4. La valeur de cette variable est renvoy<6F> 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<6C>s. Elle n'est pas utilis<69>e sous Windows. Elle contient typiquement soit une ou deux entr<74>es; si elle contient deux entr<74>es, la premi<6D>re est normalement un r<>pertoire pour les packages dependant de la plateforme (ex., biblioth<74>ques partag<61>es binaires) et le second est normalement un r<>pertoire pour les packages ind<6E>pendants de la plateforme- (ex., fichiers script). Typiquement un package est install<6C> comme sous r<>pertoire d'une des entr<74>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<6D>diats sont automatiquement recherch<63> pendant les commandes<b> package require</b> Note: <b>tcl_pkgPath</b> n'est pas con<6F>ue pour <20>tre modifi<66>e par les application. Sa valeur est ajout<75>e <20> <b>auto_path</b> au d<>marrage; les changement dans <b>tcl_pkgPath</b> ne sont pas refl<66>t<EFBFBD>s dans <b>auto_path</b>. Si vous voulez que Tcl recherche les packages dans des r<>pertoires suppl<70>mentaires vous devrez ajouter leurs noms <20> <b>auto_path</b>, pas <20> <b>tcl_pkgPath</b>. </DD>
<DT><br><b>tcl_platform</b>
</DT><DD>Ceci est un tableau associatif dont les <20>l<EFBFBD>ments contiennent l'information concernant la plateforme sur laquelle l'application s'ex<65>cute, tel que le nom du syst<73>me d'exploitation, son num<75>ro de release courant, et le jeu d'instruction de la machine Les <20>l<EFBFBD>ments list<73>s ci-dessous seront toujours d<>finis, mais ils peuvent avoir des cha<68>ne vides comme valeurs si Tcl n'a pu r<>cup<75>rer quelconque information en rapport De plus, les extensions et les applications peuvent ajouter des valeurs suppl<70>mentaires au tableau Les <20>l<EFBFBD>ments pr<70>d<EFBFBD>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<70>teur a <20>t<EFBFBD> compil<69> avec les symboles debuggage activ<69>s. Cette variable existe seulement sous Windows donc les programmeurs d'extension peuvent sp<73>cifier quel package charger, ceci d<>pendant de la biblioth<74>que d'ex<65>cution C qui est charg<72>e.</DD>
<DT><br><b>machine</b>
</DT><DD>Le jeu d'instruction ex<65>cut<75> 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<6F>e par <b>uname -m</b>.</DD>
<DT> <br><b>os</b>
</DT><DD>Le nom du syst<73>me d'exploitation ex<65>cut<75> 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<6F>e par <b>uname -s</b>. Sur Windows 95 et Windows 98, la valeur renvoy<6F>e sera <b>Windows95</b> pour fournir une meilleure compatibilit<69> ascendante avec Windows 95; pour distinguer entre les deux, v<>rifier <b>osVersion</b>.</DD>
<DT><br><b>osVersion</b>
</DT><DD>Le num<75>ro de version du syst<73>me d'exploitation ex<65>cut<75> sur cette machine. Sur les machines UNIX, c'est la valeur renvoy<6F>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<70>teur a <20>t<EFBFBD> compil<69> avec les threads activ<69>s.</DD>
<DT><br><b>user</b>
</DT><DD>Ceci identifie l'utilisateur courant bas<61>es sur l'information de login disponible sur la plateforme. Est tir<69> 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<74>le le nombre de chiffres <20> g<>n<EFBFBD>rer pendant la conversion de valeurs flottantes en cha<68>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<70>cision en&nbsp; cha<68>nes puis de revenir en binaire sans perte d'information N<>anmoins, l'utilisation de 17 chiffres emp<6D>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<69> <20> 17, contre 1.4 si <b>tcl_precision</b> est <20> 12. Tous les interpr<70>teurs dans un processus partagent une seule valeur<b> tcl_precision</b>: la changer pour un interpr<70>teur affectera tous les autres interpr<70>teurs. N<>anmoins, les interpr<70>teur s<>rs ne sont pas autoris<69> <20> modifier la variable. /DD>
<DT><br><b>tcl_rcFileName</b>
</DT><DD>Cette variable est utilis<69>e pendant l'initialisation pour indiquer le nom d'un fichier de d<>marrage sp<73>cifique <20> l'utilisateur. Si elle est fix<69>e par l'initialisation sp<73>cifique <20> 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<69>e <20> <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<69>e seulement sur les syst<73>mes Macintosh. La variable est utilis<69>e pendant l'initialisation pour indiquer le nom d'une resource <b>TEXT</b> sp<73>cifique <20> l'utilisateur localis<69>e dans les resource forks de l'application ou de l'extension. Si elle est fix<69>e par l'initialisation sp<73>cifique <20> 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<69>e <20> <b>tclshrc</b>.</DD>
<DT><br><b>tcl_traceCompile</b>
</DT><DD>La valeur de cette variable peut <20>tre fix<69>e pour contr<74>ler combien d'information de tra<72>age est affich<63>e pendant la compilation du bytecode. Par d<>faut, tcl_traceCompile est <20> z<>ro et aucune information n'est affich<63>e. Fixer tcl_traceCompile <20> 1 g<>n<EFBFBD>re une ligne sur la sortie standard chaque fois qu'une fonction ou commande de premier niveau est compil<69>e. La fixer <20> 2 g<>n<EFBFBD>re un listing d<>taill<6C> sur la sortie standard des instructions bytecode <20>mises pendant toute la compilation. Cette variable est utile pour rechercher des probl<62>mes suspect<63>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 <20>tre fix<69>e pour contr<74>ler combien d'information de tra<72>age est affich<63>e pendant l'ex<65>cution du bytecode. Par d<>faut, tcl_traceExec est <20> z<>ro et aucune information n'est affich<63>e. Fixer tcl_traceExec <20> 1 g<>n<EFBFBD>re une ligne sur la sortie standard <20> chaque appel d'une fonction Tcl. La fixer <20> 2 g<>n<EFBFBD>re une ligne de sortie chaque fois qu'une commande Tcl est appel<65>e, qui contient le nom de la commande et ses arguments. La fixer <20> 3 produit une trace d<>taill<6C>e montrant le r<>sultat de l'ex<65>cution chaque instruction bytecode. Notez que quand tcl_traceExec est <20> 2 ou <20> 3, les commandes tel que set et incr qui ont <20>t<EFBFBD> enti<74>rement remplac<61>es par une s<>quence d'instructions bytecode ne sont pas montr<74>es. Fixer cette variable est utile pour rechercher des probl<62>mes suspect<63>s avec le compilateur et l'interpr<70>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 <20>tre fix<69>e pour contr<74>ler ce qui est consider<65> comme des caract<63>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<63>re espace Unicode Autrement il est par d<>faut de <b>&#92;w</b>, qui est tout caract<63>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 <20>tre fix<69>e pour contr<74>ler ce qui est consider<65> comme des caract<63>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<63>re espace Unicode Autrement il est par d<>faut de <b>&#92;W</b>, qui est tout sauf un caract<63>re Unicode (nombre, lettre, ou underscore).</DD>
<DT><br><b>tcl_version</b>
</DT><DD>Quand un interpr<70>teur est cr<63><72> Tcl initialise cette variable pour recevoir le num<75>ro de version de cette version de Tcl sous la forme <i>x.y</i>. Les changements de <i>x</i> repr<70>sentent les changements majeurs avec probable incompatibilit<69>s et les changements de <i>y</i> repr<70>sentent les petites am<61>liorations et les corrections de bugs qui conservent une compatibilit<69> ascendante. La valeur de cette variable est renvoy<6F> par la commande <b>info tclversion</b></DD>
</DL>
</div><br>
<div>Derni<EFBFBD>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<EFBFBD>c<EFBFBD>dent</b></A>&nbsp;&nbsp;<A HREF="171.htm"><b>Suivant</b></A>
</div>
</BODY></HTML>