Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2007, 11:21   #1
Marat
 
Регистрация: 02.03.2007
Сообщений: 4
По умолчанию Как вызвать процедуру ???

Здравствуйте я начинающий программист и моя проблема наверняка не составит не для кого труда помочь мне ее решить.
Суть в следующем: У меня на Форме есть компонент Edit и обрабатывается он событим КеуPress. Мне надо вызвать эту процедуру и указать что я как будто нажал клавишу Enter.
Edit9KeyPress(Sender, ??? ) ; Заранее всем спасибо кто откликнется.
Marat вне форума Ответить с цитированием
Старый 02.03.2007, 11:38   #2
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Marat Посмотреть сообщение
Суть в следующем: У меня на Форме есть компонент Edit и обрабатывается он событим КеуPress. Мне надо вызвать эту процедуру и указать что я как будто нажал клавишу Enter.
Edit9KeyPress(Sender, ??? ) ; Заранее всем спасибо кто откликнется.
??? и есть символ той клавиши которую вы будете нажимать!
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.
pinhead вне форума Ответить с цитированием
Старый 02.03.2007, 11:44   #3
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Цитата:
Сообщение от pinhead Посмотреть сообщение
??? и есть символ той клавиши которую вы будете нажимать!
По-моему он спашивает про первый параметр, т.е. sender.
nosce te ipsumj...
Prowler вне форума Ответить с цитированием
Старый 02.03.2007, 11:45   #4
Marat
 
Регистрация: 02.03.2007
Сообщений: 4
По умолчанию

Дело в том что если я задаю #13 или vk_Rerurn, то это не проходит. в процедуре keypress переменная кеу описывается через var key:char , а не просто кеу:char
Marat вне форума Ответить с цитированием
Старый 02.03.2007, 11:49   #5
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
По умолчанию

Для Prowler: А зачем тогда ставись ??? на месте Key?
Для Marat: Так а что собственно надо сделать? При вызове процедуры KeyPress нажималась Enter?
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.
pinhead вне форума Ответить с цитированием
Старый 02.03.2007, 11:55   #6
Marat
 
Регистрация: 02.03.2007
Сообщений: 4
По умолчанию

Да надо чтобы при вызове процедуры KeyPress нажималась Enter?
Marat вне форума Ответить с цитированием
Старый 02.03.2007, 12:03   #7
pinhead
Пользователь
 
Аватар для pinhead
 
Регистрация: 08.12.2006
Сообщений: 36
По умолчанию

Есть такая процедура которая обрабатывает все нажатые клавиши при активности формы ShortCut(var Msg: TWMKey; var Handled: Boolean).
var Msg: TWMKey - нажатая клавиша(тип record), в этом record-е есть поле CharCode ему присваивай значение 13 и всё, нажата клавиша Enter!
Знание этого – Мудрость.
Умение этим пользоваться – Искусство.
pinhead вне форума Ответить с цитированием
Старый 02.03.2007, 12:08   #8
Marat
 
Регистрация: 02.03.2007
Сообщений: 4
По умолчанию

Большое Спасибо, я знал что моя проблема решится быстро
Marat вне форума Ответить с цитированием
Старый 02.03.2007, 15:11   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Во туману-то нагнали...
Надо просто использовать предназначенное именно для этих случаев событие OnKeyDown (KeyUp), где очень понятно (для самого себя в том числе) можно указать:
if key=VK_ENTER then... (или любую другую служебную клавишу)
А буковки и циферки пущай KeyPress продолжает обрабатывать...
Соответственно, для имитации нажатия Enter вызываем обработчик события OnKeyDown с параметром key=VK_ENTER.
Или вообще - просто отослать эдиту Message.

Последний раз редактировалось mihali4; 02.03.2007 в 15:15.
mihali4 вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно вызвать Dial Up Helg Работа с сетью в Delphi 4 01.04.2009 23:05
Создать DLL на C# и вызвать её в Delphi RIO Общие вопросы .NET 2 22.03.2008 22:17
вызвать процедуру для tray.OnClick и закрузить в нее нужную иконку KORN Компоненты Delphi 8 02.10.2007 00:17
Как вызвать прерывание в Delphi? Andrew Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 24.05.2007 17:17