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

Вниз

ModalResult   Найти похожие ветки 

 
deltav1 ©   (2006-05-22 14:05) [0]

Что нужно сделать, чтобы при закрытии модальной формы при нажатии на кнопку Ok выполнялась процедура из главной программы, а при нажатии Cancel не выполнялось ничего.


 
Плохиш ©   (2006-05-22 14:10) [1]


 if SuperPuperForm.ShowModal = mrOk then RunSuperPuperHauptFormProcedure;

Интерсно для кого создали конференцию "Начинающим"?


 
Steplerr ©   (2006-05-22 14:17) [2]

Проставь ModalResult для кнопок на Form2 (mrOk,mrCancel) и заводи форму так:

procedure TForm1.Button1Click(Sender: TObject);
var res:integer;
begin
res:=Form2.ShowModal;
if res=1 then
begin
 //твой код
end;
end;


 
Steplerr ©   (2006-05-22 14:17) [3]

Проставь ModalResult для кнопок на Form2 (mrOk,mrCancel) и заводи форму так:

procedure TForm1.Button1Click(Sender: TObject);
var res:integer;
begin
res:=Form2.ShowModal;
if res=1 then
begin
 //твой код
end;
end;


 
Сергей М. ©   (2006-05-22 14:20) [4]


> if res=1


Константы mrOk, mrCancel (и иже с ними) Борландом для Пушкина писаны ?


 
Steplerr ©   (2006-05-22 14:25) [5]


> Константы mrOk, mrCancel (и иже с ними) Борландом для Пушкина
> писаны ?


А так код короче получается;-)


 
Сергей М. ©   (2006-05-22 14:28) [6]


> Steplerr ©   (22.05.06 14:25) [5]


Ай молодца !

Сдаюсь, контраргументов у меня при этом не имеется.

Продолжай париться.


 
Плохиш ©   (2006-05-22 14:59) [7]


> Steplerr ©   (22.05.06 14:25) [5]
> А так код короче получается

Т.е. ввод лишних переменных укорачивает код? Неплохо.


 
StriderMan ©   (2006-05-22 16:34) [8]


> Т.е. ввод лишних переменных укорачивает код? Неплохо.

каких переменных?
 mrOK и mrCancel это константы

но сам посуди, какой проще код читать:


if Res = 1 then
...
if Res = 155 then
...
else
...

или

case Res of
mrOK: ...
mrCancel...
end;


а потом вдруг в новой версии DELPHI значения констант изменятся? (это конечно невероятная ситуация для DELPHI но вероятная для констант других разработчиков)


 
Сергей М. ©   (2006-05-22 16:41) [9]


> а потом вдруг в новой версии DELPHI значения констант изменятся?
>  


А симв.идентификаторы имен констант останутся прежними. На то они и символьные идентификаторы.


> вероятная для констант других разработчиков


Мало ли что там творится у других разработчиков !

mrOk он как был mrOk, так им и останется. А уж чему он будет равен в каждом конкр.случае - не наше дело.


 
Плохиш ©   (2006-05-22 17:15) [10]


> StriderMan ©   (22.05.06 16:34) [8]
>
> > Т.е. ввод лишних переменных укорачивает код? Неплохо.
>
> каких переменных?

res


 
StriderMan ©   (2006-05-22 17:16) [11]


> Сергей М.

Полностью с Вами согласен.
Я как раз о том и говорю, надо пользоваться именами констант а не их значениями.


> Мало ли что там творится у других разработчиков

Типичная ситуация - добавили в перечисление еще одно значение, причем не в конец. Тем кто пользовался значениями типа 1, 2, 3 ... - придется все переписывать


 
StriderMan ©   (2006-05-22 17:19) [12]


> Плохиш ©   (22.05.06 17:15) [10]
>
> > StriderMan ©   (22.05.06 16:34) [8]
> >
> > > Т.е. ввод лишних переменных укорачивает код? Неплохо.
>
> >
> > каких переменных?
>
> res

Согласен

надо писать


case Form.ShowModal of
mrOk:...
mrCancel:...
...
end;


 
Плохиш ©   (2006-05-22 17:23) [13]


> StriderMan ©   (22.05.06 17:19) [12]

Ага и по ветки с mrCancel писать код, который будет ничего не выполнять как автору и надо :-P

Может не будем отходить от вопроса? И чем [1] не угодило?


 
StriderMan ©   (2006-05-22 17:32) [14]


> Ага и по ветки с mrCancel писать код, который будет ничего
> не выполнять как автору и надо :-P

Да можно и не писать mrCancel, это я так... общий случай


> Может не будем отходить от вопроса? И чем [1] не угодило?


да уже давно отошли. закрывать пора тему. в [1] исчерпывающий ответ. Все



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

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

Наверх




Память: 0.5 MB
Время: 0.047 c
1-1146751707
Silver...
2006-05-04 18:08
2006.06.11
Сгенерировать Презентацию в PowerPoint


2-1148185325
Мурзилка
2006-05-21 08:22
2006.06.11
ещё раз про копирование строки


15-1147857726
Cashmare
2006-05-17 13:22
2006.06.11
Учиться, учиться и учиться!


3-1145349957
Pashka_cool
2006-04-18 12:45
2006.06.11
FireBird 1.5 на 2003 Windows Server - база после запуска падает.


2-1148455315
С.Фролов
2006-05-24 11:21
2006.06.11
Delphi и W2k3 не работает Ctrl+Alt+F11