Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.08;
Скачать: CL | DM;

Вниз

клоны?!   Найти похожие ветки 

 
I/O   (2003-04-25 16:47) [0]

Есть ~40 пунктов меню, для каждого пункта есть событие OnClick, состоящее, примерно из 10 строк кода. Из них, 5 одинаковы для всех.
Неужели переписывать их для всего или можно к-л образом это исправить?


 
REA ©   (2003-04-25 16:49) [1]

Можно исправить. Для начала нужно убрать из меню ~33 лишних пункта.


 
Dms   (2003-04-25 16:50) [2]

можно ... ставь всем один обработчик


 
wal ©   (2003-04-25 16:52) [3]

Дык вынести эти строки в отдельную процедуру (функцию?)


 
I/O   (2003-04-25 16:58) [4]

Цо то не пойму (пятница все-таки), а как потом обращаться к этой процедуре?


 
Anatoly Podgorestky   (2003-04-25 17:01) [5]

К процедуре обращаются по ИМЕНИ


 
Dms   (2003-04-25 17:10) [6]

и отчеству


 
Proton ©   (2003-04-25 19:36) [7]

Для всех пунктов меню назнать одну процедуру, скаже mi1click а потом рли так

Procedure mi1click(sender:tboject);
begin
if tmenuitem(sender).caption = "открыть" then
opendial....
или
if tmenuitem(sender).name = "miopen" then
opendial....
или
if sender = miopen then
opendial....
end;


 
I/O   (2003-04-26 17:17) [8]

Недопонял насчет:

"Для всех пунктов меню назнать одну процедуру"


 
Anatoly Podgoretsky ©   (2003-04-26 17:20) [9]

Зачем 40 процедур?
Чем они отличаются, может зря столько?


 
I/O   (2003-04-26 17:22) [10]

Отличаются названием загружаемого файла


 
Palladin ©   (2003-04-26 17:25) [11]

ну и ну


 
EK   (2003-04-26 22:03) [12]

Как-то так:
{Почитай ООП}
Опиши пункт меню как класс (Например, TPunktMenu). Добавь туда член типа
open_filename:String.
Напиши там всего одну процедуру:

Псевдокод:

procedure TPunktMenu.Clicked(Sender:TOBject);
begin
...
OpenFile(open_filename);
end;

В конструкторе или в виде отдельной процедуры :
1)добавь возможность назначения члена open_filename;
2)OnClick:=Clicked;
Все.

А теперь кто-нибудь! Ответтье наконецц, как мне загружать mpeg4 - я уже двое суток жду! Че - никто не знает?!



Страницы: 1 вся ветка

Текущий архив: 2003.05.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-23209
Viktor1
2003-04-24 15:37
2003.05.08
Как в Edit1 выровнять текст по центру относительно верх-низ.


14-23345
Шоломицкий
2003-04-20 17:58
2003.05.08
Как скопировать файлы с дискеты


14-23356
Hooch
2003-04-21 07:43
2003.05.08
Delphi6 от Пачека и Тайксейра


6-23248
Alexandr VZ
2003-03-11 20:04
2003.05.08
Определение настроек сети


1-23170
dimonf
2003-04-24 08:43
2003.05.08
Как избавиться от стандартной прорисовки в ListBox-e???