Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизКак поставить клавише в соответствие русский символ? Найти похожие ветки
← →
@!!ex © (2007-12-16 16:41) [0]Есть проект, в нем считывается клавиша и записывается в поле.
Делали проект для за бугорья, никаких проблем не было, нажал юзер кнопочку D, отпечаталсь D.
А теперь захотелось начальство локализацию сделать...
и надо, чтобы пользователь нажимал кнопочку D, а печаталась буковка В.
Ничего кроме виртуального кода нажатой кнопки неизвестно...
← →
Правильный_Вася (2007-12-16 16:46) [1]через раскладку перекодировать?
← →
Leonid Troyanovsky © (2007-12-17 09:59) [2]
> @!!ex © (16.12.07 16:41)
> А теперь захотелось начальство локализацию сделать...
> и надо, чтобы пользователь нажимал кнопочку D, а печаталась
> буковка В.
Странная какая-то локализация. Впрочем, извольте-с
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
vk: Word;
buf: array [0..1] of Char;
kbs: TKeyboardState;
begin
vk := VkKeyScan(Key);
GetKeyboardState(kbs);
ToAsciiEx(vk, MapVirtualKey(vk, 0), kbs, buf, 0, $04190419);
Key := buf[0];
end;
--
Regards, LVT.
← →
@!!ex © (2007-12-17 12:03) [3]Спасибо, Леонид! То что нужно!!!
P.S.
Это невся локализация естественно, все остальное просто проблем не вызвало, :)
← →
Kolan © (2007-12-17 12:21) [4]Вот еще мой вариант.
function TCardDataView.ConvertRussianSymbolToEnglish(C: Char): Char;
begin
case C of
"Й": Result := "Q";
"Ц": Result := "W";
"У": Result := "E";
"К": Result := "R";
"Е": Result := "T";
"Н": Result := "Y";
"Г": Result := "U";
"Ш": Result := "I";
"Щ": Result := "O";
"З": Result := "P";
"Ф": Result := "A";
"Ы": Result := "S";
"В": Result := "D";
"А": Result := "F";
"П": Result := "G";
"Р": Result := "H";
"О": Result := "J";
"Л": Result := "K";
"Д": Result := "L";
"Я": Result := "Z";
"Ч": Result := "X";
"С": Result := "C";
"М": Result := "V";
"И": Result := "B";
"Т": Result := "N";
"Ь": Result := "M";
"Ю": Result := ".";
else
Result := C;
end;
{Вариатн конвертации Leonid Troyanovsky (не удалять): }
{var
vk: Word;
buf: array [0Գ] of Char;
kbs: TKeyboardState;
begin
vk := VkKeyScan(Key);
GetKeyboardState(kbs);
ToAsciiEx(vk, MapVirtualKey(vk, 0), kbs, buf, 0, $04090409);
Key := buf[0];
end;}
end;
Обрати внимание на комментарии.
← →
@!!ex © (2007-12-17 12:24) [5]> [4] Kolan © (17.12.07 12:21)
Мне наоборот надо. :)
А чем лучше [2]?
Ведь тут жесткая привязка к раскладке...
← →
Kolan © (2007-12-17 12:31) [6]> А чем лучше [2]?
Ничем, даже хуже.
← →
Правильный_Вася (2007-12-17 15:15) [7]> array [0Գ] of Char;
это че за знак?
или это новый синтаксис объявления массива?
← →
Anatoly Podgoretsky © (2007-12-17 15:26) [8]> Правильный_Вася (17.12.2007 15:15:07) [7]
Синтаксис старый, символ новый.
← →
Правильный_Вася (2007-12-17 16:10) [9]и что он означает? бесконечность, что ли?
← →
Kolan © (2007-12-17 16:12) [10]> и что он означает? бесконечность, что ли?
Спроси сначала как его набрать :)
← →
Юрий Зотов © (2007-12-17 18:06) [11]Это так называемый полудинамический массив. То есть, размер задан, но какой - непонятно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c