Текущий архив: 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.48 MB
Время: 0.01 c