Vorhandene Konsolenanwendung um eine grafische Oberfläche erweitern "Suche HILFE"



  • Hallo,

    ich habe ein Programm geschrieben (cpp) das soweit macht was es soll, nun möchte ich dieses Programm gerne mit grafische Oberfläche zum Anwenden erweitern.

    Da ich mit Windows Form Applikationen noch nichts gemacht habe würde ich gerne hier um euren Rat bitten.

    Meine Fragen:

    1: Wirt ein Windows Form Programm getrennt von dem Programm was ich jetzt schon habe geschrieben und es werden Schnittstellen für die Belegung der Variablen (momentan mit Konsoleneingabe)geschaffen oder wird der Code von dem aktuellen Programm in den Code des Windows Form Programms eingebunden.

    2: Oder habe ich da generell andere Möglichkeiten mein Ziel zu erreichen also nicht mit Windows Form... gibt es da was geschickteres als Lösungsansatz?

    Ich hoffe ihr habt Nachsicht bezüglich meine Unwissenheit und könnt mir da weiterhelfen.

    vielen Dank jetzt schon mal.



  • Die Fragen könnte man jetzt einfach mit 2 mal JA beantworten oder auch einen Roman dazu schreiben. Ich versuche mal was dazwischen 😉

    1. falsches Forum, die Frage hat nichts mit C++ an sich zu tun

    2. Windows Forms ist AFAIK out, der Nachfolger ist Windows Presentation Foundation. Keine Ahnung, ob das auch schon wieder von etwas neuem abgelöst wurde.

    3. Wenn du nicht nur etwas für Windows machen möchtest, bieten sich Bibliotheken an, die auf verschiedenen Betriebssystemen laufen: Qt, GNOME, wxWidgets, KDE ...

    4. Wie du das ganze zusammenbaust, ist natürlich eine Frage des Programmdesigns. Grundsätzlich bietet es sich an, die eigentliche Logik von dem Teil zu trennen, der mit dem Benutzer spricht. Das kann z.B. in Form von DLLs geschehen. Dann kann man den Logikteil mal mit GUI und mal mit Kommandozeile betreiben.



    1. Windows Forms ist AFAIK out, der Nachfolger ist Windows Presentation Foundation. Keine Ahnung, ob das auch schon wieder von etwas neuem abgelöst wurde.

    wenn sich die beiden überhaupt mit Standard C++ nutzen lassen - eher doch nur mit C++/CLI (.Net-Variante von C++) oder C++/CX (noch so eine C++ Variante von Microsoft)

    Das kann z.B. in Form von DLLs geschehen. Dann kann man den Logikteil mal mit GUI und mal mit Kommandozeile betreiben.

    er kann den Logikteil doch auch problemlos ohne DLL sauber von seinem GUI/Consolen-Code trennen - im Programm selbst oder auch mit einer Lib



  • Wenn Du das nicht professionell machen musst: Eine einfache und kostenfreie Möglichkeit ist die Nutzung der MFC mittels MS VS 2015 Community. Da hast Du alles in einer IDE zur Hand. Tutorials und Code gibt es massenweise. Du verwendest dann nur ein System, das schon über 15 Jahre alt ist. C/C++ ist aber schon älter. Hauptsache, es funktioniert und Du verstehst es. Hilfe bekommst Du im Subforum MFC. Ansonsten wohl eher C# und .NET. Diese Grundsatzdiskussion mit C++ und grafischer Oberfläche läuft seit min. 15 Jahren sehr unbefriedigend aus Sicht eines Einsteigers.



  • Hey Leute vielen dank für eure Denkanstöße ! 👍 👍 👍

    Ich werde mich jetzt mal mit dem MFC auseinandersetzten und hoffe es führt zum erfolg 🙂



  • Zur MFC hätte ich einen Einwand! Spar Dir ggf. Frust und schau Dir lieber modernere Gui-Bibliotheken an.
    manni66 hat schon einige genannt (Qt und wxWidgets habe ein Forum unter "Frameworks/Andere GUIs - Qt, GTK+, wxWidgets").



  • Also ich habe jetzt etwas rumgelesen und mir erscheint das GTK für mich die angenehmste art ist sowas zu programmieren.

    Jetzt versuche ich GTK in mein Visual Studio 2015 cpp Projekt einzubinden scheitere da allerdings an der Umsetzung

    Ich bin dieser Anleitung gefolgt :

    "www.stackoverflow.com/questions/15906580/how-to-configure-gtk-on-visual-studio-2010"

    Kennt sich jemand damit aus und kann mir sagen ob das so Funktionieren muss oder hat jemand eine alternative Anleitung?

    Ich bekomme den Fehler das die gtk.h nicht gefunden wird wobei ich mir ziemlich sicher bin die ist da wo sie liegen soll und er müsste sie sehen...



  • Für jemanden der das gleiche Problem haben wird...

    https://www.c-plusplus.net/forum/162554-full

    https://www.proggen.org/doku.php?id=c:tutorial:libraries:visualstudio

    mit der Kombination aus den 3 habe ich es zum laufen bekommen muss jetzt erstmal ausmisten...

    ES funktioniert zumintes das kann ich sagen!



  • Helmut.Jakoby schrieb:

    Zur MFC hätte ich einen Einwand! Spar Dir ggf. Frust und schau Dir lieber modernere Gui-Bibliotheken an.
    manni66 hat schon einige genannt (Qt und wxWidgets habe ein Forum unter "Frameworks/Andere GUIs - Qt, GTK+, wxWidgets").

    Ich glaube du hast nicht verstanden was das Wort Einwand bedeutet. Oder schreibst du absichtlich du hättest einen Einwand, teilst uns diesen in Folge dann aber nicht mit?



  • hustbaer schrieb:

    Helmut.Jakoby schrieb:

    Zur MFC hätte ich einen Einwand! Spar Dir ggf. Frust und schau Dir lieber modernere Gui-Bibliotheken an.
    manni66 hat schon einige genannt (Qt und wxWidgets habe ein Forum unter "Frameworks/Andere GUIs - Qt, GTK+, wxWidgets").

    Ich glaube du hast nicht verstanden was das Wort Einwand bedeutet. Oder schreibst du absichtlich du hättest einen Einwand, teilst uns diesen in Folge dann aber nicht mit?

    Vielen Vielen dank für diesen überaus hilfreichen Beitrag du hast hier damit jedem weitergeholt !



  • Hallo hustbaer,
    http://www.duden.de/rechtschreibung/Einwand
    https://de.wiktionary.org/wiki/Einwand
    http://richtiges_gutes_de.deacademic.com/616/Einwand___Einwendung

    Danke für die Belehrung
    https://de.wiktionary.org/wiki/Belehrung
    http://www.duden.de/rechtschreibung/Belehrung

    Gruß Helmut 😉



  • Mir fehlt immer noch die Information was jetzt der Einwand ist.

    Ich habe meinen Beitrag ja schliesslich nicht bloss geschrieben weil hier ein Wort mMn. falsch verwendet wurde. Sondern weil ich damit darauf hinweisen wollte dass es mMn. nicht sehr sinnvoll ist zu schreiben dass man X besser nicht verwenden sollte, ohne dann auch nur ansatzweise den Versuch einer Erklärung dazuzuschreiben warum man X nicht verwenden sollte.

    Scheint als ob so subtile Botschaften nicht bei jedem ankommen.
    Hmmm...


Log in to reply