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

Как купить рекламу на форуме


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

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


Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.05.2007, 15:09   #1
puz
 
Регистрация: 08.05.2007
Сообщений: 5
По умолчанию как выполнить один и тот же код для двух разных событий

Как сделать так, чтобы после введения данных в Edit1 при нажатии Enter, начал выполняться тот же код, что и по нажатию Button1?

К примеру по нажатию Button1 происходит следующее:


procedure TForm1.Button1Click(Sender: TObject);
var
a:Currency;
result:Currency;
begin
if Length(Edit1.Text)=0 then begin
Application.MessageBox('Вы не ввели число', 'Ошибка', MB_OK);
exit;
end;
a:= StrToCurr(Edit1.Text);
result:=a*5;
Label2.Caption:=CurrToStr(result);
end;
end.


Как должен выглядеть код события OnKeyPress для Edit1 в этой же проге, если в результате я хочу получить то же самое? Не переписывать же этот же самый код. Ведь есть способ проще?
puz вне форума
Старый 08.05.2007, 15:13   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Вызывай процедуру

Form1.Button1.Click;

и все..
Viteef вне форума
Старый 08.05.2007, 15:16   #3
puz
 
Регистрация: 08.05.2007
Сообщений: 5
По умолчанию

Так просто, оказывается.
Спасибо.
puz вне форума
Старый 08.05.2007, 15:18   #4
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

а если именнь понажатию на Enter то надо так:

if key = VK_RETURN then
прописываешь событие по нажатию твоей кнопки
...
Button1.Click;
Свободу клавиатурным самураям...
Killer_djon вне форума
Старый 11.05.2007, 17:27   #5
Voland
Heavy metal
Пользователь
 
Аватар для Voland
 
Регистрация: 02.04.2007
Сообщений: 42
По умолчанию

А быстрее будет просто вызвать Button1Click(Button1);
Voland вне форума
Старый 11.05.2007, 18:03   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

procedure TfrmMain.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
Button1Click(Button1);
end;
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
неободимо выполнить php мит PHP 1 01.09.2008 21:36
Копирование двух файлов в один JRcoker Общие вопросы Delphi 5 18.07.2008 20:37
Копировать данные из разных ячеек по нескольким листам в один лист Dorvir Microsoft Office Excel 2 11.06.2008 09:10
Как выполнить поиск на винте SeRhy Помощь студентам 1 02.11.2007 16:33


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS