Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 11:08   #1
missololo
Новичок
Джуниор
 
Регистрация: 07.06.2012
Сообщений: 1
По умолчанию Функциональные клавиши

1. Написать программу, обрабатывающую нажатие клавиш на клавиатуре. При нажатии функциональных клавиш (‘F1’ – ‘F10’) выводить их код сканирования вмести с названием клавиши. Во всех остальных случаях – выводить сообщение: ‘Не управляющая клавиша’. Ввод продолжать до нажатия клавиши ‘Ins’ на дополнительной клавиатуре.
Не получается сделать,чтоб выводил и название клавиши.


Код:
Uses
     Crt;
   var
     key:char;
   begin
     repeat
       key:= ReadKey;                
       if Key = #0 then begin         
          key:= ReadKey;             
          if (Ord(Key)>=59) and (Ord(Key)<=68) then begin 
            Write('0,');       
            Writeln(Ord(Key):3);           
          end
          else writeln('Нажата не функциональная клавиша*'); 
       end
       else writeln('Нажата не функциональная клавиша*');       
     until Key = #82;                  
   end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.06.2012 в 14:16.
missololo вне форума Ответить с цитированием
Старый 07.06.2012, 14:06   #2
@нтошка
Помог? Дави весы!
Пользователь
 
Регистрация: 15.05.2012
Сообщений: 25
По умолчанию

Приведите код в порядок. Он не читаем.
@нтошка вне форума Ответить с цитированием
Старый 07.06.2012, 14:20   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пользуясь тем, что коды идут подряд, и у клавиши F1 код 59 - очевидно, что достаточно из кода вычитать 58, чтобы получить номер функциональной клавиши..

Код:
          if (Ord(Key)>=59) and (Ord(Key)<=68) then begin 
            Writeln('0,', Ord(Key):3, ' название клавиши: F',ord(key)-58);
          end
          else writeln('Нажата не функциональная клавиша*');
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
#(код клавиши) Aries Помощь студентам 5 13.02.2010 01:43
Клавиши и key Gapro Общие вопросы Delphi 20 23.10.2009 20:35
Нажатие клавиши format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 05.05.2008 15:25
Клавиши RealSHELS Общие вопросы Delphi 3 27.03.2008 22:32
Клавиши xakkkkker Общие вопросы Delphi 1 23.03.2008 10:45