Home / LinuxUser / 2000 / 06 / Einführung in Tcl/Tk, Teil 2

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Apache Open Office
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Die Kommandozeile wird selbstständig

Einführung in Tcl/Tk, Teil 2

01.06.2000 Nachdem Sie im ersten Teil dieses Programmierkurses einen ersten Einblick in den Umgang mit Tcl/Tk gewinnen konnten, werden Sie diesmal tiefer in die Strukturen von Tcl eintauchen. Die dabei gewonnenen Fähigkeiten können Sie dazu verwenden, Kommandozeilenprogrammen eine intuitivere, auf Ihre persönlichen Bedürfnisse zugeschnittene Benutzerschnittstelle zu spendieren.

Tcl/Tk, kurz gefasst

Die Programmiersprache Tcl/Tk besteht aus der leicht erlernbaren Programmiersprache Tcl und der Widget-LibraryTk. Tcl/Tk (ausgesprochen: "Tickel-Tikej") erlaubt unter anderem die höchst einfache und effiziente Programmierung von grafischen Benutzeroberflächen. Der Programmcode wird von einem Interpreterausgeführt, der für Linux, verschiedene andere Unixbetriebssysteme, Windows, MacOS und OS/2 verfügbar und freie Software ist.

Viele Programme unter Unix lassen sich wunderbar von der Kommandozeile aus bedienen, aber leider muss man sich dafür oft eine Menge merken und hat nach ein paar Tagen seine mühsam erlernten Kommandos schon wieder vergessen. Da kann es hilfreich sein, sich ein kleines Progrämmchen zu stricken, das interaktiv die gewünschten Einstellungen abfragt und die lästige Kommandozeile selbst zusammen baut.

Ein hervorragender Kandidat für ein solches vorgeschaltetes Frontend ist Povray, ein Programm zur Erzeugung photorealistischer Bilder [1,2]. Es ist sehr mächtig und beherrscht eine unübersehbare Anzahl von Optionen. Wer damit jedoch – wie ich – nur ab und zu selbst gestaltete 3D-Bilder erzeugt, hat jedesmal wieder seine liebe Not, heraus zu bekommen, wie Povray zu bedienen ist.

Im Dschungel der Optionen

Zwar hilft man povray weiter, trotzdem dauert es geraume Zeit, bis man selbst die allereinfachsten Optionen nachgeschlagen hat.

Wollen Sie Povray auffordern, Ihre Datei mit der Szenenbeschreibung zu rendern, so tun Sie das durch die Eingabe von

povray +Iszenenbeschreibungsdatei
 +Obilddatei

Falls Sie nicht die von Povray gewählte Bildgröße übernehmen, sondern eine andere festlegen möchten, können Sie das mit

povray +Iszenenbeschreibungsdatei
 +Obilddatei
 +Wbildbreite
 +Hbildhöhe

Das interaktive Zusammenstellen dieser Kommandozeile mit Hilfe von Tcl und die Übergabe an das Programm povray zum Rendern lernen Sie im heutigen Teil dieser Tcl-Einführung.

Am Anfang war der Interpreter

In Teil 1 [7] haben Sie den Interpreter für Tcl/Tk auf der Kommandozeile gestartet und ihm dann Ihre Programmdatei zur Ausführung übergeben. Diesmal geht es eleganter zu: Der Interpreter soll vom Programm selbst gestartet werden. Dazu geben Sie dem Betriebssystem, also dem Linux-Kernel, in der ersten Zeile Ihres Programmcodes den Auftrag.

Dies geht allerdings nicht so einfach wie in einem Terminal. Dort läuft nämlich schon ein Interpreter – unter Linux ist es im Regelfall die bash. Übergeben Sie ihr einen Befehl zur Ausführung, so sucht sie in ihrem Pfad, also in den ihr bekannten Verzeichnissen ausführbarer Programme, nach einem Programm mit dem Namen, den Sie eingegeben haben. Erst wenn sie alle Verzeichnisse durchsucht und immer noch nichts gefunden hat, wird sie eine Fehlermeldung ausgeben.

Der Betriebssystemkern hat diese Möglichkeit der Suche nach ausführbaren Programmen nicht. Er ist daher darauf angewiesen, dass Sie ihm die genaue Stelle des auszuführenden Programms angeben.

Da diesmal keine Fensterelemente wie Buttons u.a. benötigt werden, brauchen Sie Tk, die Widget-Library von Tcl/Tk nicht. Statt der wish aus Teil 1 können Sie deshalb direkt die Tcl-Shell tclsh (sprich: "Tickelschell"), den Interpreter für Ihre Tcl-Befehle, starten.

Um die genaue Schreibweise und den Fundort der tclsh zu ermitteln, tippen Sie am besten in einem Terminal

which tclsh

ein, wobei Sie tclsh gegebenenfalls durch einen genaueren Namen wie z.B. tclsh8.0 ersetzen müssen, je nachdem, wie Sie (oder Ihr Distributor) sie installiert haben.

Prüfen können Sie dies, indem Sie tclsh gefolgt von einem Doppeldruck auf die Tab(ulator)-Taste eingeben. Die Antwort der bash werden alle möglichen Befehle sein, die mit tclsh beginnen: Eventuell haben Sie verschiedene Versionen der tclsh installiert. Das erkennen Sie an unterschiedlichen Versionsnummern am Ende von tclsh. Die aktuelle Version ist 8.3, aber die Beispiele in diesem Text sind alle mit wesentlich älteren Tcl-Versionen wie z.B. tclsh7.4 lauffähig.

which gibt den genauen Pfad des danach stehenden Programms aus. War die Antwort auf which tclsh z.B. /usr/bin/tclsh, so lautet die erste Zeile Ihres Programms

#!/usr/bin/tclsh

Diese Zeile, die den Interpreter starten soll, schreiben Sie in eine Datei und speichern diese unter dem Namen poff.tcl (für "povray für Faule"). Die Dateiendung .tcl ist zwar nicht nötig, hilft Ihnen aber zu erkennen, dass es sich um ein von Tcl zu interpretierendes Programm handelt.

Um Ihre Datei in ein Programm zu verwandeln, müssen Sie sie ausführbar machen. Das erreichen Sie durch folgende Eingabe in einem Terminal:

chmod +x poff.tcl

Sie könnten poff.tcl jetzt starten, es täte allerdings nichts, außer den Interpreter aufzurufen und sofort wieder zu beenden. Geben Sie ihm also Futter.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1022 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 7 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 1 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 0 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...
OpenLDAP Replikation
Ludwig jun. B., 25.04.2012 14:04, 2 Antworten
Hallo, bis jetzt habe ich nur gering Erfahrung mit OpenLDAP. Doch ich muss mich da jetzt einar...