Forum: PC-Programmierung Moechte bitte ein paar Einstiegstips zu TCL/TK


von Ahem (Gast)


Lesenswert?

Ich will gerade in C ein Applikation auf Debian/Gnome schreiben, die ein 
paar Eingabefelder, einen Plot und zwei, drei grahpische Elemente haben 
soll.

Unter C scheint ja TCL/TK das Mittel der Wahl zu sein.
Ich habe nur im Moment Schwierigkeiten zu verstehen wie das genau läuft.

Zum einen kann man TCL-Scripte schreiben, die, falls gewünscht auch um 
C-Funktionen erweitert werden können, die man dann beim TCL registriert 
und dann in TCL aufrufen kann. Auf diese Weise will ich es nicht machen.
Es gibt im wesentlichen zwei Gründe dafür. 1. Sind die Ereignisse bei 
mir am meisten durch I/O auf der seriellen Schnittstelle ausgelöst. 2. 
Wäre es mir für die Dokumentation lieb, wenn das Ganze zumindest wie 
C-Code aussieht (auch wenn dann die Strings an Tcl_eval übergeben 
werden).

Zum anderen gibt es die Möglichkeit, wie zum Beispiel hier 
http://www.wellho.net/resources/ex.php4?item=t243/fullapp.c
ein C-Programm zu schreiben, in dem man einen TCL-Interpreter 
initialisiert und dem man dann mit Tcl_Eval () Kommandos gibt.

Verstehe ich es richtig, das ich theoretisch, Zeile für Zeile an 
Tcl_Eval () ein komplettes TCL-Script übergeben kann?

Und kann mir bitte jemand einen guten Link für diesen zweiten Weg 
nennen? Vielleicht auch ein paar Beispiele.
Leider finde sind die Beispiele und Erklärungen für den zweiten Weg 
extrem kurz gehalten wenn ich z.B. wiki.tcl.tk anschaue.

von Marol (Gast)


Lesenswert?

Warum willst du unbedingt C und Tcl/Tk mischen? Verwende doch C/C++ mit 
einem Window Toolkit wie GTK, QT, Wx oder ein anderes von den 
hunderttausenden. Du könntest natürlich auch gleich Tcl verwenden mit 
dem GUI-Aufsatz Tk.

von bob (Gast)


Lesenswert?

Nun TCL hat nicht wirklich das Aussehen von C-Code,

ein weitere Alternative wäre perl-tk zu benutzen.
Das kann man dann so aussehen lassen wie C-Code
und Tk funktioniert auch.

von Ahem (Gast)


Lesenswert?

>Warum willst du unbedingt C und Tcl/Tk mischen?

>1. Sind die Ereignisse bei mir am meisten durch I/O auf der seriellen 
>Schnittstelle ausgelöst.
>2. Wäre es mir für die Dokumentation lieb, wenn das Ganze zumindest wie
>C-Code aussieht (auch wenn dann die Strings an Tcl_eval übergeben
>werden).

>Verwende doch C/C++...
Nein. Ich will C verwenden.

>GTK, QT, Wx
Soweit ich sehen kann, alles mit C++ zu bedienen. Deswegen nicht. Irre 
ich mich?

>Du könntest natürlich auch gleich Tcl verwenden mit dem GUI-Aufsatz Tk.
Das will ich ja. Habe ich doch geschrieben. Oder meinst Du den ersten 
Fall?

von Ahem (Gast)


Lesenswert?

>Nun TCL hat nicht wirklich das Aussehen von C-Code,

Das habe ich auch nicht gesagt. Nur sind das dann C-Strings mit TCL/TK 
Kommandos drin.

>Wäre es mir für die Dokumentation lieb, wenn das Ganze zumindest wie
>C-Code aussieht (auch wenn dann die Strings an Tcl_eval übergeben
>werden).

>ein weitere Alternative wäre perl-tk zu benutzen.
>Das kann man dann so aussehen lassen wie C-Code
>und Tk funktioniert auch.
Nein. Es soll C sein.

von Ahem (Gast)


Lesenswert?

Was ist eigentlich mit Tcl_Library und Tk_Library. Geht das dann nicht 
ganz ohne Scripts?

von Mark B. (markbrandis)


Lesenswert?

Ahem schrieb:
>>GTK, QT, Wx
> Soweit ich sehen kann, alles mit C++ zu bedienen. Deswegen nicht. Irre
> ich mich?

Qt, wxWidgets: C++
GTK+: C

Wobei gerade für grafische Oberflächen OOP-Sprachen doch was Feines 
sind. GTK ist wohl so irgendwie halber objektorientiert mit C, naja ;-)
Aber für Deinen Einsatzzweck vielleicht genau das Richtige?

von Ahem (Gast)


Lesenswert?

Ja. Schaue mir gerade nochmal gtk+ an. Habe mich wohl zu früh durch das 
Wort "Hierarchie" ablenken lassen. Dachte das wäre nur in C++ 
anzusprechen.

von Stefan Salewski (Gast)


Lesenswert?

>Ja. Schaue mir gerade nochmal gtk+ an.

Direkt mit C zu verwenden, und mit Bindings zu C++, Java, Python, 
Ruby...
Für Grundlagen mit C ist das Buch von Andrew Krause recht gut.

von Mark B. (markbrandis)


Lesenswert?

Ahem schrieb:
> Dachte das wäre nur in C++ anzusprechen.

Geht auch, soweit ich weiß.

von zwieblum (Gast)


Lesenswert?

ich mach' grad eine gui in FLTK (C++) und den rest von dem teil in C. 
funktioniert sehr gut. ist für mich ein gangbarer weg, den gui-krempel 
zu kippen, wenn das teil auf einen uC kommt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.