Avatar billede mortenhest Nybegynder
05. juni 2003 - 16:41 Der er 8 kommentarer og
1 løsning

Escape skal bruges til at hoppe ud af menuer

Jeg har en undermenu hvor man bla. kan indtaste nogle brugerdata. Hvis man ombestemmer sig og ikke vil indtaste alle oplysninger skal det være muligt at trykke escape og så "ryge" en menu op.

jeg har prøvet noget i retning af:

while(getch()!='01b')
{

  //her indtastes data

}

men kan sgu ikke få det til at virke
Avatar billede arne_v Ekspert
05. juni 2003 - 16:45 #1
Prøv med:

while(getch()!= 0x1b)
Avatar billede arne_v Ekspert
05. juni 2003 - 16:46 #2
Eller:

while(getch()!= '\x1b')
Avatar billede mortenhest Nybegynder
05. juni 2003 - 16:52 #3
Hvis jeg laver følgende testprogram:

void main()
{
    while(getch()!= '\x1b')
    {
    cout<<"Det virker sgu"<<endl;
    }

    cout<<"saa er det slut";

    while(!_kbhit());
}

så skrives godt nok "så virker...."
men kun når jeg trykker på en vilk. tast...
Men den hopper da ud af løkken når jeg trykker escape, men hvorfor kommer der ikke en masse "couts" indtil jeg trykker escape??
Avatar billede arne_v Ekspert
05. juni 2003 - 16:56 #4
Jeg er ike helt sikker på at jeg forstå dig.

Men getch venter indtil der er læst et tegn.

Du kan bruge kbhit til at teste for om der er læst noget.
Avatar billede mortenhest Nybegynder
05. juni 2003 - 17:01 #5
jeg vil have at der skal skrives:
Det virker sgu
Det virker sgu
Det virker sgu
Det virker sgu......
osv osv

indtil jeg trykker på escape
Avatar billede arne_v Ekspert
05. juni 2003 - 17:02 #6
Ah !

Prøv med en konstruktion ligesom:

#include <iostream>

using namespace std;

#include <conio.h>

int main()
{
  do {
    while(!kbhit())
    {
        cout << "*";
    }
  } while(getch()!='\x1b');
  cout << endl;
}
Avatar billede arne_v Ekspert
05. juni 2003 - 17:04 #7
Ovenstående var for at teste det - noget af der er nok compiler specifikt.

Men konstruktionen er:

  do {
    while(!kbhit())
    {
        // udskriv
    }
  } while(getch()!='\x1b');
Avatar billede mortenhest Nybegynder
05. juni 2003 - 17:08 #8
kanon tak for hjælpen, jeg kom til afvise dit svar tidligere så du bliver vel nødt til at svare igen for at få point
Avatar billede arne_v Ekspert
05. juni 2003 - 17:09 #9
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester