www.mikrocontroller.net

Forum: Compiler & IDEs Textausgabe in Window mit GCC


Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle,

welches System kann man für eine Einfache Textausgabe in ein Fenster 
verwenden?

Für einfache Testprogramme, die in der console laufen, kann ich einfach 
printf ... benutzen.

Welche einfache Möglichkeit gibt es, den Text in ein Fenster auszugeben?

Es gibt verschiedene GUI-Klassenlibraries wie z.B. QT, WxWidgets ..
Die Einarbeitung in eines dieser System scheint mir aber ziemlich 
aufwendig.

Danke für die Hilfe,
chris

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris schrieb:

> Es gibt verschiedene GUI-Klassenlibraries wie z.B. QT, WxWidgets ..
> Die Einarbeitung in eines dieser System scheint mir aber ziemlich
> aufwendig.

Wird dir aber kaum was anderes übrig bleiben, das "Hello world" in
einem Fensterladen (egal, ob der nun von Winzigweich oder vom MIT
kommt) ist nun einmal nicht mehr in einer Zeile Code abzuhandeln.

Allerdings dürfte ein Template für eine simple Applikation, die nur
einen Bereich besitzt, in dem man Text abladen kann, relativ schnell
gezimmert sein.  Je nach Toolkit gibt's dafür noch Hilfswerkzeuge,
die dir ein Gerippe für sowas zimmern.

Du musst allerdings prinzipiell umdenken.  Fensterläden wollen
regelmäßig bedient werden, damit sie ihre eigenen Hausaufgaben
erledigt bekommen (dazu gehört minimal die Reaktion auf Anforderungen
von außen, bestimmte Teile der Applikation neu zu zeichnen, weil
bspw. bislang ein Fenster davor war, jetzt aber dort was dargestellt
werden muss).  Damit kann deine eigentliche Applikation nicht mehr
die ganze Zeit im Vordergrund beliebig über die Resource CPU
verfügen.  Entweder musst du die Vordergrundaufgabe in kleine
Häppchen einteilen und zwischendrin den Fensterladen fragen, ob er
auch was zu tun hätte, oder aber du musst dich mit Multithreading
vertraut machen.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du musst allerdings prinzipiell umdenken.  Fensterläden wollen
>regelmäßig bedient werden, damit sie ihre eigenen Hausaufgaben
>erledigt bekommen

Das Problem ist: Ich will nicht umdenken. Alle Templates, die ich so 
sehe, erfordern einen ziemlichen Einarbeitungsaufwand. Ich verstehe 
nicht, warum nicht mal jemand ein Fensterchen gemacht hat, bei dem des 
Textausgabe und eine Tastatureingabe gibt, die man mit putchar und 
getchar ansprechen kann und vielleicht sogar noch den Cursor 
postionieren kann.

Autor: P. S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris schrieb:

> Das Problem ist: Ich will nicht umdenken. Alle Templates, die ich so
> sehe, erfordern einen ziemlichen Einarbeitungsaufwand. Ich verstehe
> nicht, warum nicht mal jemand ein Fensterchen gemacht hat, ...

Klar, wer nicht denken will, versteht nix. Irgendwie logisch.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris schrieb:
> Ich verstehe
> nicht, warum nicht mal jemand ein Fensterchen gemacht hat, bei dem des
> Textausgabe und eine Tastatureingabe gibt, die man mit putchar und
> getchar ansprechen kann und vielleicht sogar noch den Cursor
> postionieren kann.

Du könntest Dir z.B. mal AutoIt anschauen: 
http://www.autoitscript.com/autoit3/

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
chris schrieb:

> Ich verstehe
> nicht, warum nicht mal jemand ein Fensterchen gemacht hat, bei dem des
> Textausgabe und eine Tastatureingabe gibt, die man mit putchar und
> getchar ansprechen kann und vielleicht sogar noch den Cursor
> postionieren kann.

Weil das keine große ,,Kundschaft'' hat.

Das, was du willst, ist eigentlich schon mit einem Terminalemulator
am besten abgedeckt.  Dein Pech, dass ebendieser Emulator unter
Windows (oft ,,DOS-Fenster'' genannt, obwohl da schon lange nichts
mehr von MS-DOS dabei ist) wohl eher zu den stiefmütterlich
gepflegten Teilen von MS Windows gehört.  Die Emulatoren der Unix-
Welt haben da auch in den letzten Jahren schon etwas mehr an
Pflege erlebt, und zusammen mit sowas wie Curses als API kann man
mehr oder minder brauchbare zeichenbasierte Applikationen zimmern.
(Wie viel Pflege da mittlerweile drin steckt, merkt man dann, wenn
man mal den w3m mit Unterstützung zur Darstellung von Bildern erlebt
hat: da läuft ein eigentlich textorientierter Webbrowser in einem
xterm und rendert dir fröhlich all die normalen Bilder der Webseiten
mit in das Fenster, reagiert auf Mausklicks etc.)

Wenn man eine richtige Applikation machen will, braucht man ganz
schnell viel mehr als das:

. Menüs
. copy&paste
. Container, um verschiedene Teile anordnen zu können

Einen brauchbaren Kompromiss stellen für viele Fälle irgendwelche
GUI-Einbindungen in Scriptsprachen dar, angefangen bei Tcl/Tk als
der ältesten ihrer Art.

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du könntest Dir z.B. mal AutoIt anschauen:
>http://www.autoitscript.com/autoit3/

Das macht keinen schlechten Eindruck. Aber ich befürchte, damit kann ich 
das Problem der Textausgabe nicht lösen. Mein Programm gibt ja ständig 
per printf Zeichen aus und diese sollen synchron dargestellt werden.

>Das, was du willst, ist eigentlich schon mit einem Terminalemulator
>am besten abgedeckt.

Da hast Du völlig recht. Mit dem Linux Terminal ( console ) bin ich 
völlig zufrieden. Dort kann ich per "Escape Sequenz" den Cursor 
positionieren und die Schrift einfärben.

Mein kleines Projekchen ist den Propeller Emulator auf den PC zu 
portieren:

http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=76

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich benutze für den "Hausgebrauch" immernoch das alte GTK1, da das noch 
relativ unkompliziert auch ohne C++ nutzbar ist. Damit das Ganze auch 
auf Rechnern ohne die entsprechenden Libs läuft, kann man GTK und GLIB 
auch einfach statisch dazulinken.

Gruß Jörg

Autor: Mario Grafe (mario)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann FLTK empfehlen (http://www.fltk.org). Dies ist ein 
Fenster-Tool, welches sich sehr einfach (auch für C-Programmierer) 
programmieren lässt.

Das Tutorial ist sehr sehenswert: 
http://seriss.com/people/erco/fltk-videos/

Einfach zurücklehnen und anschauen...

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.