Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  125

•  TDictionary Custom Sort  3 312

•  Fast Watermark Sources  3 062

•  3D Designer  4 818

•  Sik Screen Capture  3 314

•  Patch Maker  3 528

•  Айболит (remote control)  3 628

•  ListBox Drag & Drop  2 992

•  Доска для игры Реверси  81 537

•  Графические эффекты  3 922

•  Рисование по маске  3 227

•  Перетаскивание изображений  2 608

•  Canvas Drawing  2 732

•  Рисование Луны  2 556

•  Поворот изображения  2 163

•  Рисование стержней  2 160

•  Paint on Shape  1 564

•  Генератор кроссвордов  2 223

•  Головоломка Paletto  1 764

•  Теорема Монжа об окружностях  2 209

•  Пазл Numbrix  1 682

•  Заборы и коммивояжеры  2 052

•  Игра HIP  1 278

•  Игра Go (Го)  1 224

•  Симулятор лифта  1 470

•  Программа укладки плитки  1 214

•  Генератор лабиринта  1 542

•  Проверка числового ввода  1 351

•  HEX View  1 489

•  Физический маятник  1 355

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Преобразовать код символа в скан-код клавиши



Автор: Sniknik

для буквы 'Ф' его и не будет, 0 невозможно преобразовать. посмотри ее значение (Ord) чему равно? а клавиш всего 101шт. (но не все так просто, 101 это наоборот скэн коды надо считать) в твоем случае букву 'Ф' надо переводить в анг. вариант 'A' и тогда MapVirtualKey(Key,0) дает скэн код. короче не работает с MapVirtualKey с локализованными раскладками а AnsiMapVirtualKey пока нет.


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
var st: string;
begin
 if WinKey <  Key then begin
   WinKey:= Key;
   Edit1.Text:= 'Key : '+IntToStr(Key)+' Char : '+Chr(Key);
 end;
 // MapVirtualKey
 Memo1.Lines.Add('Key : '+IntToStr(Key)+' Char : '+Chr(Key)+' MVK : '+
  IntToStr(MapVirtualKey(Key,0)));
 if ssShift in Shift then st:= '1'
 else st:= '0';
 if ssAlt in Shift then st:= st + '1'
 else st:= st+'0';
 if ssCtrl in Shift then st:= st + '1'
 else st:= st+'0';

 if ssLeft in Shift then st:= st + '1'
 else st:= st+'0';
 if ssRight in Shift then st:= st + '1'
 else st:= st+'0';
 if ssMiddle in Shift then st:= st + '1'
 else st:= st+'0';
 if ssDouble in Shift then st:= st + '1'
 else st:= st+'0';
 Memo1.Lines.Add('State Shift/Alt/Ctrl/Left/Right/Middle/Double : '+st);
 {
 GetNumberofConsoleInputEvents
 if Key = VK_F1 then Form1.Caption := 'F1';
 WM_KEYDOWN
 MapVirtualKeyEx, OemKeyScan, VkKeyScanEx
 }
end;





Похожие по теме исходники

Barcode (штрих-код)

Оптимальное кодирование информации

BarCode39 (штрихкоды)

Код Хаффмана

 

Поиск символа

WiFi Scanner (сканер Wi-Fi сетей)




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте