Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > параметры процедуры - прописывать или нет


Автор: Teleport 7.8.2009, 14:42
Вобщем есть процедуры с участием компонентов:
Код

//прописываем параметры
procedure My_text(Label1, Label2: TLabel);
begin
  Label1.Caption:= 'Мой текст1';
  Label2.Caption:= 'Мой текст2';
end;

//не прописываем параметры
procedure My_text_other;
begin
 with Form1 do begin
  Label1.Caption:= 'Мой текст другой1';
  Label2.Caption:= 'Мой текст другой2';
 end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
My_text(Label1, Label2);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 My_text_other;
end;


существует ли разница  - прописывать или не прописывать параметры процедур? Разница - в выделении ресурсов компьютера есть? Или оба способа абсолютно одинаковы и памяти кушают одинаково?

Автор: CodeMonkey 7.8.2009, 15:18
Использование глобальных переменных - абсолютное зло, поэтому вариант с My_text_other вообще не нужно рассматривать.
Другое дело, если бы My_text_other был бы методом Form1.

Автор: Teleport 7.8.2009, 15:40
2 CodeMonkey
Цитата

Использование глобальных переменных - абсолютное зло,...

 smile 

я так и предполагал. Вот как я тебя понял:
Код

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button3: TButton;
    procedure My_Text_method;
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Как метод Form1
procedure My_Text_method;
begin
 with Form1 do begin
  Label1.Caption:= 'Мой текст1 метод';
  Label2.Caption:= 'Мой текст2 метод';
 end;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
 My_Text_method;
end;

end.


Правильно ли я тебя понял? 

Автор: CodeMonkey 7.8.2009, 15:57
Да, только My_Text_method будет выглядеть так:

Код
//Как метод Form1
procedure TForm1.My_Text_method;
begin
  Label1.Caption:= 'Мой текст1 метод';
  Label2.Caption:= 'Мой текст2 метод';
end;

Автор: Teleport 7.8.2009, 16:09
точно! и его через инспектор можно прикрутить к нужным методам. Спасибо, вопрос решен smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)