Konsolenprogramm mit Menü und Fenster?



  • Hallo!

    Ich programmiere noch nicht sehr lange mit C++ und bis jetzt hatte ich nur Progrämmchen für die Konsole geschrieben. Doch langsam finde ich sie langweilig. Ich möchte sie gerne etwas verbessern, ich dachte da so an Menüs und Fenster wie beim guten alten Norten Commander oder wie dieses QBasic es gemacht hatte. Eine Unterstützung für die Maus muss nicht sein, wäre aber ein Pluspunkt 🙂

    So nun die Frage: hat jemand einen Tip wo ich was darüber nachlesen kann? Und nach was suche ich eigentlich? Ich dachte eigentlich, dass man solch Menüs und Fesnter GUI nennt, doch als ich dann SEAL entdeckte, kamm mir der Gedanke, dass es vielleicht etwas zu viel für mich ist 😞

    Würde mich über den ein oder anderen Tip/URL freuen 😃

    So dann mal ne gute Nacht und nen schönen Sonntag

    Ralph



  • Bei SEAL ist ausserdem noch das Problem, dass es für DOS geschrieben ist und damit auch nicht in der Win32-Konsole funktionieren kann. Generell wirst Du, wenn Du bei bei Konsolen-Programmen bleibst, auf jegliche Art von Pixel-Grafik verzichten müssen.
    Sachen wie der alte Norton-Commander oder z.B. der Installer vieler alter DOS-Spiele, also Programme, die nur auf "Text-Grafik" zurückgreifen, sollte allerdings tatsächlich (zumindest in einem gewissen Rahmen) möglich sein. Zumindest versuche ich gerade selbst, mir eine entsprechende Klasse mithilfe von ein paar WinAPI-Funktionen zu basteln.
    Was es für fertige Lösungen gibt, weiss ich leider nicht, aber Du könntest z.B. mal recherchieren, ob es einen Windows-Port von "ncurses" gibt.



  • also ich hab noch mal ein wenig gegoogelt:

    Auf http://www.stefanbion.de/dosprogs/ habe ich ein "Einfaches Menü-System für C-Programme" am Ende der Seite gefunden, sieht soweit schon nicht schlecht aus. Gleich darunter kam dann aber noch das "SAA-Window-Toolbox für Assembler", leider für Assembler, es wäre sonst genau das, was ich wollte. Ich hab dann aber mal nach SAA und C++ gegoogelt und "DFLAT" bzw. "D-FLAT" gefunden, welches von sich behauptet: "SAA-compatible windowing LIB w/C source". Unter anderm hier zu finden http://www.bookcase.com/library/software/msdos.devel.lang.c.html bzw. hier http://www.programmersheaven.com/d/click.aspx?ID=F15308. Dies hab ich aber leider noch net probiert und ein Demo ist auch net mit dabei. Dann hab ich aber noch "cxl52" gefunden. Hier ist ein Demo mit dabei und dies sieht nicht schlecht aus, es ist unter anderm hier zu finden http://www.eunet.bg/simtel.net/msdos/c.html.

    Ralph



  • Nur aus reinem Interesse, weil ich es das noch nicht ganz durchschaut habe: Willst Du echte DOS-Programme schreiben, oder Programme für die WIndows-Konsole?



  • Nein also es werden Programme für die Konsole (Windows). Und dies CXL läuft damit auch, einziges Problem, ich muss es auch "auf der Konsole" programmieren. Mein Borland C++ Builder 5 unter Win2000 macht Probleme damit, wenn ich dann aber den Borland C++ 3.1 für Dos zum Programmieren nehm (unter dem Dos von Win2000), dann läuft es.

    Auch und von wollen kann keine Rede sein, ich muss 😞
    Ich geh abends zur Schule und lern dort unter anderem das Programmieren, hier eben C++ und wir sind da noch net so weit, Graphische Oberflächen und OOP beginnen wir erst im Sommer und bis dahin programmieren wir kleine Konsolenprogrämmchen und immer dieses "Menü" wähle 1.. 2... 3... 4... ist mir mit der Zeit zu langweilig

    Ralph



  • Asgard schrieb:

    ...aber Du könntest z.B. mal recherchieren, ob es einen Windows-Port von "ncurses" gibt.

    ääähm ja es gibt was ähnliches, nennt sich pdcurses http://pdcurses.sourceforge.net/

    Ralph



  • ich würde unter windows die windows konsolenapi nehmen.
    link dazu in dem konsolenfaq. beispielanwendung von marcus auch dort zu finden.

    man kann maus einbinden, und ist auch sonst gut dabei.

    statt die ncurses für windows zu suchen, nehme ich lieber, wenn es dos pur sein soll, den djgpp, und die mitgelieferte umfangreiche conio.h (die einiges in sich birgt beim djgpp)

    reicht für einen norton commander aus.


Anmelden zum Antworten