Veröffentlicht 6. Dezember 200123 j Tachos, also ich habe mir mal ein kleines Programm auf Dos-Box Basis gebastelt. Das Programm enthält eine do-while Schleife Jetzt soll die Schleife solange durchlaufen werden bis ein Tastaturbefehl gegeben wird. Sieht im Aufbau ungefähr so aus: { do { bla, bla, sülz } while (!kbhit ()); Die Schleife läuft auch so wie sie soll.Jetzt soll das Programm aber durch die Eingabe von x oder einer Funktionstaste wie Esc beendet werden. Kann ich dem kbhit einen Wert zuweisen, do dass die Schleife solange abgearbeitet wird bis z.b. Esc gedrückt wird??? mfg Jimbo
7. Dezember 200123 j Meiner meinung nach müsste es folgendermaßen gehen: bEndeSchleife = FALSE; do { bla, bla, sülz if(kbhit ()); { if('x' == _getch()) bEndeSchleife = TRUE; } } while (bEndeSchleife != TRUE); kann sein das ich mich irgendwo a weng verhaut hab...hatte aber net die Zeit alles nach zu prüfen... auf jeden Fall kannst du dir mit Hilfe der Funktion _getch() den Buchstaben/Taste aus den Buffer auslesen! <FONT COLOR="#a62a2a" SIZE="1">[ 07. Dezember 2001 07:56: Beitrag 2 mal editiert, zuletzt von NewNuke ]</font>
7. Dezember 200123 j Oder vielleicht gehts auch so: { do { bla, bla, sülz } while (!kbhit () && getch()!=13); 13 für Enter , oder für irgendwas anderes halt...
7. Dezember 200123 j du weißt aber, daß kbhit() eine funktion ist, der du nicht einfach einen wert zuweisen kannst, oder? ... du könntest natürlich in der funktion kbhit() einen wert von tastatur einlesen lassen, und wenn eine der tasten gedrückt wird, mit der du rausspringen willst, kannst du einen bestimmten wert zurückgeben ... beispiel: void main() { do { bla; } while (kbhit!=0); } int kbhit() { // wert von tastatur einlesen // if (eingelesener wert = escape oder so) { return 0; } return 1; } }
8. Dezember 200123 j lass das mit dem kbhit () doch weg soweit ich das noch weis müsste es mit do { blah und blub } while a == getchar(); oder so ähnlich schau doch mal in der hilfe nach getchar
8. Dezember 200123 j Jo jetzt habe ich erstmal ein paar ideen an denen ich mir weiter die zähne ausbeissen kann. besten dank für die antworten. mfg Jimbo
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.