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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 10:46   #1
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
Радость Как задать действие объекту?

Как сделать так чтобы при нажатии на одну кнопку, для другой кнопки прописывалось определенное действие. Т.е. изначально его в коде нет, а после нажатия оно появится в кнопке.
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума
Старый 04.11.2010, 10:48   #2
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Банально и просто.
procedure Button1.onClick (Sender: Tobject);
begin
Button2.onClick := ProcedureName;
end;

ProcedureName - просто имя существующей процедуры, без кавычек и других лишних знаков.
Риндера вне форума
Старый 04.11.2010, 10:50   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Это свойство называется метаморфинг кода(или метаморфизм, точно не помню), но в Delphi его нет.
Риндера, мы с вами посмотрели на проблему с разных сторон - вы с банальной, а я с научной.
В общем, нашёл:
полиморфизм(генерация мусорного кода)
метаморфинг(замена инструкций аналогами)
пермутация(случайное перемешивание блоков кода с сохранением функционала и логики работы)
обфускация(метод запутывания логики кода, противодействие анализу)...

Последний раз редактировалось _-Re@l-_; 04.11.2010 в 10:54.
_-Re@l-_ вне форума
Старый 04.11.2010, 10:53   #4
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Цитата:
Это свойство называется метаморфинг кода(или метаморфизм, точно не помню), но в Delphi его нет.
Это свойство называется полиморфизм. Но это не то о чем ты подумал Риндера, уже ответила на вопрос сполна.
В планах порабощение вселенной...
zumm вне форума
Старый 04.11.2010, 10:53   #5
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Как это нет?! Я лично так присваивала события и всё работало!)
Риндера вне форума
Старый 04.11.2010, 10:54   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ещё раз...
Цитата:
Это свойство называется метаморфинг кода(или метаморфизм, точно не помню), но в Delphi его нет.
Риндера, мы с вами посмотрели на проблему с разных сторон - вы с банальной, а я с научной.
В общем, нашёл:
полиморфизм(генерация мусорного кода)
метаморфинг(замена инструкций аналогами)
пермутация(случайное перемешивание блоков кода с сохранением функционала и логики работы)
обфускация(метод запутывания логики кода, противодействие анализу)...
_-Re@l-_ вне форума
Старый 04.11.2010, 10:55   #7
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

а процедуру сначала описать надо, верно? подскажите плиз как это сделать))
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума
Старый 04.11.2010, 10:57   #8
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

В начале программы там где перечислены все процедуры допиши еще одну
Procedure Name(Sender: Tobject);

И далее где-нибудь еще напиши саму эту процедуру
Procedure Form1.Name(Sender: Tobject);
begin
<операторы>
end;

П.С. Я обычно "свои" процедуры пишу перед всеми остальными, чтобы 1. не запутаться; 2. не возникало лишних ошибков.

Последний раз редактировалось Риндера; 04.11.2010 в 11:01.
Риндера вне форума
Старый 04.11.2010, 10:57   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Мда...
Код:
Procedure MyProc;
Begin
        //действия
End;

Procedure TForm1.Button2Click(Sender: TObject);
Begin
        Button1.Onclick:=MyProc;
End;
Как-то вот...
_-Re@l-_ вне форума
Старый 04.11.2010, 11:01   #10
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Спасибо всем огромное!!))))
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать Deactivate объекту Chart? O_H Microsoft Office Excel 4 09.08.2010 13:24
Как обратиться к объекту формы из другого класса java micha-r Общие вопросы по Java, Java SE, Kotlin 1 03.10.2009 21:07
Как задать действие формы HTML-страницы? C# Alexei_1986 PHP 7 27.05.2009 20:34
Как объекту рисования (овал) присвоить значение? Град Microsoft Office Excel 8 17.07.2008 10:42
Можно ли в "EXCEL" задать свое действие клавише valerij Microsoft Office Excel 26 06.06.2007 16:25