www.mikrocontroller.net

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


Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marol (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ahem (Gast)
Datum:

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

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahem schrieb:
> Dachte das wäre nur in C++ anzusprechen.

Geht auch, soweit ich weiß.

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.