Keksin vasta että INKEY$ osaa myös näppäinyhdistelmiä, ja kirjotin tällaisen simppelin ohjelman. Ei sinänsä mitään uutta, paitsi ehkä se idea että esim Ctrl + S toimii QBssä
'Tämä ohjelma yksinkertaisesti printtaa painetun INKEY$:n ascii-koodin 'Omaan ohjelmaan voi laittaa vaikka 'SELECT CASE INKEY$ ' CASE CHR$(24): Leikkaa ' CASE CHR$(3): Kopioi ' CASE CHR$(22): Liitä ' CASE CHR$(19): Tallenna ' CASE CHR$(15): Lataa ' jne... 'END SELECT 'ja noi ascii -koodit saa tällä ohjelmanpätkällä selville CLS LOCATE 25, 3: PRINT "Ihmemies McEronen Software Nappikuuntelu 2004" LOCATE 2 PRINT " Aika jännää..." PRINT "" PRINT " QBasicissa saa myös näppäinyhdistelmiä INKEY$ -funktiolla" PRINT " Vasen ja oikea Ctrl tai Alt eivät tee eroa, eikä Shiftillä" PRINT " voi leikkiä kuin kirjainten ja numeroiden kanssa, mutta" PRINT " silti..." PRINT "" PRINT " ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" PRINT "" PRINT " Paina nappeja, niin kerron mikä sen koodi on..." 'Kuunnellaan nappi DO: Btn$ = INKEY$: LOOP UNTIL LEN(Btn$) 'Pyyhitään napinpainelukehotus pois LOCATE 11, 4: PRINT SPACE$(47) 'Printataan painettu nappi COLOR 15: LOCATE 11, 4 SELECT CASE LEN(Btn$) CASE 1: PRINT "CHR$(" + LTRIM$(STR$(ASC(LEFT$(Btn$, 1)))) + ")" CASE 2: PRINT "CHR$(" + LTRIM$(STR$(ASC(LEFT$(Btn$, 1)))) + ") + CHR$(" + LTRIM$(STR$(ASC(RIGHT$(Btn$, 1)))) + ")" END SELECT COLOR 7: PRINT " " + CHR$(34) + Btn$ + CHR$(34); CLOSE : END: STOP: SYSTEM '� pelataan varman päälle :)
'Tämä on kanssa käyttökelpoinen lyhyt versio, jonka voi 'vaikka väliaikaisesti liittää oman ohjelman alkuun: 'CLS : PRINT "Paina nappia": DO: Btn$ = INKEY$: LOOP UNTIL LEN(Btn$): CLS : PRINT "CHR$(" + LTRIM$(STR$(ASC(LEFT$(Btn$, 1)))) + ") + CHR$(" + LTRIM$(STR$(ASC(RIGHT$(Btn$, 1)))) + ")": END
Joo, ihan hyvinhän tuo havainnollistaa. Ja kerrompa tässä vielä, että INKEY$ voi palauttaa myös useamman merkin. Sillä voi lukea nuolinäppäimiäkin, joita painettaessa INKEY$ palauttaa CHR$(0):lla alkavat kirjaimet M, K, H ja P.
Hyödykäs hommeli :P
se tossa ei ole loogista että esim ctrl + kirjaimen pituus on vain yksi merkki, kun taas deleten painaminen onkin sitten kaksimerkkinen INKEY$ (CHR$(0) + "S"). :p kurjaa
Aihe on jo aika vanha, joten et voi enää vastata siihen.