Terminal/Kommandozeile in Fenster einbinden (C++)

johnm

Grünschnabel
Hallo,

wie der Titel schon sagt, möchte ich eine Kommandozeile in ein C++ Fenster einbinden.

Das Fenster hat ein Menü, soll darunter eine Ausgabe-Fläche/Log bekommen, in der das Programm sein Output gibt, und am unteren Ende des Fensters eine Eingabezeile, durch die mit dem Programm kommuniziert werden kann.

Als Alternative reicht es schon, wenn es keine eigene Eingabezeile hat, sondern die Eingaben wie beim Terminal direkt "ins Log" gemacht werden (=Terminal), nur eben im eigenen Fenster mit Menü.

Mein Wissensstand: C-Erfahrung, und gerade dabei C++ zu lernen.
Kann mir jemand ein Code snippet oder ein Beispiel-Skript geben?

Vielen Dank im Voraus!

MfG
 
Hi und Willkommen bei tutorials.de,

prinzipiell brauchst du nur ein Textfeld, das bei Enterdruck eine Methode aufruft
(die es leert und den zuvor eingegebenen String verarbeitet).
Wie und womit kann nur beantwortet werden, wenn wir wissen, womit du das Fenster machst
 
Hallo und danke!

Ich habe bisher nur einen Beispielcode für ein Menü: http://winprog.org/tutorial/menus.html
Das Bild rechts oben ist mein erstes Ziel.

Von der Objektorientierung habe ich noch keine Ahnung. Bisher wiegesagt nur einfaches Input/Berechnung/Output mit C (und MQL4).

Wie bzw womit könnte ich das Fenster denn so machen?
 
Hallo,

ich denke sheel meint ein Framework mit dem du deine GUI (Fenster) erstellst, um den Output darzustellen.
Ich selbst habe sowas Ähnliches noch letzte Woche gemacht, allerdings mit Python und PyQt, daher kann ich dir kein fertiges Codebeispiel geben.

Allerdings kann ich dir sagen, dass du aus deinem Programm deine Befehle ausführen musst und deren Output (der normalerweise in stdout geschrieben wird) umleiten musst in... ja und hier kommt es an womit du arbeiten willst. Es ist Möglich in Variablen, Textfiles oder Objekte wie Textfelder zu schreiben.

Grüße Jennesta
 
Hi,

danke für den Hinweis. Darüber habe ich mir noch keine Gedanken gemacht, denn ich will noch nichts großes bauen, sondern erstmal nur ein Gefühl für die Arbeit mit einem eigenen Interface bekommen. Welches Framework, ist mir eigentlich egal.

Aber wenn ich mich auf eins festlegen muss, nehme ich einfach auch Qt.

Grüße
 
Ja, reiner Code wär mir erstmal lieber, wenn das auch geht.

Gibts eine pauschale Vorlage in der Richtung?
 
Also am einfachsten ist es, Du erstellst eine EditBox(Textfeld) in der man die Kommandozeile eingibt. Dann erstellst du noch eins, für den Verlauf, Aufforderungen, usw. Dieses machst Du dann genügend groß und deaktivierst es, damit man bei dieser EditBox nichts verändern/hineinschreiben kann.
Nun hast du eine Kommandozeile.

Code zu liefern ist momentan sinnlos, da Du Dir ja noch nicht ganz sicher bist welche API du verwenden willst.
 

Neue Beiträge

Zurück