Von der Konsole zur Oberfläche
-
Hallo,
habe das Buch "Jetzt lerne ich C++" gelesen. Dort wird beschrieben wie man mit C++ Anwendungen schreibt die in der Konsole ausgeführt werden.
Z.B. bei einem Taschenrechner muss man die Zahlen per Hand eingeben.
Wie ist es nun möglich das ich aus der Konsolenanwendung eine Grafische mache, wo ich auf Zahlen klicken kann.
Ist das überhaupt so ohne weiteres möglich?
Habe was von MFC gelesen ist das, dass was ich meine und wenn ja kann ich mein Konsolenprogramm dann irgendwie da hinein importieren?
Ich verwende Visual C++ auf Emfpehlung eines Freundes.
Er hat mir auch das Buch Visual C++ 6 in 21 Tagen gegeben aber dort habe ich nur gesehen wie man mit der Mausprogrammiert.
-
Du brauchst eine C++-Bibliothek die grafische Funktonen/Klassen anbietet. Dein Buch beschreibt (zur Recht) erstmal nur die Standard-Bibliothek, damit man die C++-Grundlagen kann. Denn die Konzepte von GUIs sind etwas komplexer als von Konsolen.
Aber ich kann dir folgendes empfehlen:
http://www.kharchi.eu/wiki/doku.php?id=cpp:gui:basicsDann schau dich bitte hier um:
http://www.kharchi.eu/wiki/doku.php?id=cpp:gui:libsWenn du weitere GUI-Fragen hast, solltest du in das GUI-Unterforum gehen:
http://www.c-plusplus.net/forum/viewforum-var-f-is-51.html
-
-
Nimm das Buch und gib es deinem Freund zurück. Es ist hoffnungslos veraltet, genauso wie der Compiler den es beschreibt.
-
Die Programmierung für GUI, Maus & Co ist mit Standard-C++ nicht möglich, dazu brauchts ein GUI Framework, also z.B. MFC/WinAPI, wxWidgets, QT, ... Es gibt hier ein paar Unteroren die sich mit diesen Themen beschäftigen. Dort wirst du sicher Hilfe bekommen.
-
Grundsätzlich ist es möglich, deine Konsolenprogramme zu GUI-Programmen umzustricken. Am Besten trennst du dazu die Programmlogik von der Oberfläche. Google mal nach "MVC Modell".
-
-
Nun, einfach so kannst du nicht von Konsole auf GUI (Graphical User Interface - Grafische Benutzeroberfläche) wechseln, da sehr viel Code vorkompiliert werden muss. Wenn du ein bestehendes Konsolenprogramm in ein Windowsprogramm umändern willst, musst du das ganze Programm mit MFC oder API (oder andern Sachen, aber die beiden benutze ich am liebsten) neu schreiben und neue Konzepte erlernen, da die Jungs von Microsoft einigen wirre Ideen (und eine richtige Sauklaue bezüglich ihres Codes hatten.
Ausserdem ist Konsole ein anderes Konzept - MS-DOS basiert auf Konsole, die keine hohen Anforderung stellt. Aber für Windows oder andere Konzepte muss der Grafikmodus umgeschaltet werden, was meines Wissens nur in Assembler mit Interrupts geht, daher solltest du lieber mit den Werkzeugen arbeiten, die dir Microsoft in die Hände gibt - vorausgesetzt, du verwendest Microsoft Visual C++ als Compiler.
Ich empfehle dir "Visual C++ in 21 Tagen" von Davis Chapman. Ist zwar nicht gut zu lesen und der Autor ist ein Trottel, weil er Konzepte einbringt, die er nicht ausreichend erklärt und danach nie wieder anspricht, aber es gibt dir einen kleinen Überblickt. Ansonsten gibt es ein C/C++ Kompendium von Dirk Louis, dem ich mein gesamtes Wissen über C++ verdanke.
-
themonk schrieb:
Ich verwende Visual C++ auf Emfpehlung eines Freundes.
Er hat mir auch das Buch Visual C++ 6 in 21 Tagen gegeben aber dort habe ich nur gesehen wie man mit der Mausprogrammiert.Dein Freund halt leider keine Ahnung. Er empfiehlt dir ein Buch über VC++6, obwohl dieses deutlich über 10 Jahre alt ist. 10 Jahre sind eine Ewigkeit in der EDV. VC++6 behandelt nicht den C++-Standard nach ISO bzw. DIN. Du solltest dir wirklich ein aktuelles und gutes Grundlagenbuch kaufen. Eines von diesen ist empfehlenswert:
- C++ Primer
- C++-Einführung und professionelle Programmierung
- wenn Englisch für dich kein Problem ist: Programming -- Principles and Practice Using C++
Welchen Compiler/IDE verwendest du? Etwa auch VC++6? Weil der ist miserabel und versteht kein Standard-C++, da er über 10 Jahre alt ist.
Der wird auch von aktuellen GUI-Bibliotheken auch nicht mehr wirklich unterstützt.
-
Der aus dem Westen... schrieb:
Ich empfehle dir "Visual C++ in 21 Tagen" von Davis Chapman. Ist zwar nicht gut zu lesen und der Autor ist ein Trottel [...]
Na das ist mal eine Empfehlung!

-
Danke für die schnellen Antworten.
Welchen Compiler/IDE verwendest du?
Visual C++ 2008
Werde mich dann mal im GUI Forum umschauen
-
Was soll ich sagen?
Von irgendwoher muss ich ja meine Weisheit herkriegen, und da ich keine Lust habe, Geld auszugeben, muss ich in der Bibliothek meines Vertrauens nachschlagen.Eventuell kann ich dir noch das empfehlen: http://www.cpp-tutor.de
-
themonk schrieb:
Danke für die schnellen Antworten.
Welchen Compiler/IDE verwendest du?
Visual C++ 2008
Das ist i.O.!

-
themonk schrieb:
Danke für die schnellen Antworten.
Welchen Compiler/IDE verwendest du?
Visual C++ 2008
Werde mich dann mal im GUI Forum umschauenWenn du die kostenlose Express Edition nutzt, hast du die MFC übrigens nicht mit dabei, das wäre dann also keine Option für dich (reine WinAPI-Programme kannst du damit natürlich schreiben). Es gibt aber, wie schon erwähnt wurde, mehrere Alternativen.
-
Es gibt da noch eine kostenlose 90-Tage Testversion des Microsoft Visual C++ Professional Comilers. Dort hättest du auch die MFC-Unterstützung. Frag mich aber nicht, wo man die bekommt, am Besten, du googelst mal den oben genannten Begriff.
-
Wenn du die kostenlose Express Edition nutzt, hast du die MFC übrigens nicht mit dabei
Und ich habe schon gesucht wo ich das finde.
Um die Vollversion zu bekommen muss ich mich nur Registrieren oder muss ich auch irgendwo was Zahlen?Was sagt Ihr zu dem Buch: Visual C++ 2008 Kompendium von Dirk Louis
-
themonk schrieb:
Wenn du die kostenlose Express Edition nutzt, hast du die MFC übrigens nicht mit dabei
Und ich habe schon gesucht wo ich das finde.
Um die Vollversion zu bekommen muss ich mich nur Registrieren oder muss ich auch irgendwo was Zahlen?Die Express Edition ist kostenlos, alle andern (Standard, Professional, Team...) enthalten auch die MFC, die musst du aber bezahlen.
-
Das ist doch das Buch, dass ich dir empfohlen habe. Ein schöner dicker Wälzer, aber es steht wirklich sehr viel drin.
-
Falls du an einer 'Vollversion' vom VS interessiert bist, lies dir das mal durch:
http://blog.kalmbach-software.de/2008/04/04/just-upgrade-to-vs2008-even-without-an-existing-license/
-
Du brauchst doch als Anfänger nur die Vollversionen, wenn du auch die MFC benutzen willst.
Also stellst sich die Frage, ob du überhaupt die MFC benutzen willst? Es gibt ja schließlich auch kostenlose Alternativen zur MFC (spontan fällt mir wxWidgets ein). So das man locker mit der Express Edition auskommt. Zum Lernen und Einarbeiten in C++ und GUI-Bibliotheken voll ausreichend.
-
Ich würde dir auch empfehlen nicht auf MFC zu setzen, sondern eher bei einer betriebsystemunabhängingen Bibliothek anzufangen (wie z.B. GTK, QT, oder wxWidgets), denn die Konzepte der GUI programmierung lernst du egal mit welcher bibliothek, aber mit QT, GTK & co hast du noch den Vorteil, dass deine Programme sowohl auf Windows/Linux und Mac kompilieren kannst. Du kannst also jederzeit dein Betriebssystem ändern bzw. Leute mit einem anderen Betriebssystem können diene Programme ebenfalls nutzen.
Vor allen dingen wird die QT Bibliothek in letzter Zeit immer häufiger eingesetzt (zumindest habe ich dieses Gefühl) und es gibt diese Bibliothek sogar in einer Embedded-Version, sodass Programme teilweise sogar auf ein Handy o.ä. portiert werden können (das dauert aber vermutlich noch ein wenig, bis ein Handy schnell genug ist, um komplexe Programme darauf zu portieren)
-
Jocker16 schrieb:
(das dauert aber vermutlich noch ein wenig, bis ein Handy schnell genug ist, um komplexe Programme darauf zu portieren)
Na ja, wenn man sich die aktuellen Vorzeige-Handys mit 600MHz-CPU und 512 MB (iPhone und wie sie alle heißen) RAM ansieht, dauert es vielleicht doch nicht mehr so lange.

-
Ein Grund mehr, nicht auf MFC zu setzen

-
Gott, die MFC stinkt doch gewaltig, die Jungs von M$ wissen das und setzten nicht ohne Grund alles auf .NET.
