Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > array[0..N] of Tlabel;


Автор: Z_P 21.12.2003, 21:24
Как сделать массив типа этого, какие названия тогда давать Lable? что бы можно было вызывать
L[i].caption:="..."

var
L: array[0..N] of Tlabel;




Автор: zemfir 21.12.2003, 21:27
никаких, просто

lab_array[i]:= TLabel.Create(...);

Автор: zemfir 21.12.2003, 21:29
т.е. в массив кидаются указатели на лэйбелы.

Если лэйбелы уже существуют, то идет просто присваивание

lab_array[0]=label1
lab_array[1]=label2
lab_array[2]=label3

и т.п.

Автор: zemfir 21.12.2003, 21:29
т.е. в массив кидаются указатели на лэйбелы.

Если лэйбелы уже существуют, то идет просто присваивание

lab_array[0]=label1
lab_array[1]=label2
lab_array[2]=label3

и т.п.

Автор: Z_P 21.12.2003, 21:36
Цитата(zemfir @ 21.12.2003, 21:27)
lab_array[i]:= TLabel.Create(...);

а если таким способом, то что в скобках писать надо??
И при этом где он в начале ставить Лейбл?

Автор: zemfir 21.12.2003, 21:49
гм, мдаsmile.gif

*************
constructor Create(AOwner: TComponent); override;

Description

Call Create to create an instance of TCustomLabel at runtime. Labels placed on forms at design time are created automatically.

After calling the inherited constructor, Create initializes the following properties:

• AutoSize to True.
• ShowAccelChar to True.
• ControlStyle to [csOpaque, csReplicatable].
• Width to 65 and Height to 17.
*************


на счёт второго вопроса не понял. Написанное выше в равной степени относится ко всем наследникам TComponent.
Если конкретезируете, что конкретно нужно, все будет проще.

Автор: Z_P 21.12.2003, 21:55
zemfir в общем то я понял, спасибо, буду пробывать!
во втором вопросе я спрашивал про width и height, теперь понял..

Автор: December 22.12.2003, 04:36
Не забудь про Parent

Автор: Z_P 22.12.2003, 17:29
Пишу...

var Lab: array[0..3] of Tlabel;
begin
TLabel.Create(TLabel);
end;

не идет...
в общем мне надо создать на форме label компонет, присвоить имя ему, чтобы через него обращаться, позже думаю не составит труда поменять распложение его на форме..
Кто нибудь может маленький пример написать??

Автор: <Spawn> 22.12.2003, 18:14
Пожалста:

Код
var   Labels: array[0..2] of TLabel;
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin
 for i:= 0 to 2 do
 begin
   Labels[i] := TLabel.Create(Self);
   Labels[i].Top:= i * 30;
   Labels[i].Caption:= Format('My label %d', [i]);
   Labels[i].Parent:= Self;
 end;
end;

Автор: Z_P 23.12.2003, 01:22
<Spawn> большое спасибо!!!
теперь я понял и сделал о чем мечталsmile.gif
Все работает!!!

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