Menues unter Dos ?
-
Hi zusammen ,
ich bin heute zum ersten Mal in diesem genialen Forum und hab auch eine Frage mitgebracht.
Ich möchte einige Dos Appz entwickeln, was auch ganz gut klappt, aber meine Menues sind sehr unschön und funktionieren nicht richtig.
Im Netz finde ich tonnenweise Tuts. wie code ich in C etc. aber Sachen über Menuesteuerung in der Console find ich überhaupt nicht.
Ich meine keine grafische GUI wie unter Windows sondern eigentlich nich textbasierte Abfrage :Drücken sie....
Geben Sie etc ein...
.
.
.Bei mir flackert das Menue immer sehr stark bzw. scrollt nach oben weg wenn man viele Eingaben macht !
Könnt Ihr mir da ein wenig helfen gibt es dazu Tutorials oder alte Sources (Source Forge ist klasse aber wenn man nicht weiß was man dort suchen soll ist man vereloren )die diese Thematik aufgreifen, ich würde auch Bücher kaufen wenn ihr da was kennt.Ich bin für jede Hilfe dankbar !
echt super nett von euch !
Euer duckler
-
duckler schrieb:
Ich meine keine grafische GUI wie unter Windows sondern eigentlich nich textbasierte Abfrage :
Dieser Satz ist irgendwie Unsinn, oder? Du schreibst, dass dein Menü nichts mit GUI zu tun haben soll. Im Anschluss daran steht aber auch, dass du kein textbasiertes System haben willst.
-
Hi RealC++ ,
ja stimmt, ich wollte mich so klar wie möglich ausdrücken und meine damit dass ich mich nicht auf Grafik im Sinne einer Windows GUI wie MFC oder so beziehe !
Könnt Ihr mir da helfen ?
Gruß
duckler
-
In dem Fall willst du vermutlich etwas in diser Art? -->[BILD]<--
Sowas macht zwar heute wenig Sinn (oder vielmehr überhaupt keinen...), aber vielleicht ja tortzdem Spass. Besonders schwer ist es zudem auch nicht, wenn du einfach hier "abschreibst": Improved Console, Console-Sektion der MSDN.
Dann habe ich dir auch noch ein kurzes Beispiel. Denn schliesslich gehöre ich auch zu denen die Spass an der Konsole haben, auch wenn die Programme wie hier oft nicht grossen Sinn machen.
#include <windows.h> #include <iostream> int main() { const WORD MENU_COLOR1 = BACKGROUND_GREEN|FOREGROUND_RED; const WORD MENU_COLOR2 = BACKGROUND_GREEN|BACKGROUND_INTENSITY|FOREGROUND_RED; const WORD STD_COLOR = FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE; SetConsoleTitleA("\"Pseudo-GUI\" - Hallo Welt!"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),MENU_COLOR1); std::cout<<" EXIT "; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),MENU_COLOR2); std::cout<<" PRINT "; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),MENU_COLOR1); std::cout<<" CLEAR "; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),STD_COLOR); std::cout<<std::endl; bool Exit=false; do { INPUT_RECORD IR; DWORD NOIR; ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE),&IR,1,&NOIR); if(IR.EventType&0x0002&&IR.Event.MouseEvent.dwButtonState&0x0001&&!IR.Event.MouseEvent.dwMousePosition.Y) { if(IR.Event.MouseEvent.dwMousePosition.X<=5) Exit=true; else if(IR.Event.MouseEvent.dwMousePosition.X>=6&&IR.Event.MouseEvent.dwMousePosition.X<=12) std::cout<<"Hallo Welt!\r"; else if(IR.Event.MouseEvent.dwMousePosition.X>=13&&IR.Event.MouseEvent.dwMousePosition.X<=19) std::cout<<" \r"; } } while(!Exit); }
-
Hi RealC++ ,
oh Mann, vielen, vielen Dank, genau das hab ich gesucht, suuuper, danke für die schnelle und effiziente Hilfe !
Ja der Spaß macht's, ich bin auch ständig auf der Suche nach Büchern / Tuts. die das Theme Console / Dos covern !
TMDC's find ich auch klasse !
Jedenfalls vielen Dank nochmal !
Viele Grüße
duckler
-
Sowas macht zwar heute wenig Sinn (oder vielmehr überhaupt keinen...)
Man sagt, dass der nächste Windows-Server auch ohne GUI laufen wird...
-
Hi ,
ich hab hier noch nen genialen Link bezüglich Dos programmierung gefunden !
http://www3.telus.net/alexander_russell/course/introduction.htm
Da ist nix sinnlos oder tot
Habt Ihr auch noch welche ?
Gruß
duckler
-
Wenn man beruecksichtigt, dass RealC++'s code ein Win32 Konsolenprogramm, kein DOS-Programm beschreibt, hoffe ich, dass du den Abschnitt "A Note on Compilers" deiner verlinkten Seite gelesen hast?
Siehe auch Unterschied: DOS/MS-DOS und Win32-Konsole in den FAQ.
Zwischen der Windows-Konsole und DOS liegt ein beachtlicher Unterschied: Das sind zwei komplett unterschiedliche Betriebssysteme.
Fuer die Win-Konsole wird auch heute gern programmiert, wenn man sich nicht mit komplexem GUI-Gebastel aufhalten will. DOS taugt dagegen eigentlich nur fuer nostalgische Spielerei oder hardwarenahe Experimente und ist ansonsten schon seit mindestens 15 Jahren "tot" (seit ca, 5 Jahren wird DOS immer haeufiger nicht mal mehr fuer BIOS-Updates benoetigt). DOS-Programme laufen auch seit Win2k nicht mehr nativ unter Windows, sondern nur in einem Emulator. Windows bringt die ntvdm mit, die die Konsole benutzt. Das ist ein Stueck Klump, der nicht zu viel mehr als "Hello World" zu gebrauchen ist.
-
Nobuo T schrieb:
Wenn man beruecksichtigt, dass RealC++'s code ein Win32 Konsolenprogramm, kein DOS-Programm beschreibt, [...]
Ich habe auch nie behauptet es sei für DOS. Der Code ist für die (Win32-)Konsole.
-
Hi Nobuo T ,
ähm ich glaube ich bin der Stein des Anstoßes weil ich Dos geschrieben habe.
Dos kommt für mich nur in frage wenn ich TMD's schreiben wollte und das wird noch ein wenig dauern, mangels Tuts leider .
Ich werd Dos aber trotzdem demnächst in einer VM installieren, die Geschwindigkeit sollte für TMD's reichen !Aber RealC++ hat mich da schon richtig verstanden und der Code den er mir geschrieben hat ist genau das was ich gesucht habe !
Natürlich ist Dos was ganz anderes als die Konsole, das nächste Mal pass ich besser auf was ich schreibe !!!
Gruß
duckler