scar Code:
program New;
var
frmDesign : TForm;
Tab : TPageControl;
Tabs : Array Of TTabSheet;
MainMenu : TMainMenu;
Menus : Array [0..3] Of TMenuItem;
GroupBox1 : TGroupBox;
Edit1 : TEdit;
Edit2 : TEdit;
Edit3 : TEdit;
Edit4 : TEdit;
Edit5 : TEdit;
procedure AddPlayer(Sender : TObject);
begin
SetLength(Tabs, Length(Tabs) + 1);
Tabs[High(Tabs)] := TTabSheet.Create(frmDesign);
Tabs[High(Tabs)].Caption := 'Player ' + IntToStr(Length(Tabs));
Tabs[High(Tabs)].PageControl := Tab;
GroupBox1 := TGroupBox.Create(frmDesign);
GroupBox1.Parent := Tabs[High(Tabs)];
GroupBox1.Left := 25;
GroupBox1.Top := 25;
GroupBox1.Width := 169;
GroupBox1.Height := 121;
GroupBox1.Caption := 'Username information';
GroupBox1.TabOrder := 0;
Edit1 := TEdit.Create(GroupBox1);
Edit1.Parent := GroupBox1;
Edit1.Left := 8;
Edit1.Top := 24;
Edit1.Width := 145;
Edit1.Height := 24;
Edit1.TabOrder := 0;
Edit1.Text := 'Username';
Edit2 := TEdit.Create(GroupBox1);
Edit2.Parent := GroupBox1;
Edit2.Left := 8;
Edit2.Top := 56;
Edit2.Width := 145;
Edit2.Height := 24;
Edit2.PasswordChar := '*';
Edit2.TabOrder := 1;
Edit2.Text := 'password';
Edit3 := TEdit.Create(GroupBox1);
Edit3.Parent := GroupBox1;
Edit3.Left := 8;
Edit3.Top := 88;
Edit3.Width := 73;
Edit3.Height := 24;
Edit3.TabOrder := 2;
Edit3.Text := 'Nick';
Edit4 := TEdit.Create(frmDesign);
Edit4.Parent := Tabs[High(Tabs)];
Edit4.Left := 200;
Edit4.Top := 50;
Edit4.Width := 81;
Edit4.Height := 24;
Edit4.TabOrder := 9;
Edit4.Text := 'Loads to do';
Edit5 := TEdit.Create(frmDesign);
Edit5.Parent := Tabs[High(Tabs)];
Edit5.Left := 300;
Edit5.Top := 50;
Edit5.Width := 89;
Edit5.Height := 24;
Edit5.TabOrder := 10;
Edit5.Text := 'Tree to chop';
end;
procedure RemovePlayer(Sender : TObject);
begin
Tabs[High(Tabs)].Free;
SetLength(Tabs, Length(Tabs) - 1);
end;
procedure InitForm;
begin
frmDesign := CreateForm;
with frmDesign do
begin
Position := poScreenCenter;
frmDesign.Width := 414;
frmDesign.Height := 374;
Caption := 'frmDesign';
Color := ClWhite;
Font.Color := clWindowText;
Font.Height := -14;
Font.Name := 'MS Sans Serif';
Font.Style := [];
PixelsPerInch := 120;
end;
MainMenu := TMainMenu.Create(frmDesign);
Menus[0] := TMenuItem.Create(frmDesign);
Menus[0].Caption := 'Players';
Menus[1] := TMenuItem.Create(frmDesign);
Menus[1].Caption := 'Script';
Menus[2] := TMenuItem.Create(frmDesign);
Menus[2].Caption := 'Add player';
Menus[2].OnClick := @AddPlayer;
Menus[3] := TMenuItem.Create(frmDesign);
Menus[3].Caption := 'Remove player';
Menus[3].OnClick := @RemovePlayer;
MainMenu.Items.Add(Menus[0]);
MainMenu.Items.Add(Menus[1]);
MainMenu.Items.Items[0].Add(Menus[2]);
MainMenu.Items.Items[0].Add(Menus[3]);
Tab := TPageControl.Create(frmDesign);
With Tab Do
Begin
Parent := frmDesign;
Align := AlClient;
End;
end;
procedure SafeInitForm;
var
v : TVariantArray;
begin
SetArrayLength(v, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowInitFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowInitFormModal;
var
v : TVariantArray;
begin
SetArrayLength(v, 0);
ThreadSafeCall('ShowInitFormModal', v);
end;
procedure MainInitForm;
begin
try
SafeInitForm;
SafeShowInitFormModal;
finally
FreeForm(frmDesign);
except
WriteLn('An error seems to have occurred in: InitForm');
end;
end;
begin
MainInitForm;
end.
Start reading tabs tutorials.