Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как конвертировать виртуальную клавишу в ASCII-код?

01.01.2007

Получаем символ, соответствующий виртуальной клавише:

function GetCharFromVKey(vkey: Word): string;
var
  keystate
: TKeyboardState;
  retcode
: Integer;
begin
  Win32Check
(GetKeyboardState(keystate));
 
SetLength(Result, 2);
  retcode
:= ToAscii(vkey,
   
MapVirtualKey(vkey, 0),
    keystate
, @Result[1],
   
0);
 
case retcode of
   
0: Result := '';
   
1: SetLength(Result, 1);
   
2: ;
   
else
     
Result := '';
 
end;
end;
 
{
Использование:
procedure TForm1
.Edit1KeyDown
 
(Sender: TObject; var Key: Word;
 
Shift: TShiftState);
begin
 
ShowMessage(GetCharFromVKey(Key));
end;
}

Взято из https://forum.sources.ru