Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2009, 23:33   #1
Сид
Пользователь
 
Аватар для Сид
 
Регистрация: 07.04.2009
Сообщений: 12
По умолчанию Как сделать, чтобы по нажатию клавиши вводился не символ, а строка?

Нужно, чтобы при нажатии определённой буквы(русской) вместо неё в Memo вводилась определённая строка.Создал массив,в котором каждому русской букве соответствует число, полученное с помощью функции chr() и необходимая строка.При нажатии определённой клавиши сверяю её Key-код c chr().Но chr('Л')<>Key:='Л'.А обрабатывать каждую кнопку отдельно уж очень не хочется. Есть ли выход?
Учение-жесть,но без него никуда!
Сид вне форума Ответить с цитированием
Старый 27.12.2009, 00:01   #2
Миша
Пользователь
 
Регистрация: 13.09.2007
Сообщений: 63
По умолчанию

Это подойдёт
Код:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'а':Memo1.SelText:='Tararara';
{ ... }
else

end;
Миша вне форума Ответить с цитированием
Старый 27.12.2009, 00:06   #3
Миша
Пользователь
 
Регистрация: 13.09.2007
Сообщений: 63
По умолчанию

Цитата:
Создал массив,в котором каждому русской букве соответствует число, полученное с помощью функции chr()
Может Вы имели в виду функции Ord()???
Код:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
Label1.Caption:=IntToStr(Ord(Key));
end;
Миша вне форума Ответить с цитированием
Старый 27.12.2009, 00:15   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А нельзя было сразу назвать тему осмысленно?
Не "клавиатура", а так, как я отредактировал?
mihali4 вне форума Ответить с цитированием
Старый 27.12.2009, 01:23   #5
Сид
Пользователь
 
Аватар для Сид
 
Регистрация: 07.04.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Миша Посмотреть сообщение
Может Вы имели в виду функции Ord()???
Я имел в виду на выходе функции chr(198) получаем 'Ж', а
if Key = #198 then
begin end;
не поймает клавишу Ж.

У нас принято оформлять код специальным тэгом - кнопочка "#".
Модератор
Отказываемся читать правила? Получаем...
Учение-жесть,но без него никуда!

Последний раз редактировалось mihali4; 27.12.2009 в 02:25.
Сид вне форума Ответить с цитированием
Старый 27.12.2009, 13:32   #6
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
не поймает клавишу Ж.
А если нажать CAPS LOCK или совместно с клавишей Shift ?
Или тогда уж условие шире ставить :
Код:
if (Key = #198) or (Key = #230) then
begin end;
Тогда и заглавная "Ж" и малая "ж" буквы будут "ловиться".
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка+символ. как? forsaken66 Общие вопросы C/C++ 5 30.11.2009 22:04
[Делфи] Как сделать чтобы символ много раз повторялся (без массивов) zotox Помощь студентам 4 01.05.2009 22:10
Движения по нажатию клавиши ТРОЯН=) Помощь студентам 5 10.03.2009 21:11
Рисование по нажатию клавиши на клавиатуре... zvuk01 Помощь студентам 1 25.12.2007 17:49
переход курсора по нажатию клавиши matus Общие вопросы Delphi 3 22.11.2007 22:33