Konsolenausgabe auf Bereich begrenzen



  • Hallo erstmal.
    Ich suche eine (wenn möglich nicht allzu komplizierte) Möglichkeit/Funktion, die Ein- und Ausgabe von Text auf einen festgelegten Bereich innerhalb der Konsole zu begrenzen, in dem man dann auch scrollen kann. Sozusagen eine Textbox für die Konsole.
    So in der Art wie in alten, konsolenbasierten Texteditoren wie WSEDIT(zu finden hier: http://www.dosware.de/home/download.htm). Da gibt es zwei feste Kopf- und eine feste Fußzeile, dazwischen der Eingabebereich mit Scroll-Funktion.

    Ich habe bereits versucht, etwas eigenes dieser Art zu schreiben:
    Dabei habe ich mir erst einmal ein Zeichenarray mit der Größe 80*1024 angelegt (80Zeichen pro Zeile möglich, insgesamt auf 1024Zeilen beschränkt).
    Über eine do{}while-Schleife habe ich dann mit getch() immer ein ASCII-Zeichen einlesen lassen, geschaut welches zeichen das ist, und dann jeweils an der passenden Stelle im Array eingesetzt.
    Mit den Pfeiltasten kann der Benutzer auch bereits (mehr oder weniger) scrollen, wobei bei mir hier auch eine Kopf- und eine Fußzeile existieren, die beide fest sind.
    Allerdings habe ich hier noch immer das Problem, dass das mit dem Scrollen nicht ganz funktioniert, wie ich es will. Jedoch ist dieses Problem nicht von Belang, da ich es schon fast gelöst habe und es auch bald schon lösen werde.
    Wenn erwünscht, werde ich auch meine Lösung hier posten, sobald sie fertig ist.

    Jedenfalls, obwohl ich schon eine eigene Lösung für mein Problem habe, die auch schon fast funktioniert, interessiert es mich doch (wie oben bereits erwähnt), ob es nicht irgend eine funktion oder möglichkeit gibt, Ein- und Ausgabe in der Konsole auf einen bestimmten Bereich zu beschränken, in dem man auch scrollen kann.
    Ich freue mich auf hilfreiche Beiträge Eurerseits und danke schon einmal für Eure Hilfe. 🙂



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Schau Dir mal pdcurses an...
    http://www.projectpluto.com/win32a.htm

    Oder eben andere ncurses Implementierungen für Windows...



  • Danke sehr für diese Antwort.
    Ich werde mich gleich mit pdcurses auseinandersetzen.



  • Mit curses kannst Du sogar Fenster machen und alles mögliche, was man sich so von einem "Fenstersystem" wünscht 😉



  • cool 😃
    Zwei Fragen hab ich aber doch noch:

    1.Kann es sein, dass man für pdcurses eine spezielle IDE bzw. einen speziellen Compiler benötigt?
    Weil, ich hab mir mal die Demos angeschaut, und mein Compiler hat mir da immer "Linker-Error" und "undefined References to..." oder so angezeigt.
    Ich benutze Dev-C++ von Bloodshed

    2.Wo finde ich ein deutsches Tutorial für pdcurses?
    Weil, wie bei 1. erwähnt, gehen die Demos nicht.
    Ich habe auch schon gegoogelt, aber nichts gefunden.



  • Du kennst aber die Konsolefunktionen der WinAPI?
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx
    Damit kannst Du das auch alles schön selbst machen, bestimmen, wo die Ausgaben hin kommen, und für Scrolling gibt es auch eine Funktion ...



  • Diese Variante wird für MingW und Visual Studio und noch einige andere Angeboten. Vielleicht gibt es auch noch eine für Dev-C++... weiß ich aber nicht...


Anmelden zum Antworten