TCL/TK
Diese Seite soll einen Überblick über die wesentlichen Eigenschaften von TCL und TK geben. Alle Einträge sind miteinander verlinkt, folgen sie einfach ihren Interessen. Externe Links sind mit >>> gekennzeichnet. Zentrale (englische) Informationsstelle zu TCL ist die Firma >>> Scriptics, deutsche Informationsquellen folgen noch.
Ein guter Startpunkt ist die Einführung.
- Einführung
- Tcl-Skripte sind kleine Textdateien die von einem Interpreter ausgeführt werden. Variablen müssen in TCL nicht deklariert werden, sie werden immer als Zeichenketten in Unicode-Format gespeichert. Bei Bedarf werden Zahlen dann als numerische Werte evaluiert. In TCL sind Funktionen zur Manipulation von Arrays, Listen und Zeichenketten vorhanden. Mit der graphischen Erweiterung TK können sogenannte Widgets definiert werden, dies sind graphische Elemente mit einer bestimmten Funktionalität. An bestimmte Ereignisse können Kommandos 'gebunden' werden, d.h. ein Kommando wird z.B. ausgeführt, sobald ein Mauszeiger ein Feld betritt oder verläßt. TCL-Skripte sind (mit Einschränkungen) unabhängig vom Betriebssystem verwendbar. Mit der Unterstützung von Unicode und sockets sind sie praktisch zur Schaffung kleiner Tools mit guter Bedienoberfläche.
- label
- Widget zur Darstellung von Zeichenketten
- Nachteile
- langsam bei Berechnungen und umfangreichen Datenmengen
- Kommantare dürfen nur an Stelle eines Kommandos stehen, führt manchmal zur Verwirrung
- Quoten von Zeichen manchmal unübersichtlich
- Compiler teuer, Verstecken von Source-Code schwierig
- ODBC
- Zur Anbindung an ODBC-Datenbanken gibt es einen tclodbc-Treiber 2.2 für TCL 8.1, unter TCL 8.3 mit load tclodbc.dll ladbar. Anbindungen für Oracle, Excel, Access und diverse andere. BSD-type-License
- oratcl
- Zur Anbindung an Oracle-Datenbanken über die Net8-Treiberschicht gibt es eine ladbare Erweiterung oratcl 2.5 (2.6?) für TCL 8.x
- TCL
- steht für Tool Command Language, erfunden von John Ousterhout, damals bei Sun, inzwischen bei Scriptics. Wie alle Programmiersprachen hat sie Vorteile und Nachteile.
- TK
- ist das graphische Toolkit zu TCL, auch aus Perl heraus ansprechbar. Alle Widgets werden in einer Baumstruktur definiert, das erste Toplevel-Fenster heißt . (Punkt), weitere Fenster können mit dem Befehl toplevel definiert werden. In Fenster oder Frames eingebettete Widgets heißen dann z.B. .a und .a.button1 oder .a.button2.
- Versionen
- Aktuelle Version vom Februar 2000 ist TCL/TK 8.3.0. Von der Version TCL 7.6/TK 4.2 gab es einen großen Sprung auf Version TCL 8.0/TK 8.0. Ältere Versionen werden teilweise noch genutzt, da sie weniger Speicher benötigen.
- Vorteile
- Skriptsprache, d.h wird interpretiert. Code ist online erzeugbar
- Betriebssystemunabhängig, gleiches Skript läuft unter Linux, Mac, Solaris und Windows
- gute 'Glue-Language', d.h. zur Verbindung und Automatisierung von Vorgängen nutzbar
- als C-Bibliothek nutzbar und damit einbindbar in C-Programme die eine eingebettete Skriptsprache benötigen
- in C geschrieben, damit sind in C weitere Kommandos definierbar, etwa für zeitkritische Vorgänge
- Introspektion möglich, d.h. Kommandos können Information über ihre Argumente geben, Widgets über ihre Einstellungen und Einstellmöglichkeiten
- Socketkommandos und guter Webserver in TCL sind vorhanden
- Zeichen werden in Unicode gespeichert, Ein- und Ausgaben können leicht konvertiert werden
- Schaffung eigener Kommandos und Kontrollstrukturen möglich, damit gute Abbildung eines Problems
- Ausgabe von Zeichenfeldern als Postscript-Datei möglich
- Rapid Prototyping möglich
- kostenloser Wrapper für Linux und Windows verfügbar, damit einfache Weitergabe von Programmen
- kostenlos, steht unter BSD-Lizenz und ist damit auch kommerziell frei verwendbar, Programme lizenzfrei
- widget
- Widgets sind die graphischen Elemente von TK, die eine bestimmte GUI-Funktionalität haben, z.B. button, canvas, label, listbox, message, scale, scrollbar, text etc.
- wm
- window manager, dient zur Kontrolle des Aussehens und Verhaltens von Fenstern.
Liste vom Stand 16.03.2000 16:07 enthält 11 Einträge.
Copyright 2000-2002, Axel Nagelschmidt, nur zur internen Verwendung