Как использовать ReadKey для получения кода функциональных клавиш?

Функциональные клавиши возвращают расширенный код, состоящий из двух символов, например, стрелки, или буквенно-цифровая клавиатура в комбинации с Alt, Ctrl, и т.д.

Пример обработки клавиатуры:

case ReadKey of                  {читаем код              }
     #0:case ReadKey of             {код оказался расширенным}
          #59:Writeln('Hажали F1');
          #60:Writeln('Hажали F2');
          {.......................}
        end {case};                 {закончили обработку расширенных кодов}
     #13:Writeln('Hажали Enter');
     #27:Exit
   end {case}

Для того, чтобы узнать все коды воспользуйтесь программой:

Uses
     Crt;
   var
     key:char;
   begin
     repeat
       key:= ReadKey;                  {читаем код              }
       if Key = #0 then begin          {код оказался расширенным}
          Write(Ord(Key):3,',');       {печатаем первый код     }
          key:= ReadKey;               {читаем расширенный код  }
       end;                            {закончили обработку расширенных кодов}
       Writeln(Ord(Key):3);            {печатаем основной код   }
     until Key = #27;                  {Цикл, пока не нажмем Esc}
   end.