Initiation aux langages : Tcl/Tk

TCL/TK et VISUAL TCL


date de mise à jour : 03-10/1999
[ Home Page | Linux | Menu vtcl | Dicdacticiel vtcl | Exercices vtcl]
Index Linux Menu vtcl

Introduction

Le langage TCL est certainement le plus accessible et le plus rapide à mettre en application .
C'est un langage multi-plate forme, sans modification des sources (sauf pour les programmes d'installation!!!), qui tourne sur Mac et Windows.
"Tool Command Language" est un puissant langage interprété qui s'appuit sur le ToolKit Graphique TK .
Pour résumer on peut dire que TCL est ce que vous écrivez et TK est ce que vous voyez (avec vtcl) .

Je n'ai pas la prétention de décrire ici toutes les subtilité de ce langage , mais simplement une description des principales fonctions de Tcl et surtout l'utilisation de vtcl à l'aide d'exemples simples .

_Vous trouverez des documents sur TCL :
Le site de Daniel Roche www.multimania.com/droche/
Le site de Tcl/Tk et vtcl www.neuron.com
Un Tutorial Tcl/Tk sur www.msen.com/~clif/TclTutor.html
Un Tutorial VTCL sur www.neuron.com/stewart/vtcl
Doc sur Tcl www.sun.com/960710/cover/tcl.html

_Pour ceux qui veulent approfondir le sujet :
Sur le site de Daniel Roche, vous trouverez un article qui a été publié dans Linux Magazine N°2, ainsi que des applications et des widgets .
Un livre de Brent B.Welch intitulé "Pratical Programming in Tcl & Tk ", mais j'ignore si la derrière édition a été traduite ?
Des Widgets sur les sites www.hwaci.com et www.scriptics.com
Tuba pour le debugage de vos réalisation en tcl/tk sur /www.doitnow.com

Notion de base Tcl/Tk :

Il existe déjà un certain nombre de documents sur tcl , je me contenterai donc de présenter vtcl .

Mais pour vous donner un apperçu des possibilités de TCL nous allons quand même réaliser, à l'aide d'un simple éditeur de texte, l'incontournable "Hello World !" :
Trois lignes vont suffire pour afficher une fenêtre contenant un message et un bouton qui fermera cette fenêtre .

_Moi j'utilise Emacs, mais vous lancez votre éditeur habituel et vous tapez :

  label .lb01 -text "Bonjour tout le monde" 
  button .bt01 -text "OK" -command { exit } 
  pack .lb01 .bt01 
_Puis vous le sauvegardez en bonjour.tcl par exemple, ce sera notre "Hello World !"

Explication : des commandes
Nous construisons :
ligne 1) un objet label nommé lb01 et on lui affecte le texte Bonjour tout le monde à l'aide de l'option -text
ligne 2) un objet button que l'on nomme bt01 et -text lui affecte la valeur OK ,l'option -command lui attribut une action( commande exit pour fermer la fenêtre ) .
ligne 3) nous plaçons notre bouton et notre texte à l'intérieur de la fenêtre à l'aide de l'instruction pack qui permet de disposer les objets(widgets) les uns à la suite des autres, il existe 2 autres commandes de placement :
grid qui agence les widgets en tableau
place qui les positionne avec les coordonnées x et y que vous lui passez
Vous avez certainement remarqué le "." (point) précédent le nom des widgets, ce point désigne la fenêtre principale qui est le parent de lb01 et bt01 .
Vous retrouverez cette syntaxe dans vtcl, à titre d'exemple :
Si nous construisons une fenêtre (Toplevel) appelée main avec une barre de menu mbar un menu Fichier file et un sous-menu Ourir open ,nous aurons : .main.mbar.file.open désignant l'objet open qui appartient à file qui se trouve dans mbar à l'intérieur de la fenêtre toplevel main .

Mode d'emploi :de bonjour.tcl
Vous lancez Xwindow, ouvrez un xTerm et placez-vous dans le répertoire où vous avez sauvegardé " bonjour.tcl " :
Utilisez la commande type wish pour savoir si l'interpréteur graphique de TCL est présent et connaître son emplacement !
en retour vous devez obtenir : wish is /usr/bin/wish ou wish is hashed (/usr/bin/wish)
Si non wish not found indique que Tcl/Tk n'est pas installé correctement !?!
Vous avez plusieurs possibilités pour faire tourner votre " bonjour.tcl " ... Tapez :
-1)
wish bonjour.tcl
votre fenêtre " bonjour " s'affiche, il ne reste plus qu'a cliquer sur le bouton "OK" pour la fermer .
-2)
wish
pour lancer l'interpréteur graphique, nous allons avec la fonction source lui demander d'afficher notre "bonjour.tcl" :
source bonjour.tcl
notre fenêtre s'affiche et nous allons en profiter pour lui passer une valeur de couleur de fond avec l'option -background à l'aide de la commande configure :
.lb01 configure -background blue
notre widget lb01 devient bleu ,maintenant changeons la couleur du texte :
.lb01 configure -foreground yellow
vous avez un texte jaune sur fond bleu, vous pouvez essayer :
. configure -background blue pour la fenêtre principale et :
.bt01 configure -background blue pour le bouton .
Tapez exit pour quitter wish .
-3)
Vous pouvez rendre votre "bonjour.tcl" éxecutable, pour cela :
Copiez-le en "bonjour2.tcl" ou "bonjour"
cp bonjour.tcl bonjour
Et appliquez lui un chmod 755
chmod 755 bonjour
Si vous essayez de lancer "bonjour", vous obtiendrez un message d'erreur pour chacune des lignes de votre programme car le shell ne connait pas les commandes label, button et pack : Il va donc falloir lui indiquer d'utiliser wish pour interpréter ces commandes .
Pour cela vous allez ajouter une ligne au début de votre éxecutable " bonjour ", avec votre éditeur de texte, pour obtenir :

  #!/usr/bin/wish
  label .lb01 -text "Bonjour tout le monde" 
  button .bt01 -text "OK" -command { exit } 
  pack .lb01 .bt01 
Sauvegardez-le, et il ne reste plus qu'a le tester !
Si "bonjour" n'est pas dans un répertoire de binaires déclaré, vous devez vous placer dans le répertoire contenant "bonjour" et tapez : ./bonjour
si non un simple bonjour lancera votre programme "bonjour " .

Utilisation de visual Tcl

Passons à la présentation et à la réalisation d'exemples simples avec VTcl


Precedent haut de page suivant