PDA

Просмотр полной версии : Динамичное создание tabsheet


SultanOFF
15.01.2010, 01:39
Здравствуйте. Как можно динамично создавать страницы(tabsheet) не зная заранее сколько их будет?
если бы заранее было известно сколько нужно создавать страниц делал бы так:
var
TabSheet : TTabSheet;
TabSheet := TTabSheet.Create(Self);
TabSheet.PageControl := PageControl;

но вот как создавать допустим если нужно сделать 5 страниц? Не могу же Я просто продублировать этот текст 5 раз с разными названиями переменных. Помогите пожалуйста :)

W!z@rD
15.01.2010, 07:38
for .. to .. do

там ты просто будешь по-новой создавать объект.

Chrome~
15.01.2010, 17:49
Код для создания 5-и TabSheets:
var
TabSheet: array[1..5] of TTabSheet;
i: integer;
begin
for i := 1 to 5 do
begin
TabSheet[i] := TTabSheet.Create(Self);
TabSheet[i].PageControl := PageControl;
end;
end;

SultanOFF
15.01.2010, 20:28
Решил делать таким способом
var
TabSheet : TTabSheet;
i, TabIndex: integer;
begin
TabIndex := 0;
for i:=0 to 1000 begin
TabSheet := nil;
TabSheet := TTabSheet.Create(Self);
TabSheet.Name := 'TabSheet' + IntToStr(TabIndex); // TabIndex - счётчик табов
TabSheet.Caption := 'TabSheet' + IntToStr(TabIndex);
TabSheet.PageControl := PageControl;
Inc(TabIndex);
end;
end;