Архив за июля, 2008

Jul07

Перевод виртуальных кодов в символы

В Windows определены специальные, виртуальные коды, для кнопок клавиатуры. Например, VK_Enter, VK_Delete и т.д. Данные коды используются не часто, но все-же используются. Например, в OnKeyUp и в OnKeyDown.

Небольшая функция поможет вам преобразовать данные коды в символы:


function GetCharFromVirtualKey(Key: Word): string;
var
  keyboardState: TKeyboardState;   asciiResult: Integer;
begin
  GetKeyboardState(keyboardState);
  SetLength(Result, 2);
  asciiResult := ToAscii(key, MapVirtualKey(key, 0), keyboardState, @Result[1], 0);
  case asciiResult of
    0: Result := '';
    1: SetLength(Result, 1);
    2:;
  else
    Result := '';
  end;
end;

Пример использования:


procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState) ;
begin
   Self.Caption := GetCharFromVirtualKey(Key) ;
end;

Оригинал тут.

Jul02

Плохо…

Конкурс просто провалился... Я ни разу не нашел ни одной статьи. Жаль. А ведь хотелось сделать это традицией - ежемесячно проводить конкурс на какую-то определенную тему.