Есть 3 кнопки и 1 redt .
Как присвоить програмно
(когда программа уже скомпилирована и работает)
Действие (Events) кнопке номер2 (Button2) при
нажатии на кнопку 1 (Button1) или на кнопку 3 (Button3).
К примеру при нажатии на Button1 , присваевается действие
(Events(OnClick)) Button2 к примеру такое:
if redt1.Lines:= 'Нажмите на кнопку 1 потом на кнопку 2' then
begin
MessageDlg('Работает!!', mtInformation, [mbOk], 0);
end
else
MessageDlg('Redt1 пуст, или не правильная фраза !!'
, mtError, [mbOk], 0);
Если знаете как это воплотить в жизнь отпишите в теме плз.
procedure Имя_твоей_формы.ButClick(Sender: TObject);
begin
ShowMessage('Новое действие!');
end;
А присваиваешь так:
Код:
Button1.OnClick := ButClick;
Спс.
Добавлено через 2 минуты
Цитата:
Сообщение от Tip.the.besT
Можно просто вызвать процедуру да и всё. Заготовил несколько процедур и вызывай в зависимости от событий.
У меня просто очень большое кол-во кнопок и каждой надо почти одни и те же действия присваивать !
Если это писать всё в самой программе в исходнике то это писанины тьма ...
Последний раз редактировалось Babls77; 22.04.2012 в 21:05.
Причина: Добавлено сообщение
У меня просто очень большое кол-во кнопок и каждой надо почти одни и те же действия присваивать !
Если это писать всё в самой программе в исходнике то это писанины тьма ...
Дак я за то и говорю, создали процедуру:
Код:
procedure pars;
begin
showmessage('Ok');
end;
И потом вызываете:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
pars;
end;
//Другая кнопка
procedure TForm1.Button2Click(Sender: TObject);
begin
pars;
end;
//И т.д.
В этом случае вы можете задавать ещё и параметры для действий/расчётов.
Это будет уже выглядеть так:
Код:
procedure pars(s:string);
begin
showmessage(s);
end;
//теперь вызываем
procedure TForm1.Button1Click(Sender: TObject);
begin
pars('Сосисочная');
end;
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Ну, думаю, ты понял
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Ну, думаю, ты понял
Это очень полезная инфа , но я не совсем то имел ввиду.
У меня в программе можно добавлять не ограниченное количество кнопок с разными , но и в тоже время похожими функциями а эту прогу я просто сделал для примера!
У всех кнопок событие OnClick содержит ссылку на процедуру типа TNotifyEvent
Код:
TNotifyEvent = procedure(Sender: TObject) of object;
Цитата:
Сообщение от Babls77
У меня в программе можно добавлять не ограниченное количество кнопок с разными , но и в тоже время похожими функциями а эту прогу я просто сделал для примера!
Пишешь нужное кол-во процедур, соответствующих описанию TNotifyEvent, и кидаешь им ссылки на процедуры, например: