=---= Guide : TCL / TK =---=

 

tcl : <tickeul> : tool command language (langage de commandes-outils).

tk : <tiii-kay>

 =--=[ Sommaire ]=--=

I)   Introduction

II)  C et TCL/TK

III) Les Binds

IV   Divers

V)   Les liens

 =------------------=

 

.:[ I) Introduction ]:.

 

Tcl est un langage créé au début des années 90 par John Ousterhout, un universitaire.

Attention certaines fonctions ne marchent que sur des systèmes unix/linux et peuvent être différentes sur un système de type Windows.

C'un langage de commandes général et robuste pouvant s'intégrer facilement dans d'autres applications. TCL = (Tool Command Language. Dans la plupart des cas, Tcl est utilisé de concert avec la librairie Tk (Tool Kit), un ensemble de commandes et procédures qui permet de programmer très facilement des interfaces graphiques.  Un TCL est un fichier texte qui est traité par un interpréteur adapté, à sa mis en route. Il est gratuit, et fonctionne sur quasiment toutes les plates-formes d’exploitations.

 

.:[ II) C et TCL/TK ]:.

 

- TCL est un langage évolutif, qui se couple parfaitement au C.

- Si il manque une fonction dans les possibilités, il est possible de la développer en C.

- Tcl n'exige pas que les variables soient déclarées avant d'être utilisées.

- Tk est également disponible pour d'autre langage comme Perl ou Python avec cu C/C++

- tcl/tk ne permet pas de créer des structures de données très complexes comme on peut le faire en C ou C++ .

 

.:[ III) Les Binds ]:.

 

Partie très importante, il agit comme un remote, c'est à dire que le bot (eggdrop) vérifie le texte sur le(s) channel(s) et si il est dans la liste des fonctions prédéfinies, il agit selon ce qui a été spéficié lors de la création du script. Un bind fonctionne également sur toutes les actions, comme les : join, part, kill, ban, kick, notice, query, msg, ctcp. Ce bind peut se déclencher uniquement si la personne possède le(s) flags nécessaires à exécuter l'action (peut-être utile, en cas d'utilisation abusive) --> liste de flags. Si vous souhaitez réaliser des actions très pousser, consulter le fichier : tcl-commands.doc , qui se trouve dans le répertoire de l'eggdrop compilé. Il est préférable d'attribuer un symbole aux fonctions liés aux binds, le plus utilisé est le "!" , mais vous pouvez en utiliser d'autres (utiliser de préférence un caractère non commun).

 

.:[ IV) Divers ]:.

 

Tcl est un outil très puissant pour tous les traitements de chaîne de caractères, il faut savoir aussi que Tcl a une structure simple. Chaque ligne commence par une nouvelle commande. Les sources sont forcement livrés avec l'application, cela peut introduire certaines lenteurs.

Embedded Tk courammment apellé ET est une outil permettant de créer des executables autonomes à partir d'une mixture de C ou C++ et de tcl/tk. Facilités de tcl-tk pour les interfaces graphiques et les traitements des chaînes de caractères, et la puissance du C là ou elle est nécessaire, télécharge ici : http://www.hwaci.com/sw/et/

widgets = Windows widget . Les widgets sont les fenêtres qui correspondent à des boutons, menus, barres de défilement, .... Tk utilise un système basé objet pour créer et nommer les widgets. A chaque classe d'objet est associée une commande qui crée des instances pour cette classe d'objets.

Si on met une barre de déroulement, toujours la packer (.pack [fonction]) pour qu'elle ne puisse pas disparaître lors du redisionnement. L'ordre de création des widgets à de l'importance puisque c'est le dernier créé qui est au dessus.

Il existe un autre interpreteur de tcl en standard, tclsh, qui comprend seulement le langage  tcl. Il n'est pas possible de créer des programmes graphiques avec tclsh.

 

.:[ V) Les Liens ]:.

 

Ces liens, vous permettent, de vous documenter, ou d’accroître vos connaissances sur la question, selon vos points d’intérêts.

 - FAQ sur le tk (anglais) : http://www.pasteur.fr/infosci/FAQ/tcl-faq/tk/part1

- Livre de la collection oreilly sur le tcl/tk (version 8) : http://www.editions-oreilly.fr/catalogue/tcltk_pkt.html

- Réalisation de graphisme en tk : http://echo-linux.alienor.fr/articles/tcltk/tclandc.html

- le site de Lucas sur les eggdrops : http://www.eggdrop-fr.org 

- le HowTO du langage : http://www.freenix.fr/unix/linux/HOWTO/TclTk-HOWTO-8.html

- Tuto tcl : http://www.msen.com/~clif/TclTutor.html 

- Info, faq, news, archives, sources, ... : http://www.sco.com/Technology/tcl/Tcl.html

- Cours de tcl / tk : http://slwww.epfl.ch/SIC/SL/logiciels/TclTk/COURS/TclTk/TclTk_cours.html

- Développement rapide d'applications distribuées en Tcl-dp : http://www.isep.fr/isep/etudes/labos/reseaux/ordi/tcl/tcl.htm

- Ressources tcl : http://www.hobbs.wservice.com/tcl/tclet/

- Base sur la syntaxe du tcl : http://mercury.chem.pitt.edu/~tiho/LinuxFocus/Francais/September1999/article110.html

- Aide à la prog : http://www.info.univ-angers.fr/pub/gh/mmm/pourtcl/tuttcl.htm

- Détails des fonctions : http://www.beedub.com/book/2nd/tclintro.doc.html

- Une page sur le créateur : http://www.scriptics.com/people/john.ousterhout/

- Le site du langague : http://www.tcltk.com/

- Nouveau nom de domaine de scriptics : http://www.ajubasolutions.com

- Un peu de tout : ftp://ftp.neosoft.com

- Sources, progs, docs, ... : ftp://ftp.scriptics.com/pub/tcl

- Vtcl, le builder d’application : http://vtcl.sourceforge.net