Jimbo Geschrieben 6. Dezember 2001 Geschrieben 6. Dezember 2001 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 Zitieren
DBO Geschrieben 7. Dezember 2001 Geschrieben 7. Dezember 2001 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> Zitieren
gugelhupf Geschrieben 7. Dezember 2001 Geschrieben 7. Dezember 2001 Oder vielleicht gehts auch so: { do { bla, bla, sülz } while (!kbhit () && getch()!=13); 13 für Enter , oder für irgendwas anderes halt... Zitieren
Poldi Geschrieben 7. Dezember 2001 Geschrieben 7. Dezember 2001 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; } } Zitieren
Cleo Geschrieben 8. Dezember 2001 Geschrieben 8. Dezember 2001 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 Zitieren
Jimbo Geschrieben 8. Dezember 2001 Autor Geschrieben 8. Dezember 2001 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.