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

Вниз

правильное объявление процедур   Найти похожие ветки 

 
FIL-23   (2012-12-02 22:41) [0]

Объясните глупому. Есть две формы из первой формы хочу вызвать процедуру второй формы. А процедура второй формы содержит набор процедур. так вот, как правильно объявить процедур во второй форме, чтобы он могла создавать форму2 и другие процедуры выполнять.
примерно так:

форма1
вызвать форма2.супер_пупер_процедура

форма2.супер_пупер_процедура
begin
 созадть форму2
 нарисовать кнопочку
 очистить поля
end;


 
FIL-23   (2012-12-02 22:44) [1]

привильно ли будет описать процедура в классе формы2 ?


 
Игорь Шевченко ©   (2012-12-02 22:54) [2]

class procedure


 
Юрий Зотов ©   (2012-12-02 23:48) [3]


> FIL-23   (02.12.12 22:44) [1]
> привильно ли будет описать процедура в классе формы2 ?

Или class procedure (как в [2]), или просто процедура (в модуле формы 2, но не в классе формы 2).


 
DVM ©   (2012-12-02 23:56) [4]


> FIL-23   (02.12.12 22:41) 

Если я тебя правильно понял, что то типа такого:


type
 TfrmNewTemplate = class(TForm)
   grpbxTemplateSize: TGroupBox;
   btnOk: TButton;
   btnCancel: TButton;
   edtTemplateWidth: TEdit;
   edtTemplateHeight: TEdit;
   lblTemplateWidth: TLabel;
   lblTemplateHeight: TLabel;
   procedure btnOkClick(Sender: TObject);
   procedure btnCancelClick(Sender: TObject);
 private
   { Private declarations }
 public
   class function ShowDialog(var AWidth, AHeight: integer): Boolean;
 end;

implementation

{$R *.dfm}

//------------------------------------------------------------------------------

class function TfrmNewTemplate.ShowDialog(var AWidth, AHeight: integer): Boolean;
begin
 with TfrmNewTemplate.Create(Application) do
   try
     edtTemplateWidth.text := IntToStr(AWidth);
     edtTemplateHeight.text := IntToStr(AHeight);
     case ShowModal of
       mrOk:
         begin
           AWidth := StrToInt(edtTemplateWidth.text);
           AHeight := StrToInt(edtTemplateHeight.text);
           Result := True;
         end;
     else
       Result := False;
     end;
   finally
     Free;
   end;
end;



 
Германн ©   (2012-12-03 04:10) [5]


> примерно так:
>
> форма1
> вызвать форма2.супер_пупер_процедура
>
> форма2.супер_пупер_процедура
> begin
>  созадть форму2
>  нарисовать кнопочку
>  очистить поля
> end;

А почему бы не так:
форма1
вызвать конструктор формы2
в конструкторе нарисовать кнопочку и очистить поля.
после использования формы2 - уничтожить её.
Или так:
"Автосоздать" форму2
в OnShow формы2 очистить поля и определить видимость кнопок и/или их названия.

P.S.
 Давай задачу, а не вопрос.
Имхо понятие class procedure пока, имхо, не для тебя.



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1362659035
alexdn
2013-03-07 16:23
2013.08.04
Погиб Андрей Панин


2-1354680492
std25
2012-12-05 08:08
2013.08.04
проблемы с заливкой


15-1362842047
картман
2013-03-09 19:14
2013.08.04
неполное вычисление булевых выражений


15-1362938066
Дмитрий С
2013-03-10 21:54
2013.08.04
Архивирование


15-1363033805
Юрий
2013-03-12 00:30
2013.08.04
С днем рождения ! 12 марта 2013 вторник