Консультация № 132127
14.04.2008, 12:18
0.00 руб.
0 1 1
Помогите, пожалуйста, pleaseee. нужно написать прогу, которая вводит строку с клавиатуры. При нажатии комбинации правShift+лев Ctrl+F6 должна блокироваться клавиша 3, а при повторном нажатии этой комбинации блокировка отключается.

Обсуждение

давно
Старший Модератор
31795
6196
17.04.2008, 17:50
общий
это ответ
Здравствуйте, Igoreky!

Программа в приложении.
Ввод происходит до нажатия клавиши "ENTER".
Удачи!

Приложение:
uses crt; var a,b:byte; c0,c1:char; d,e:^byte;{указатели на один байт в памяти} f:boolean; begin write(‘Enter:‘); c1:=‘.‘; d:=ptr($40,$17);{общий байт состояния клавиатуры} e:=ptr($40,$18);{разширенный байт состояния клавиатуры} f:=true; repeat if KeyPressed then begin a:=d^;{читаем байт состояния клавиатуры} b:=e^;{читаем байт состояния класиатуры} c0:=c1;{считываем символ} c1:=ReadKey; { если нажимается функциональная клавиша, первый её код будет равен нулю } if(ord(c1)=0)then begin { считываем второй байт функциональной клавиши } c0:=c1; c1:=ReadKey; { меняем флаг вывода } if (ord(c1)=99)and((a and 1)=1)and((b and 1)=1)then f:=not f; end; { выводим нажатую клавишу } if (f or (c1<>‘3‘))and(ord(c0)>0)and(ord(c1)>0)then write(c1); end; until c1=chr(13); end.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа