Sur cette page vous trouverez différentes astuces de programmation pour Tcl.
Comment faire pour :
Récupérer le nom d'utilisateur
Pour récupérer le nom d'utilisateur de la session sous linux voici comment faire :
if {[info exists ::env(USER)]} { puts "$::env(USER)" }
le nom d'utilisateur est contenu dans la variable ::env(USER)
Une autre solution consiste à écrire :
puts [info hostname]
Utiliser des images dans un sous répertoire
Si vous avez des images dans un répertoire (IMG par exemple) contenu dans un sous répertoire où se situe votre application, et que vous voulez y accéder, il vous faut utiliser le chemin relatif par exemple :
image create photo monimage -file \
"./IMG/contact.png"
L'astuce réside dans le point avant l'antislash.
Récupérer la liste des paquets Tcl utilisés
Ecrire :
puts $::tcl_pkgPath
vous renverra :
/usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk/x86_64-linux-gnu /usr/lib/tcltk /usr/share/tcltk /usr/lib/tcltk/tcl8.6 /usr/lib
Récupérer la version du binaire tcl
Ecrire :
puts [info library]
vous renverra :
/usr/share/tcltk/tcl8.6
Récupérer le nom du binaire qui exécute le script
Ecrire :
puts [info nameofexecutable]
vous renverra :
/usr/bin/wish
Lister toutes les polices de caractères
Ecrire :
puts [font families]
vous reverra toutes une liste de toutes les polices présentes sur votre système.
Lister tous les fichiers et dossiers d'un répertoire
Ecrire :
set dir [glob -directory \
"/home/utilisateur/" *] foreach b $dir { puts $b }
Arrondir un nombre
Pour arrondir un nombre à deux chiffres après la virgule, nous serions tenté d'utiliser la commande ROUND.
Et bien non, il suffit d'utiliser la commande FORMAT comme ceci :
[format "%.2f" $mavariable]
exemple :
set a 1.26465123468496546516798 set b [format "%.2f" $a] puts $b
renverra le résultat :
1.26
Récupérer le repertoire utilisateur
Le répertoire utilisateur est contenu dans une variable de type Array.
Pour récupérer le fichier toto.txt dans le répertoire /home/user, écrivez ceci :
puts "$::env(HOME)/toto.txt"
.
.
.