IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Asc Ii, нужны коды ???
сообщение
Сообщение #1


Гость






Подскажите коды ASC II клавиш 'backspase', 'tab', 'capslock', 'shift', 'ctrl', 'alt'.
Или скажите где взять таблицу с этими кодами.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Смотри здесь - таблицы ASCII кодов.

'backspase' = chr(8)
'tab' = chr(9)

А вот с остальными - сложнее... У них нет ASCII-кода, и анализировать состояние клавиш регистов ('shift', 'ctrl', 'alt' и 'capslock', 'numlock', 'scrollock') можно по 2-м байтам с адресами $0000:$0417 и $0000:$0418

Цитата
Байт $0417
Биты
0        Нажат правый Shift
1        Нажат левый Shift
2        Нажат Ctrl
3        Нажат Alt
4        ScrollLock
5        NumLock
6        CapsLock
7        Ins (режим вставки/замещения)

Байт $0418
Биты
0        1, если нажаты Ctrl+Shift (слева)
1        1, если нажаты Alt+Shift (слева)
2        зависит от клавиатуры
3        зависит от клавиатуры
4        1, если нажат ScrollLock
5        1, если нажат NumLock
6        1, если нажат CapsLock
7        1, если нажата клавиша Ins
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






volvo
Большое спасибо :D
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


А на будущее - у меня есть Великие Всезнающие друзья

www.google.ru
www.ya.ru

спрашиваешь у них

Таблица ASCII кодов

они тебе ответят!


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


А я никогда никаких таблойдов не юзал
Просто быстренько писал прогу

Код
uses crt;
var key : char;

begin
repeat
key := readkey;
write(ord(key));
readln;
until key = 'q';
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






BRS
Цитата
А я никогда никаких таблойдов не юзал Просто быстренько писал прогу

и с ее помощью находил, например, что просходит при нажатии Ctrl или Alt... Или клавиши управления курсором... Или F1-F12...
rolleyes.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Цитата
и с ее помощью находил, например, что просходит при нажатии Ctrl или Alt... Или клавиши управления курсором... Или F1-F12...

немного подправил
uses crt;
var key : char;
begin
repeat
key := readkey;
If key=#0 then Begin
Write('Расширенный код, ');
key:=readkey;
end;
write(ord(key));
readln;
until key = 'q';
end.


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ну, а чтобы посмотреть, как изменяется байт $0:$417 при нажатии регистровых клавиш, делаем так (для выхода - Esc):
Код

uses crt;

function binary(x: longint; numOfBits: byte): string;
 var
   bit, i: byte;
   s: string[32];
 begin
   s := '';
   for i := 0 to 31 do
     begin
       bit := (x shl i) shr (31);
       s := s + chr(ord('0') + bit)
     end;
   delete(s, 1, 32 - numOfBits);
   binary := s
 end;

var
 m: byte absolute $0000:$0417;
 ch: char;
begin
 clrscr;
 ch := #0;
 repeat
   writeln(m:10, ' ', binary(m, 8));
   if keypressed then ch := readkey;
 until ch = #27;

 while keypressed do readkey
end.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.01.2022 12:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name