Turbo C++, VCL GUI aber trotzdem Konsolenausgabe?

Lampe

Erfahrenes Mitglied
Hallo,

ich will meinen Schülern ein wenig C++ mitgeben. Wie kann ich denn in einer VCL Anwendung beim Klicken auf Schaltflächen oder sonstigen Aktionen auf der grafischen Oberfläche eine Art Debuginformation in ein Dos-Fenster schreiben?

So wie es aussieht öffnet sich kein Dos-Fenster. Einfache Ausgabe kann ich machen, aber wo werden diese bei Windows hingeschrieben?

Gruß
 
Hallo

ich kenne mich zwar mit dem Borland-Compiler nicht so aus aber wie were es wenn es einfach in eine Datei geschrieben wird?
Mit fopen, fclose, und fprintf sollte das schnell und einfach gehen.

Und kann man das Ganze nicht einfach als Konsolen-Anwendung erstellen und trotzdem das GUI laden?
So würde ich es spontan machen wenn ich umbedingt eine Konsole brauche und ein GUI.

Gruß Anfänger
 
Hallo,

leider habe ich momentan Turbo C++ nicht zur Hand. Folgende Idee hätte ich jedoch. Versuch mal folgendes:

In deiner Project.cpp also der Quellcodedatei des Projekts müsste sich irgendwo eine Main-Member Funktion befinden, also static int main ... oder so ähnlich. Das ist ja der Einspringpunkt an dem das Programm startet. Wenn du hier eine Ausgabe gemäß stdout machst also zum Beispiel printf() dann könnte die Standardausgabe noch auf die Konsole umgeleitet sein. Wenn du das Programm aus der Konsole startest, dann könntest du den Text sehen. Wenn nicht, musst du erst mal schauen, das die Standardausgabe wieder auf die Konsole geleitet wird. Dazu einfach die ANSI C Dokumentation zum Thema Ausgabe konsultieren. Was sicherlich schwierig wird ist eine Konsole aus dem Programm selbst zu öffnen und dann die Ausgabe hierhin umzuleiten. Das ist unter Windows glaube ich kaum machbar, weil die API diese Funktionalität einfach nicht mitbringt. Versuch mal das Programm aus der Konsole zu starten und dann ne Ausgabe hinzubekommen.

Gruß stephsto
 
Hi.
Was sicherlich schwierig wird ist eine Konsole aus dem Programm selbst zu öffnen und dann die Ausgabe hierhin umzuleiten. Das ist unter Windows glaube ich kaum machbar, weil die API diese Funktionalität einfach nicht mitbringt.
Naja, seit Windows 2000 gibt es die AllocConsole Funktion, die genau das tut. Standardmäßig haben Windows Applikationen keine Konsole und die Std. IO Streams sind nicht verbunden.

Gruß
 
Zurück