Archief - C-code - Arrow keys

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

mvp9

Legacy Member
Beste,

Mijn excusses mocht dit in het verkeerde forum staan.

Ik heb al even aan het googlen geweest maar vindt maar geen antwoord.
Ik zoek een manier om een te detecteren of er een left, right, up, down key gebruikt is, om te kunnen navigeren in een lijst.

Heb al enkele ANSII tabellen opgezocht, maar vindt deze toetsen er niet tussen. Iemand die mij een duwtje in de rug kan geven aub?

Met vriendelijke groeten,

MVP

killgore

Legacy Member
Beste dat je kan doen is systeembibliotheken opzoeken.

Maar simpelste als je de waarde van een toets wilt weten is het zelf schrijven:

char a;
cin >> a;
cout << (int)(a) << endl;

en typ in uw programma dan een pijltje in. Dnno of pijltjes een std ascii representatie hebben, lang geleden dat ik op dat niveau heb gewerkt, maar ik betwijfel het.

mvp9

Legacy Member
Dit is in C++.

Heb al een programma die de ansii waarden kan weergeven van een toets.
Echter is het voor de 4 pijltjes toetsen, dezelfde waarden. Het zal dus op een andere manier moeten.

stewie4ever

Legacy Member
Code:
#include <stdio.h>
#include <conio.h>

int main(void)
{
int key;
   while(1)
      {
           key = getch();

           printf("%d\n",key);
      }

return 0;
}

getch uit de conio geeft wel een waarde wanneer je op een cursor toets drukt ;)
hopelijk heeft dit iets geholpen.

mvp9

Legacy Member
Beste dit wist ik wel, ik gebruikte nl:

Code:
#include <conio.h>
#include <stdio.h>


int main( void )
{
     int ch;

        printf("Press a key: ");
        ch = getche();
        printf("\nKey ASCII value: %d\n", ch);


        return 0;
}

Hier geeft hij voor alle richtingen dezelfde waarde en hetzelfde teken.
nl. waarde: 224 en teken: à .

stewie4ever

Legacy Member
Is er dan gewoon niet iets mis met u conio.h of u keyboard?

design1

Legacy Member
Vraagj, hoort wel niet bij de vraag die effectief gesteld is maar is toch leuk om te weten vondek. De arrow keys hoe roep je die aan in C#? Kweet al hoe dat me lukt in java maar C# nog nie ontdekt.

Groeten

blackrabbit

Legacy Member
Een pijltjestoets bestaat eigenlijk uit 2 tekens: 1 die aangeeft dat een pijltjestoets aankomt, het 2e teken is de feitelijke richting. Vandaar dat ge bij de 4 pijltjestoetsen dezelfde waardes terugkrijgt: das gewoon dat 1e karakter.


Navigeren in een lijst => page up/down trouwens (die hebben wel unieke ascii karakters)

stewie4ever

Legacy Member
hoe komt dan dat de code bij mvp9 een andere output geeft dan bij mij ? De code is zo goed als hetzelfde :s

blackrabbit

Legacy Member
Geen idee, C is al heel lang geleden.
Ben laatste tijd bezig met Assembler en daar gebruik ik ook letter-toetsen (qsd) ipv pijltjes net omdat pijltjes moeilijker zijn :)

Anyway: getch<->getche? Of idd iets met de conio.h file (waar getch/getche blijkbaar uit moet komen?)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan