Динамичное создание tabsheet

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by SultanOFF, 15 Jan 2010.

  1. SultanOFF

    SultanOFF Member

    Joined:
    4 Jun 2009
    Messages:
    156
    Likes Received:
    6
    Reputations:
    0
    Здравствуйте. Как можно динамично создавать страницы(tabsheet) не зная заранее сколько их будет?
    если бы заранее было известно сколько нужно создавать страниц делал бы так:
    Code:
    var
    TabSheet : TTabSheet;
    TabSheet := TTabSheet.Create(Self);
    TabSheet.PageControl := PageControl; 
    
    но вот как создавать допустим если нужно сделать 5 страниц? Не могу же Я просто продублировать этот текст 5 раз с разными названиями переменных. Помогите пожалуйста :)
     
  2. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    for .. to .. do

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

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Код для создания 5-и TabSheets:
    Code:
    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;
     
  4. SultanOFF

    SultanOFF Member

    Joined:
    4 Jun 2009
    Messages:
    156
    Likes Received:
    6
    Reputations:
    0
    Решил делать таким способом
    Code:
    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;