Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program MixstersBalls;
- type
- Tplayer = record
- tabs: TTabSheet;
- check: array [0..3] of TCheckBox;
- CheckBox5: TCheckbox;
- ComboBox1,ComboBox2 : TComboBox;
- label5: TLabel;
- labels: array [0..3] of TLabel;
- Bevel1 : TBevel;
- edits: array of Tedit;
- end;
- var
- frmDesign: TForm;
- Language: TComboBox;
- visibles: TCheckBox;
- Random: TButton;
- FormName: TEdit;
- playerswitch: TScrollBar;
- Panel1: TPanel;
- Progress: TProgressBar;
- tab: TTabsheet;
- TabC: TPageControl;
- name: Tedit;
- str: TStringArray;
- player: array of TPlayer;
- c: integer;
- procedure ChangeName(Sender: TObject);
- begin
- frmdesign.Caption := FormName.Text
- end;
- procedure ChangeVisible(Sender: TObject);
- begin
- if visibles.checked then
- MakeWindowTransparent(frmDesign.Handle, 100)
- else
- MakeWindowTransparent(frmDesign.Handle, 255);
- end;
- procedure ChangeLanguage;
- var lang: array [0..2] of TStringArray;
- a, i: integer;
- begin
- {english}lang[0] := ['Language', 'Visible?', 'Randomize!'{, tabc.tabs[0]}];
- {spanish}lang[1] := [];
- { Danish}lang[2] := [];
- //a := tabc.tabindex;
- Language.Text := lang[a][0];
- Visibles.caption := lang[a][1];
- random.caption := lang[a][2];
- //tabc.tabs[0] := lang[a][4];
- //for i := 1 to tabc.tabs.count do
- // tabc.tabs[i] := lang[a][5];
- end;
- procedure FormatColor(sender:Tobject);
- begin
- if Tedit(sender).text = '' then
- begin
- Tedit(sender).Font.color := clSilver;
- Tedit(sender).Text := str[Tedit(sender).tag];
- end;
- end;
- procedure ChangeColours(Sender: TObject);
- begin
- if Tedit(sender).text = str[Tedit(sender).tag] then
- begin
- Tedit(sender).Font.Color := clBlack;
- Tedit(sender).Text := '';
- end;
- end;
- procedure Checkers(Sender: TObject);
- var i: integer;
- begin
- if sender = Player[c].Checkbox5 then
- begin
- Player[c].Combobox1.visible := Player[c].Checkbox5.checked;
- exit;
- end;
- for i := 0 to high(Player[c].Check) do
- if sender = Player[c].check[i] then
- begin
- Player[c].edits[i].enabled := Player[c].check[i].checked;
- break;
- end;
- end;
- procedure AddTab;
- var h, i: integer;
- rects: array of TBox;
- a: TStringArray;
- begin
- SetArrayLength(player, GetArrayLength(Player) + 1);
- h := high(Player);
- Player[h].tabs := ttabsheet.create(panel1);
- Player[h].tabs.parent := panel1;
- Player[h].tabs.caption := 'Player' + inttostr(h + 1);
- Player[h].tabs.PageControl := tabc;
- Player[h].Label5 := TLabel.Create(player[h].tabs);
- Player[h].Label5.Parent := player[h].tabs;
- Player[h].Label5.SetBounds(160,11,203,13);
- Player[h].Label5.Caption := 'Level you wish to stop cutting each tree at.';
- SetArrayLength(Player[h].edits, 6);
- rects := [inttobox(160,32,33,21), inttobox(160,64,33,21), inttobox(160,96,33,21), inttobox(160,128,33,21), inttobox(10,10,121,21), inttobox(10,42,121,21)];
- Str := ['Tree', 'Oak', 'Willow', 'Yew', 'Password', 'Username'];
- for i := 0 to high(Player[h].edits) do
- begin
- Player[h].Edits[i] := TEdit.Create(player[h].tabs);
- Player[h].Edits[i].Parent := player[h].tabs;
- Player[h].Edits[i].SetBounds(rects[i].x1, rects[i].y1, rects[i].x2, rects[i].y2);
- Player[h].Edits[i].Text := str[i];
- Player[h].Edits[i].Font.Color := clsilver;
- Player[h].Edits[i].OnEnter := @ChangeColours;
- Player[h].Edits[i].OnExit := @FormatColor;
- Player[h].Edits[i].tag := i;
- if i < 5 then
- Player[h].Edits[i].MaxLength := 2;
- end;
- Player[h].Bevel1 := TBevel.Create(player[h].tabs);
- Player[h].Bevel1.Parent := player[h].tabs;
- Player[h].bevel1.SetBounds(Player[h].Edits[5].left,Player[h].Edits[5].top + 32,121,7);
- Player[h].Bevel1.Shape := bsBottomLine;
- Player[h].ComboBox2 := TComboBox.Create(player[h].tabs);
- Player[h].ComboBox2.Parent := player[h].tabs;
- Player[h].ComboBox2.SetBounds(Player[h].Edits[5].left,Player[h].bevel1.top + 21,121,21);
- Player[h].ComboBox2.Text := 'Pick Type';
- a := ['Bronze', 'Iron', 'Mithril', 'Adamant', 'Rune'];
- for i := 0 to 4 do
- Player[h].ComboBox2.Items.Add(a[i]);
- Player[h].CheckBox5 := TCheckBox.Create(player[h].tabs);
- Player[h].CheckBox5.Parent := player[h].tabs;
- Player[h].CheckBox5.SetBounds(Player[h].Edits[5].left,Player[h].ComboBox2.top + 32,97,17);
- Player[h].CheckBox5.Caption := 'Bank?';
- Player[h].CheckBox5.Checked := true;
- Player[h].Checkbox5.OnClick := @Checkers;
- Player[h].ComboBox1 := TComboBox.Create(player[h].tabs);
- Player[h].ComboBox1.Parent := player[h].tabs;
- Player[h].Combobox1.SetBounds(Player[h].Edits[5].left,Player[h].Checkbox5.top + 28,121,21);
- Player[h].ComboBox1.Text := 'Bank';
- a := ['Draynor', 'Edgeville', 'Falador', 'Lumbridge', 'Varrok'];
- for i := 0 to 4 do
- Player[h].ComboBox1.Items.Add(a[i]);
- for i := 0 to high(Player[h].check) do
- begin
- Player[h].Check[i] := TCheckBox.Create(player[h].tabs);
- Player[h].Check[i].Parent := player[h].tabs;
- Player[h].Check[i].SetBounds(200, 34 + i * 32, 17, 17);
- Player[h].Check[i].Checked := true;
- Player[h].Check[i].OnClick := @Checkers;
- end;
- end;
- procedure cc(Sender: TObject);
- begin
- c := tabc.ActivePageIndex;
- end;
- procedure InitForm;
- begin
- frmDesign := CreateForm;
- with frmDesign do
- begin
- AutoScroll := false;
- frmdesign.SetBounds(0,0,696,480);
- Position := poScreenCenter;
- Caption := 'Balls of a Kind';
- end;
- Language := TComboBox.Create(frmDesign);
- with Language do
- begin
- Parent := frmDesign;
- SetBounds(0,0,145,21);
- Text := 'Language';
- end;
- Visibles := TCheckBox.Create(frmDesign);
- with Visibles do
- begin
- Parent := frmDesign;
- SetBounds(Language.width,0,97,17);
- Caption := 'Visible?';
- OnClick := @ChangeVisible;
- end;
- random := TButton.Create(frmDesign);
- with random do
- begin
- Parent := frmDesign;
- SetBounds(Visibles.left + Visibles.width,0,75,25);
- Caption := 'Randomize!';
- end;
- FormName := TEdit.Create(frmDesign);
- with FormName do
- begin
- Parent := frmDesign;
- SetBounds(random.left + random.width,0,121,21);
- Text := 'Balls of a Kind';
- OnChange := @ChangeName;
- end;
- playerswitch := TScrollBar.Create(frmDesign);
- with playerswitch do
- begin
- Parent := frmDesign;
- SetBounds(FormName.left + FormName.width,0,121,17);
- PageSize := 0;
- end;
- Panel1 := TPanel.Create(frmDesign);
- with panel1 do
- begin
- Parent := frmDesign;
- Setbounds(0,24,frmdesign.width - 8,frmdesign.Height - 24 - 17 - 15);
- end;
- Progress := TProgressBar.Create(Panel1);
- with Progress do
- begin
- Parent := Panel1;
- Setbounds(0,panel1.height - 18,panel1.width,17);
- end;
- TabC := TPageControl.Create(Panel1);
- tabc.Parent := Panel1;
- tabc.SetBounds(0,0,panel1.Clientwidth, panel1.Clientheight - 17);
- tabc.OnChange := @cc;
- tab := ttabsheet.create(panel1);
- tab.parent := panel1;
- tab.caption := 'General';
- tab.PageControl := tabc;
- AddTab;
- end;
- procedure ShowFormModal;
- begin
- frmDesign.ShowModal;
- end;
- var
- v: TVariantArray;
- begin
- try
- ThreadSafeCall('InitForm', v);
- ThreadSafeCall('ShowFormModal', v);
- finally
- FreeForm(frmDesign);
- except
- WriteLn('Main form seems to not be working.');
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement