Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

правильное объявление процедур


FIL-23 ©   (2012-12-02 22:41:00) 

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

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

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


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


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

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

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


DVM   (2012-12-02 23:56:00) [2]


> 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-02 23:48:00) [3]


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

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


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

class procedure


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо