Пример.
10 A$=INKEY$ 20 IF A$="" THEN 10 30 PRINT ASC(A$):GOTO 10
Код | Клавиша(и) | Код | Клавиша(и) | Код | Клавиша(и) | ||
---|---|---|---|---|---|---|---|
0 | CTRL+@ | 13 | CTRL+M | 27 | CTRL+[ | ||
1 | CTRL+Alt | Ввод ⏎ | ESC | ||||
2 | CTRL+B | 14 | CTRL+N | 28 | CTRL+\ | ||
3 | CTRL+Ctrl | 15 | CTRL+O | CTRL+SHIFT+> | |||
4 | CTRL+D | 16 | CTRL+P | SHIFT+\+> | |||
5 | CTRL+E | 17 | CTRL+Q | CTRL+~ | |||
6 | CTRL+F | 18 | CTRL+R | → | |||
7 | CTRL+G | INS | 29 | CTRL+] | |||
8 | CTRL+H | 19 | CTRL+S | ← | |||
BS | 20 | CTRL+T | 30 | CTRL+SHIFT+^ | |||
9 | CTRL+I | 21 | CTRL+U | CTRL+SHIFT+~ | |||
TAB | 22 | CTRL+V | ↑ | ||||
10 | CTRL+J | 23 | CTRL+W | 31 | CTRL+SHIFT+= | ||
11 | CTRL+K | 24 | CTRL+X | ↓ | |||
CLS/HOME | SELECT | 32 | Пробел | ||||
12 | CTRL+L | 25 | CTRL+Y | 127 | DEL | ||
SHIFT+CLS/HOME | 26 | CTRL+Z |
Пример.
10 FOR K=&H20 TO &HFF:? CHR$(K);"";K:NEXT K
Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
33 | ! | 38 | & | 43 | + | 48 | 0 | 53 | 5 | 58 | : | ||||||||
34 | « | 39 | ' | 44 | , | 49 | 1 | 54 | 6 | 59 | ; | ||||||||
35 | # | 40 | ( | 45 | - | 50 | 2 | 55 | 7 | 60 | < | ||||||||
36 | $ | 41 | ) | 46 | . | 51 | 3 | 56 | 8 | 61 | = | ||||||||
37 | % | 42 | * | 47 | / | 52 | 4 | 57 | 9 | 62 | > | 63 | ? | ||||||
64 | @ | 73 | I | 82 | R | 91 | [ | 105 | i | 114 | r | ||||||||
65 | A | 74 | J | 83 | S | 92 | \ | 97 | a | 106 | j | 115 | s | ||||||
66 | B | 75 | K | 84 | T | 93 | ] | 98 | b | 107 | k | 116 | t | ||||||
67 | C | 76 | L | 85 | U | 94 | ^ | 99 | c | 108 | l | 117 | u | ||||||
68 | D | 77 | M | 86 | V | 95 | _ | 100 | d | 109 | m | 118 | v | ||||||
69 | E | 78 | N | 87 | W | 96 | ` | 101 | e | 110 | n | 119 | w | ||||||
70 | F | 79 | O | 88 | X | 102 | f | 111 | o | 120 | x | ||||||||
71 | G | 80 | P | 89 | Y | 103 | g | 112 | p | 121 | y | ||||||||
72 | H | 81 | Q | 90 | Z | 104 | h | 113 | q | 122 | z | ||||||||
123 | { | 124 | | | 125 | } | 126 | ~ | 127 | DEL |
Код | Клавиша(и) | Код | Клавиша(и) | Код | Клавиша(и) | |||||
---|---|---|---|---|---|---|---|---|---|---|
96 | GRAPH+? | 128 | GRAPH+G | 129 | SHIFT+GRAPH+W | |||||
130 | GRAPH+] | 131 | SHIFT+GRAPH+] | 132 | GRAPH+F | |||||
133 | SHIFT+GRAPH+G | 134 | GRAPH+O | 135 | GRAPH+W | |||||
136 | GRAPH+D | 137 | SHIFT+GRAPH+D | 138 | SHIFT+GRAPH+O | |||||
139 | SHIFT+GRAPH+J | 140 | GRAPH+J | 141 | GRAPH+U | |||||
142 | SHIFT+GRAPH+U | 143 | GRAPH+C | 144 | SHIFT+GRAPH+C | |||||
145 | SHIFT+GRAPH+Y | 146 | GRAPH+Y | 147 | SHIFT+GRAPH+T | |||||
148 | SHIFT+GRAPH+A | 149 | SHIFT+GRAPH+M | 150 | SHIFT+GRAPH+R | |||||
151 | SHIFT+GRAPH+Z | 152 | SHIFT+GRAPH+N | 153 | SHIFT+GRAPH+I | |||||
154 | SHIFT+GRAPH+@ | 155 | GRAPH+Z | 156 | GRAPH+[ | |||||
157 | GRAPH+L | 158 | SHIFT+GRAPH+L | 159 | SHIFT+GRAPH+[ | |||||
160 | GRAPH++ | 161 | GRAPH+2 | 162 | GRAPH+4 | |||||
163 | GRAPH+> | 164 | GRAPH+S | 165 | SHIFT+GRAPH++ | |||||
166 | SHIFT+GRAPH+3 | 167 | SHIFT+GRAPH+4 | 168 | SHIFT+GRAPH+6 | |||||
169 | SHIFT+GRAPH+7 | 170 | SHIFT+GRAPH+K | 171 | GRAPH+1 | |||||
172 | GRAPH+7 | 173 | SHIFT+GRAPH+E | 174 | SHIFT+GRAPH+B | |||||
175 | GRAPH+3 | 176 | SHIFT+GRAPH+= | 177 | GRAPH+= | |||||
178 | GRAPH+@ | 179 | GRAPH+B | 180 | GRAPH+5 | |||||
181 | SHIFT+GRAPH+5 | 182 | SHIFT+GRAPH+< | 183 | SHIFT+GRAPH+> | |||||
184 | SHIFT+GRAPH+Q | 185 | SHIFT+GRAPH+~ | 186 | SHIFT+GRAPH+S | |||||
187 | GRAPH+6 | 188 | SHIFT+GRAPH+2 | 189 | SHIFT+GRAPH+1 | |||||
190 | SHIFT+GRAPH+F |
Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | Код | Клав. | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
191 | ¤ | 201 | и | 211 | с | 221 | щ | 231 | Г | 241 | Я | 251 | Ш | ||||||
192 | ю | 202 | й | 212 | т | 222 | ч | 232 | Х | 242 | Р | 252 | Э | ||||||
193 | а | 203 | к | 213 | у | 223 | ъ | 233 | И | 243 | С | 253 | Щ | ||||||
194 | б | 204 | л | 214 | ж | 224 | Ю | 234 | Й | 244 | Т | 254 | Ч | ||||||
195 | ц | 205 | м | 215 | в | 225 | А | 235 | К | 245 | У | ||||||||
196 | д | 206 | н | 216 | ь | 226 | Б | 236 | Л | 246 | Ж | ||||||||
197 | е | 207 | о | 217 | ы | 227 | Ц | 237 | М | 247 | В | ||||||||
198 | ф | 208 | п | 218 | з | 228 | Д | 238 | Н | 248 | Ь | ||||||||
199 | г | 209 | я | 219 | ш | 229 | Е | 239 | О | 249 | Ы | ||||||||
200 | х | 210 | р | 220 | э | 230 | Ф | 240 | П | 250 | З |
И, наконец,… символ с кодом 255 («эхо»— курсор).
Этот символ обладает удивительнейшим свойством!Вначале вызовем его на экран:
locate 10,2:print chr$(255) █ ◀─── это "эхо"-курсор (почти как настоящий!) Оk █ ◀─── а это "настоящий" курсор!
Теперь, нажав клавиши GRAPH+8, увидим на экране следующее:
locate 10,2:print chr$(255) █ Ok ·█
Переместим «настоящий» курсор на одну позицию влево, и увидим…
locate 10,2:print chr$(255) ◘ Оk ◘
т.е., если «настоящий» курсор перемещается на некоторый символ, то данный символ высвечивается на «эхо»-курсоре! Заметим, что такой эффект не наблюдается, если компьютер выполнит командную строку:
locate 10,2:print chr$(155)
Примеры. А теперь о применении кодов управляющих символов!
PRINT CHR$(12)' Имитация нажатия клавиши "CLS"
10 'Имитация нажатия клавиши "TAB" 20 LOCATE 0,1:PRINT"RRRRRRRRR":A$=INPUT$(1) 30 LOCATE 0,1:PRINT CHR$(9)
5 'Имитация нажатия клавиши "BS" 10 LOCATE 10,5,1:PRINT "И" 20 FOR I=1 TO 1000:NEXT 30 LOCATE 11,5,1:A$=INPUT$(1):PRINT CHR$(127)
PRINT CHR$(11)' Имитация нажатия клавиши "HOME"
10 PRINT:PRINT CHR$(28);CHR$(28);"k"; 'В п р а в о! 20 PRINT CHR$(30);"е"; 'В в е р х! 30 PRINT CHR$(31);CHR$(31);CHR$(31);"r";'В н и з! 40 PRINT CHR$(29);CHR$(29);"b"; 'В л е в о!
Попробуйте подобным образом имитировать нажатие клавиш INS и DEL!
Заметим, что некоторые управляющие клавиши имеют два кода, так:
CHR$(25)+CHR$(5)
CHR$(19)+CHR$(23)
CHR$(12)+CHR$(4)
Кроме перечисленных выше «простых» символов (с кодами 33-255),на клавиатуре имеются символы, называемые графическими. В отличие от «простого» символа (имеющего один код) графический символ имеет два кода.
Первый код графического символа называется кодом заголовка и всегда имеет значение, равное 1, а уже второй код задает конкретный символ.
Пример.
10 FOR N=&H40 TO &H5F:?CHR$(1)+CHR$(N);"";:NEXT N
В таблице приведены графические символы и их вторые коды.
Код | Клавиша(и) | Код | Клавиша(и) | |||
---|---|---|---|---|---|---|
64 | CHR$(32) | 80 | SHIFT+GRAPH+P | |||
65 | GRAPH+H | 81 | GRAPH+I | |||
66 | SHIFT+GRAPH+H | 82 | GRAPH+E | |||
67 | SHIFT+GRAPH+\ | 83 | GRAPH+R | |||
68 | SHIFT+GRAPH+V | 84 | GRAPH+Alt | |||
69 | GRAPH+\ | 85 | GRAPH+P | |||
70 | GRAPH+V | 86 | SHIFT+GRAPH+^ | |||
71 | GRAPH+8 | 87 | GRAPH+0 | |||
72 | SHIFT+GRAPH+8 | 88 | GRAPH+K | |||
73 | GRAPH+9 | 89 | GRAPH+N | |||
74 | SHIFT+GRAPH+9 | 90 | GRAPH+M | |||
75 | GRAPH+X | 91 | GRAPH+T | |||
76 | SHIFT+GRAPH+X | 92 | GRAPH+~ | |||
77 | GRAPH+* | 93 | GRAPH+< | |||
78 | SHIFT+GRAPH+* | 94 | GRAPH+^ | |||
79 | GRAPH+Q | 95 | SHIFT+GRAPH+0 |
Приведем примеры вызова графических символов:
?CHR$(1)+CHR$(77) ?CHR$(1)+CHR$(76) ?CHR$(1);"D" ?CHR$(1);CHR$(68) ♪ ♀ ♦ ♦ Ok Ok Ok Ok
Отметим одну интересную особенность графических символов. Выше (смотрите раздел XI.1.3.) расказывалось о том, что можно изменять шаблоны символов с кодами от 32 до 254. Оказыватся, можно изменять шаблоны и графических символов. Информация о них находится в ячейках видеопамяти от 2048·(1-N) до 2048·(1-N)+31, где N — номер режима экрана (0 или 1).
Например:
FOR I=0 TO 7:VPOKE 2048+(77-64)*8+I,VPEEK(2048+(79-64)*8+I):NEXT
Если раньше мы, нажав на клавиши GRAPH+*, получали на экране дисплея символ , то теперь при нажатии тех же клавиш, мы получим символ .
Дополнительную информацию по теме можно найти здесь.