Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
.Eestlane.
HV kasutaja

liitunud: 14.01.2006
|
16.06.2008 11:47:53
Kuidas c konsooliprogrammis nooltega valitavat esemet teha. |
|
|
Mitmetes konsooliprogrammides on tihtipeale võimalus midagi valida nooltega ja siis enterit vajutada, selle asemel et kasutaja peab sisestama y(es) või n(o) või a, b,c vms. Kuidas on seda võimalik teha?
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
mihkelv
HV kasutaja
liitunud: 25.02.2004
|
16.06.2008 11:54:55
|
|
|
Peab õiget teeki kasutama. Linuxil on selleks ncurses.
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
5 |
|
tagasi üles |
|
 |
Ohohh
Kreisi kasutaja

liitunud: 13.09.2003
|
16.06.2008 12:01:17
|
|
|
getchar
http://www.cplusplus.com/reference/clibrary/cstdio/getchar.html
Noole klahvi korral peaks tulema kaks jäjestikust baiti. Seda, mis need baidid täpselt on saad teada, kui teed mingi lihtsa programmi, mis trükib kõik getchariga vastu võetud baidi väärtused ekraanile.
Siis muudad mingi teksti värvi vastavalt sellele, kas vajutati üles või alla noolt.
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
 |
.Eestlane.
HV kasutaja

liitunud: 14.01.2006
|
16.06.2008 12:06:48
|
|
|
Tänan, mihkelv. Win32 üks võimalikest alternatiividest tundub olevat PDCurses.
Ning tänan, Ohohh, getchari puhul muidugi üksi on vähe, aga sa vist mõtlesidki, et kasutataks näiteks koos ncurses/PDCursesiga.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
qratman
HV kasutaja

liitunud: 25.11.2003
|
16.06.2008 21:21:02
|
|
|
Ohohh kirjutas: |
Noole klahvi korral peaks tulema kaks jäjestikust baiti. Seda, mis need baidid täpselt on saad teada, kui teed mingi lihtsa programmi, mis trükib kõik getchariga vastu võetud baidi väärtused ekraanile.
Siis muudad mingi teksti värvi vastavalt sellele, kas vajutati üles või alla noolt. |
Küsin vahele. Siis peaks umbes sellise progammiga olema võimalik ju välja lugeda noolte koodid aga selle programmiga käituvad noole klahvid kursori liigutajatena ja koodi siit ma küll välja ei loe. Samas tähtede ASCII koodi kuvab ilusti(kui neid char'ina vaadata) Kuidas saaks ikkagi noole klahvide koodid kätte?
#include "stdio.h"
int main(int argc, const char *argv[])
{
int alpha;
while(1)
{
alpha = getchar();
printf("%d", alpha);
if(alpha == 'q')
break;
}
return 0;
}
|
|
|
Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
27 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
16.06.2008 21:53:51
|
|
|
tsitaat: |
Samas tähtede ASCII koodi kuvab ilusti(kui neid char'ina vaadata) Kuidas saaks ikkagi noole klahvide koodid kätte? |
Vasakule 75
Paremale 77
Alla 80
Ülesse 72
Esc 27
Basicus käib asi selliselt:
DO
a$ = INKEY$: la = LEN(a$)
IF la = 2 THEN k = ASC(RIGHT$(a$, 1))
IF la = 1 THEN k = ASC(a$)
IF la = 0 THEN k = 0
IF k <> 0 THEN PRINT "kood"; k
LOOP UNTIL k = 27 |
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Ohohh
Kreisi kasutaja

liitunud: 13.09.2003
|
17.06.2008 08:53:38
|
|
|
qratman kirjutas: |
Ohohh kirjutas: |
Noole klahvi korral peaks tulema kaks jäjestikust baiti. Seda, mis need baidid täpselt on saad teada, kui teed mingi lihtsa programmi, mis trükib kõik getchariga vastu võetud baidi väärtused ekraanile.
Siis muudad mingi teksti värvi vastavalt sellele, kas vajutati üles või alla noolt. |
Küsin vahele. Siis peaks umbes sellise progammiga olema võimalik ju välja lugeda noolte koodid aga selle programmiga käituvad noole klahvid kursori liigutajatena ja koodi siit ma küll välja ei loe. Samas tähtede ASCII koodi kuvab ilusti(kui neid char'ina vaadata) Kuidas saaks ikkagi noole klahvide koodid kätte?
#include "stdio.h"
int main(int argc, const char *argv[])
{
int alpha;
while(1)
{
alpha = getchar();
printf("%d", alpha);
if(alpha == 'q')
break;
}
return 0;
}
|
|
Minu viga.
Kui mina ammustel aegadal taolisi asju tegin, siis kasutasin sellist asja nagu Borland c++ ja ilmselt kasutasin headerit nimega conio.h ( http://en.wikipedia.org/wiki/Conio.h ),
kus getchar ja getch, mis ei vajanud enteri vajutamist (minu arust olid olemas ka mingid funktsioonid kursori liigutamiseks. Turbo Pascalis vähemalt olid)
Ma ei tulnud selle pealegi, et gcc's neid standardi hulgas ei ole. Pead ikkagi mingeid lisa librarisid kasutama...
|
|
Kommentaarid: 6 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
6 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|