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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2010, 14:17   #1
Grandistok
Пользователь
 
Аватар для Grandistok
 
Регистрация: 13.09.2009
Сообщений: 23
По умолчанию Передача параметра процедуре FormCreate

Доброго времени суток комрады. Возник вопрос следующего характера:
В приложении создается модальная форма вот таким образом
Код:
SelectDoc := TSelectDoc.Create(Self);
try
  SelectDoc.ShowModal;
finally
  SelectDoc.Free;
end;
В форме SelectDoc при ее создании в процедуре FormCreate генерируются элементы которые будет на форме
Код:
procedure TSelectDoc.FormCreate(Sender: TObject);
var
Znach:integer;
Pan:TPanel;
Lbl:TLabel;
begin
If Znach<>0 then
   Pan:=TPanel.Create(Self);
else
   Lbl:=TLabel.Creae(Self);
end;
Собственно вопрос: Каким образом можно передать параметыр Znach из главной формы приложения в создоваемую SelectDoc не используя глобальные переменные?
С уважением добрый парень-убийца…
Grandistok вне форума Ответить с цитированием
Старый 24.04.2010, 15:36   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

использовать свойства (property znach) или методы (setznach)
Код:
TSelectDoc=class(TForm)
....
public
  procedure SetZnach(r: integer);
  property znach: integer write SetZnach;
end;

procedure TSelectDoc.setZnach(r: integer);
begin
If Znach<>0 then
   Pan:=TPanel.Create(Self);
else
   Lbl:=TLabel.Creae(Self);
end;
использование
Код:
f:=TSelectDoc.Create(Self);
f.znach:=n; //использование свойства
f.setZnach(n); //использование метода
f.showmodal;
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 24.04.2010, 15:36   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Или переопределить конструктор формы
constructor Create(Sender: TObject; Znach: integer);
А в теле конструктора вызывайте Create предков, с помощью inherited.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 24.04.2010 в 15:41.
mutabor вне форума Ответить с цитированием
Старый 24.04.2010, 15:42   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Форма то у него модальная.
а разве у модальной формы не может быть свойств и методов.

Код:
SelectDoc := TSelectDoc.Create(Self);
try
  Selectdoc.znach:=n;
  SelectDoc.ShowModal;
finally
  SelectDoc.Free;
end;
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметра в поток Sanprof Общие вопросы Delphi 10 08.07.2015 14:11
передача параметра по ссылке veter_s_morya PHP 7 18.10.2009 16:43
Создание подпрограм.Передача массива как параметра процедуре AbrahamLincoln Помощь студентам 5 20.09.2009 19:39
Передача параметра в поток joker Win Api 10 22.12.2007 12:53