2.4. Т а б л и ц а к о д о в ASCII П р и м е р. 10 A$=INKEY$ WWWWWWWWWWW 20 IF A$="" THEN 10 30 PRINT ASC(A$):GOTO 10 XWWWWWRWWWWWWWWWWWWWWRWWWWWRWWWWWWWWWWWWWWRWWWWWRWWWWWWWWWWWWWWWWWWY V Код V Клавиша(и) V Код V Клавиша(и) V Код V Клавиша(и) V TWWWWWUWWWWWWWWWWWWWWUWWWWWUWWWWWWWWWWWWWWUWWWWWUWWWWWWWWWWWWWWWWWWS V 0 V CTRL+@ V 13 V CTRL+M V 27 V CTRL+[ V V 1 V CTRL+A V 13 V RETURN V 27 V ESC V V 2 V CTRL+B V 14 V CTRL+N V 28 V CTRL+"\" V V 3 V CTRL+C V 15 V CTRL+O V 28 V CTRL+SHIFT+> V V 4 V CTRL+D V 16 V CTRL+P V 28 V SHIFT+"\"+> V V 5 V CTRL+E V 17 V CTRL+Q V 28 V CTRL+"~" V V 6 V CTRL+F V 18 V CTRL+R V 28 V WWW▐ V V 7 V CTRL+G V 18 V INS V 29 V CTRL+] V V 8 V CTRL+H V 19 V CTRL+S V 29 V ░WWW V V 8 V BS V 20 V CTRL+T V 30 V CTRL+SHIFT+"^" V V 9 V CTRL+I V 21 V CTRL+U V 30 V CTRL+SHIFT+"~" V V 9 V TAB V 22 V CTRL+V V 30 V "стрелка ВВЕРХ" V V 10 V CTRL+J V 23 V CTRL+W V 31 V CTRL+SHIFT+"=" V V 11 V CTRL+K V 24 V CTRL+X V 31 V "стрелка ВНИЗ" V V 11 V CLS/HOME V 24 V SELECT V 32 V "Пробел" V V 12 V CTRL+L V 25 V CTRL+Y V 127V DEL V V 12 VSHIFT+CLS/HOMEV 26 V CTRL+Z V V V ZWWWWWQWWWWWWWWWWWWWWQWWWWWQWWWWWWWWWWWWWWQWWWWWQWWWWWWWWWWWWWWWWWW[ П р и м е р. 10 FOR K=&H20 TO &HFF:? CHR$(K);"";K:NEXT K WWWWWWWWWWW XWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWY VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.V TWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWS V 33V ! V 38V & V 43V + V 48V 0 V 53V 5 V 58V : V V V V 34V " V 39V ' V 44V , V 49V 1 V 54V 6 V 59V ; V V V V 35V # V 40V ( V 45V - V 50V 2 V 55V 7 V 60V < V V V V 36V $ V 41V ) V 46V . V 51V 3 V 56V 8 V 61V = V V V V 37V % V 42V * V 47V / V 52V 4 V 57V 9 V 62V > V 63V ? V TWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWS V 64V @ V 73V I V 82V R V 91V [ V V V105V i V114V r V V 65V A V 74V J V 83V S V 92V \ V 97V a V106V j V115V s V V 66V B V 75V K V 84V T V 93V ] V 98V b V107V k V116V t V V 67V C V 76V L V 85V U V 94V ^ V 99V c V108V l V117V u V V 68V D V 77V M V 86V V V 95V _ V100V d V109V m V118V v V V 69V E V 78V N V 87V W V 96V ` V101V e V110V n V119V w V V 70V F V 79V O V 88V X V V V102V f V111V o V120V x V V 71V G V 80V P V 89V Y V V V103V g V112V p V121V y V V 72V H V 81V Q V 90V Z V V V104V h V113V q V122V z V TWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWS V123V { V124V | V125V } V126V ~ V127V DEL V V V V V ZWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWW[ XWWWWWRWWWWWWWWWWWWWWWRWWWWWRWWWWWWWWWWWWWWWRWWWWWRWWWWWWWWWWWWWWWY V Код V Клавиша(и) V Код V Клавиша(и) V Код V Клавиша(и) V TWWWWWUWWWWWWWWWWWWWWWUWWWWWUWWWWWWWWWWWWWWWUWWWWWUWWWWWWWWWWWWWWWS V 96 `VGRAPH+? V128 VGRAPH+G V129 VSHIFT+GRAPH+W V V130 VGRAPH+] V131 VSHIFT+GRAPH+] V132 VGRAPH+F V V133 VSHIFT+GRAPH+G V134 VGRAPH+O V135 VGRAPH+W V V136 VGRAPH+D V137 VSHIFT+GRAPH+D V138 VSHIFT+GRAPH+O V V139 ▀VSHIFT+GRAPH+J V140 ▄VGRAPH+J V141 █VGRAPH+U V V142 ▌VSHIFT+GRAPH+U V143 ▐VGRAPH+C V144 ░VSHIFT+GRAPH+C V V145 VSHIFT+GRAPH+Y V146 VGRAPH+Y V147 ⌠VSHIFT+GRAPH+T V V148 ■VSHIFT+GRAPH+A V149 ∙VSHIFT+GRAPH+M V150 √VSHIFT+GRAPH+R V V151 ≈VSHIFT+GRAPH+Z V152 ≤VSHIFT+GRAPH+N V153 ≥VSHIFT+GRAPH+I V V154  VSHIFT+GRAPH+@ V155 ⌡VGRAPH+Z V156 °VGRAPH+[ V V157 ²VGRAPH+L V158 ·VSHIFT+GRAPH+L V159 VSHIFT+GRAPH+[ V V160 ═VGRAPH+"+" V161 ║VGRAPH+"2" V162 ╒VGRAPH+"4" V V163 ёVGRAPH+">" V164 ╓VGRAPH+S V165 ╔VSHIFT+GRAPH+"+"V V166 ╕VSHIFT+GRAPH+"3"V167 ╖VSHIFT+GRAPH+"4"V168 ╗VSHIFT+GRAPH+"6"V V169 ╘VSHIFT+GRAPH+"7"V170 ╙VSHIFT+GRAPH+K V171 ╚VGRAPH+"1" V V172 ╛VGRAPH+"7" V173 ╜VSHIFT+GRAPH+E V174 ╝VSHIFT+GRAPH+B V V175 ╞VGRAPH+"3" V176 ╟VSHIFT+GRAPH+= V177 ╠VGRAPH+"=" V V178 ╡VGRAPH+@ V179 ЁVGRAPH+B V180 ╢VGRAPH+"5" V V181 ╣VSHIFT+GRAPH+"5"V182 ╤VSHIFT+GRAPH+< V183 ╥VSHIFT+GRAPH+> V V184 ╦VSHIFT+GRAPH+Q V185 ╧VSHIFT+GRAPH+"~"V186 ╨VSHIFT+GRAPH+S V V187 ╩VGRAPH+"6" V188 ╪VSHIFT+GRAPH+"2"V189 ╫VSHIFT+GRAPH+"1"V V190 ╬VSHIFT+GRAPH+F V V V V V ZWWWWWWWWWWWWWWWWWWWWWQWWWWWQWWWWWWWWWWWWWWWQWWWWWQWWWWWWWWWWWWWWW[ XWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWRWWWRWWWWWY VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.VКодVКлав.V TWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWUWWWUWWWWWS V191V © V201V и V211V с V221V щ V231V Г V241V Я V251V Ш V V192V ю V202V й V212V т V222V ч V232V Х V242V Р V252V Э V V193V а V203V к V213V у V223V ъ V233V И V243V С V253V Щ V V194V б V204V л V214V ж V224V Ю V234V Й V244V Т V254V Ч V V195V ц V205V м V215V в V225V А V235V К V245V У V V V V196V д V206V н V216V ь V226V Б V236V Л V246V Ж V V V V197V е V207V о V217V ы V227V Ц V237V М V247V В V V V V198V ф V208V п V218V з V228V Д V238V Н V248V Ь V V V V199V г V209V я V219V ш V229V Е V239V О V249V Ы V V V V200V х V210V р V220V э V230V Ф V240V П V250V З V V V ZWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWWQWWWQWWWWW[ И , наконец,... символ ⌡ с кодом 255 ("эхо"- курсор). Этот символ обладает удивительнейшим свойством!Вначале вызовем его на экран: locate 10,2:print chr$(255) ⌡ ░WWW это "эхо"-курсор (почти как настоящий!) Оk ⌡ ░WWW а это "настоящий" курсор! Теперь, нажав клавиши "GRAPH+8", увидим на экране следующее: locate 10,2:print chr$(255) ⌡ Ok G⌡ Переместим "настоящий" курсор на одну позицию влево, и увидим... locate 10,2:print chr$(255) H Оk H т.е., если "настоящий" курсор перемещается на некоторый символ ,то данный символ высвечивается на "эхо"-курсоре! Заметим, что такой эффект не наблю- дается, если компьютер выполнит командную строку: locate 10,2:print chr$(155) П р и м е р ы. А теперь о применении кодов управляющих символов! WWWWWWWWWWWWW 1) PRINT CHR$(12)' Имитация нажатия клавиши "CLS" 2) 10 'Имитация нажатия клавиши "TAB" 20 LOCATE 0,1:PRINT"RRRRRRRRR":A$=INPUT$(1) 30 LOCATE 0,1:PRINT CHR$(9) 3) 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) 4) PRINT CHR$(11)' Имитация нажатия клавиши "HOME" 5) 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"! Заметим, что некоторые управляющие клавиши имеют два кода, так: клавиши "CTRL"+"SHIFT"+"E" имеют код CHR$(25)+CHR$(5) , клавиши "CTRL"+"SHIFT"+"W" имеют код CHR$(19)+CHR$(23), клавиши "CTRL"+"SHIFT"+"D" имеют код CHR$(12)+CHR$(4) . Кроме перечисленных выше "простых" символов (с кодами 33-255),на клави- атуре имеются символы, называемые г р а ф и ч е с к и м и . В отличие от "простого" символа (имеющего один код) графический символ имеет два кода. Первый код графического символа называется к о д о м з а г о л о в к а и всегда имеет значение, равное 1, а уже второй код задает конкретный сим- вол. П р и м е р. 10 FOR N=&H40 TO &H5F:?CHR$(1)+CHR$(N);"";:NEXT N WWWWWWWWWWW В таблице приведены графические символы и их вторые коды. XWWWWWWWWRWWWWWWWWWWWWWWWRWWWWWWWWRWWWWWWWWWWWWWWWY V К о д V Клавиша(и) V К о д V Клавиша(и) V TWWWWWWWWUWWWWWWWWWWWWWWWUWWWWWWWWUWWWWWWWWWWWWWWWS V 64 V CHR$(32) V 80 P V SHIFT+GRAPH+P V V 65 A V GRAPH+H V 81 Q V GRAPH+I V V 66 B V SHIFT+GRAPH+H V 82 R V GRAPH+E V V 67 C V SHIFT+GRAPH+\ V 83 S V GRAPH+R V V 68 D V SHIFT+GRAPH+V V 84 T V GRAPH+A V V 69 E V GRAPH+\ V 85 U V GRAPH+P V V 70 F V GRAPH+V V 86 V V SHIFT+GRAPH+^ V V 71 G V GRAPH+8 V 87 W V GRAPH+0 V V 72 H V SHIFT+GRAPH+8 V 88 X V GRAPH+K V V 73 I V GRAPH+9 V 89 Y V GRAPH+N V V 74 J V SHIFT+GRAPH+9 V 90 Z V GRAPH+M V V 75 K V GRAPH+X V 91 [ V GRAPH+T V V 76 L V SHIFT+GRAPH+X V 92 \ V GRAPH+~ V V 77 M V GRAPH+* V 93 ] V GRAPH+< V V 78 N V SHIFT+GRAPH+* V 94 ^ V GRAPH+^ V V 79 O V GRAPH+Q V 95 _ V SHIFT+GRAPH+0 V ZWWWWWWWWQWWWWWWWWWWWWWWWQWWWWWWWWQWWWWWWWWWWWWWWW[ Приведем примеры вызова графических символов: ?CHR$(1)+CHR$(77) ?CHR$(1)+CHR$(76) ?CHR$(1);"D" ?CHR$(1);CHR$(68) M L D D Ok Ok Ok Ok Отметим одну интересную особенность графических символов. Выше (смотри- те раздел XI.1.3.) расказывалось о том, что можно изменять шаблоны симво- лов с кодами от 32 до 254. Оказыватся, можно изменять шаблоны и графичес- ких символов. Информация о них находится в ячейках видеопамяти от 2048G(1-N) до 2048G(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"+"*", получали на экране дис- плея символ "M",то теперь при нажатии тех же клавиш,мы получим символ "O".