![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| ruslandlion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 12.8.2006 Репутация: нет Всего: нет |
Написал калькулятор, запрограммировал кнопки, а как привязать эти кнопки ( компонент BitBtn) с кнопками клавиатуры. Чтобы если я ввёл к примеру с клавиатуры число "7", эта клавиша связалась с событием нажатия на кнопку 7 в программе?
|
|||
|
||||
| amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
обрабатывай OnKeyPress формы
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
| ruslandlion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 12.8.2006 Репутация: нет Всего: нет |
Я не очень хорошо разбираюсь в программировании , попытался вот так сделать
Не удаётся скомпелировать. Тоесть я хотел задать программе условие если происходит нажатие на клавишу VK_NUMPAD1 , то должна вызваться процедура нажатие на клавишу "1" procedure TForm1.BitBtn39Click(Sender: TObject); Вылетает ошибка |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
-------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| ruslandlion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 12.8.2006 Репутация: нет Всего: нет |
Не компилируется , вот так попробывал
Тоже результатов не дало, ошибка "incompatible types" |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
А. Это же KeyPress.
И не надо везде где попало добавлять form1. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| ruslandlion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 12.8.2006 Репутация: нет Всего: нет |
Спасибо большое, получилось.
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
ruslandlion, только лучше назначай каждой кнопке свою процедуру, и её уже вызывай. Т.е., например, выполняй свои действия не непосредственно в bitbtn39.Click, а в "самодельной" процедуре bitbtn39_new, которая будет вызываться по bitbtn39.Click. Я и сам так иногда делаю, но знаю, что это неправильно.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| ruslandlion |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 12.8.2006 Репутация: нет Всего: нет |
вначале хотел так сделать, потом отбросил затею, так как часто уникальные в своём роде функции выполняються, например вычисление Арктангенса на калькуляторе.
Это сообщение отредактировал(а) ruslandlion - 18.11.2012, 21:50 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Не понятно, что "так" сам делаешь и что не правильно. И сам совет делать отдельную процедуру, "которая будет вызываться по bitbtn39.Click" тоже не понимаю. И в общем случае и в данной конкретной задаче "Калькулятор". -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Пишу весь код непосредственно в процедуре нажатия кнопки. В конкретном случае, может, действительно смысла нет. Но в общем случае читаемость кода как-то лучше, когда есть процедура "report", а не Button1.Click. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
В общем случае читаемость кода лучше, если вместо Button1.Click будет btnReport.Click. Я то задал этот вопрос в основном потому, что процедура TControl.Click весьма себе умная. Посмотри её описание в хелпе и/или её реализацию в исходниках. Это сообщение отредактировал(а) northener - 20.11.2012, 00:33 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 7 Всего: 15 |
Код из обработчика выносится в отдельную процедуру за 2 минуты.
Другое дело, что надо бы отделять интерфейс от логики. |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Ты это к чему? Мы тут, вроде, пока говорим о процедуре Click. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Возможно, действительно так читабельней, но кнопок я никогда не переименовываю. Обычно делаю именно процедура, т.е. для отчёта процедура Report, для экспорта - Exporter и т.п. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |