Hello people, here is my problem. So im trying to open two forms, when a button is clicked on the first, it goes to the second. I got it to do that, but depending on what button i click in the first form, it will determine the combobox items for the second form. When i press the button, it says 'could not call proc' Im guessing this is because the form is already opened, and maybe you cant change comboboxes in the middle like you can with lists.... anyway here is the script, if you know a way around it please tell me.
Look at lines 280(OpenMineForm(), before initform) and you will see where i took it out.
SCAR Code:
program New;
{.include SRL/SRL.scar}
var
MineForm : TForm;
Banner : TImage;
Labels: Array[0..10] of TLabel;
Edit: Array[0..5] Of TEdit;
ComboBox : Array[0..1] of TComboBox;
ListBox1 : TListBox;
Button: Array[0..7] Of TButton;
Memo1 : TMemo;
NoP,PlaySel,LoadsToDo,CP: integer;
RockType: String;
MainForm1 : TForm;
Label1 : TLabel;
MainButton:Array[0..4] of TButton;
Procedure FirstSetup;
begin
HowManyPlayers:=NoP;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= CP;
end;
Function CheckThaForm: Boolean;
var
i: integer;
begin
For i:=0 to 5 do
begin
if Edit[i].text= '' then
begin
Writeln('Please Fill Out the Whole Form!!!');
Result:= False;
Exit;
end;
end;
Result:=true;
end;
Procedure CheckButtonEnable;
begin
if NoP>0 then
begin
Button[0].enabled:=true;
Button[2].enabled:=true;
end;
if NoP>1 then
begin
Button[3].enabled:=true;
end;
if NoP<1 then
begin
Button[0].enabled:=false;
Button[2].enabled:=false;
end;
if NoP<2 then
begin
Button[3].enabled:=false;
end;
if PlaySel=0 then
begin
Button[0].enabled:=false;
end;
If PlaySel= NoP then
begin
Button[3].enabled:=false;
end;
end;
Procedure MakeList;
var
i: integer;
begin
ListBox1.Clear;
For i:=0 to NoP-1 do
begin
ListBox1.Items.Add(inttostr(i)+': '+Players[i].name);
end;
Labels[0].Caption:=('You Currently have '+IntToStr(NoP)+' Player(s)');
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
if PlaySel<0 then
begin
PlaySel:=0
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
end;
end;
Procedure SavePlayers;
var
i: integer;
SaveFile: TStringList;
begin
SaveFile:= TStringList.Create;
SaveFile.Add(IntToStr(NoP));
For i:=0 to NoP-1 do
begin
SaveFile.Add(Players[i].Name);
SaveFile.Add(Players[i].Pass);
SaveFile.Add(Players[i].Nick);
SaveFile.Add(booltostr(Players[i].Active));
SaveFile.Add(Players[i].Strings[0]);
SaveFile.Add(IntToStr(Players[i].Integers[0]));
end;
SaveToFile(SaveFile,AppPath+'Superbatmans_Forms\Players');
end;
Procedure LoadPlayers;
var
LoadFile: TSTringList;
i: integer;
begin
if fileexists(AppPath+'Superbatmans_Forms\Players') then
begin
LoadFile:= TStringList.Create;
if LoadFromFile(LoadFile,AppPath+'Superbatmans_Forms\Players') then
begin
NoP:=StrToInt(LoadFile.Strings[0]);
For i:=0 to NoP-1 do
begin
Players[i].name:=LoadFile.Strings[(i*6)+1];
Players[i].pass:=LoadFile.Strings[(i*6)+2];
Players[i].nick:=LoadFile.Strings[(i*6)+3];
Players[i].active:=StrToBool(LoadFile.Strings[(i*6)+4]);
Players[i].Strings[0]:=LoadFile.Strings[(i*6)+5];
Players[i].Integers[0]:=StrToInt(LoadFile.Strings[(i*6)+6]);
end;
Edit[0].text:= Players[0].Name;
Edit[1].text:= Players[0].Pass;
Edit[2].text:= Players[0].Nick;
For i:=0 to NoP-1 do
begin
ListBox1.Items.Add(IntToStr(i)+': '+Players[i].Name);
end;
PlaySel:=0;
end;
end;
end;
Procedure SaveAndStartClick(Sender: TObject);
begin
If CheckThaForm then
begin
SavePlayers;
MineForm.ModalResult:= mrOk;
end;
end;
Procedure SaveAndExitclick(Sender:Tobject);
begin
If CheckThaForm then
begin
SavePlayers;
MineForm.ModalResult:= mrOk;
TerminateScript;
end;
end;
Procedure AddClick(Sender: TObject);
begin
if CheckThaForm then
begin
NoP:=NoP+1;
firstSetup;
SetArrayLength(Players,NoP);
Players[NoP-1].Name:=Edit[0].text;
Players[NoP-1].Pass:=Edit[1].text;
Players[NoP-1].Nick:=Edit[2].text;
Players[NoP-1].Active:=StrToBool(ComboBox[0].text);
Players[NoP-1].Strings[0]:=ComboBox[1].text;
Players[NoP-1].Integers[0]:=StrToInt(Edit[5].text);
CheckButtonEnable;
MakeList;
PlaySel:=PlaySel+1;
end;
end;
Procedure PrevPlayer(Sender: TObject);
begin
Playsel:=PlaySel-1;
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
Edit[0].text:=Players[PlaySel].Name;
Edit[1].text:=Players[PlaySel].Pass;
Edit[2].text:=Players[PlaySel].Nick;
ComboBox[0].text:=BoolToStr(Players[PlaySel].active);
ComboBox[1].text:= Players[PlaySel].Strings[0];
Edit[5].text:=IntToStr(Players[PlaySel].Integers[0]);
CheckButtonEnable;
end;
Procedure NextPlayers(Sender: TObject);
begin
Playsel:=PlaySel+1;
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
Edit[0].text:=Players[PlaySel].Name;
Edit[1].text:=Players[PlaySel].Pass;
Edit[2].text:=Players[PlaySel].Nick;
ComboBox[0].text:=BoolToStr(Players[PlaySel].active);
ComboBox[1].text:= Players[PlaySel].Strings[0];
Edit[5].text:=IntToStr(Players[PlaySel].Integers[0]);
CheckButtonEnable;
end;
Procedure DeletePlayer(Sender: TObject);
var
i: integer;
begin
NoP:=NoP-1;
SetArrayLength(Players,NoP)
for i:=PlaySel to High(Players) do
begin
Players[i].Name:=Players[i+1].Name;
Players[i].Pass:=Players[i+1].Pass;
Players[i].Nick:=Players[i+1].Nick;
Players[i].Active:=Players[i+1].Active;
Players[i].Strings[0]:=Players[i+1].Strings[0];
Players[i].Integers[0]:=Players[i+1].Integers[0];
end;
PlaySel:=PlaySel-1;
MakeList;
CheckButtonEnable;
end;
Procedure ExitForm(Sender: TObject);
begin
MineForm.ModalResult:= mrOk;
TerminateScript;
end;
procedure SafeInitForm(WF: integer);
var
v: TVariantArray;
begin
setarraylength(V, 0);
if WF=0 then
begin
ThreadSafeCall('InitForm', v);
end;
if WF=1 then
begin
ThreadSafeCall('InitForm1',v);
end;
end;
procedure ShowFormModal1;
begin
MineForm.ShowModal;
end;
Procedure ShowFormModal2;
begin
MainForm1.ShowModal;
end;
procedure SafeShowFormModal(WhatForm: string);
var
v: TVariantArray;
begin
setarraylength(V, 0);
Case WhatForm Of
'FillForm': ThreadSafeCall('ShowFormModal1', v);
'MainForm1': ThreadSafeCall('ShowFormModal2',v);
end;
end;
Procedure OpenForm(WF: integer;WhatForm: String);
begin
SafeInitForm(WF);
SafeShowFormModal(WhatForm);
end;
Procedure OpenMineForm(Sender:TObject);
begin
{ComboBox[1].text:=('Copper');
ComboBox[1].Items.Add('Copper');
ComboBox[1].Items.Add('Tin');
ComboBox[1].Items.Add('Iron');
ComboBox[1].Items.Add('Coal');
ComboBox[1].Items.Add('Mithril');
ComboBox[1].Items.Add('Adamantite');
ComboBox[1].Items.Add('Runite');}
MainForm1.ModalResult:=mrOk;
end;
procedure InitForm;
var
i: integer;
begin
MineForm := CreateForm;
MineForm.Left := 250;
MineForm.Top := 114;
MineForm.Width := 555;
MineForm.Height := 570;
MineForm.Caption := 'frmDesign';
MineForm.Color := clWhite;
MineForm.Font.Color := clWindowText;
MineForm.Font.Height := -11;
MineForm.Font.Name := 'MS Sans Serif';
MineForm.Font.Style := [];
MineForm.Visible := false;
MineForm.PixelsPerInch := 96;
Banner := TImage.Create(MineForm);
Banner.Parent := MineForm;
Banner.Left := 0;
Banner.Top := 0;
Banner.Width := 537;
Banner.Height := 81;
For i:=0 to 10 do
begin
Labels[i]:=Tlabel.Create(MineForm);
Labels[i].Parent:=MineForm;
end;
For i:=1 to 5 do
begin
Labels[i].Width :=52;
Labels[i].Height:=13;
Labels[i].Left:=16;
Labels[i].Top:=104+(32*i);
end;
For i:=7 to 9 do
begin
Labels[i].Width:=76;
Labels[i].Height:=13;
Labels[i].Left:=368;
Labels[i].Top:=72+(56*(i-6));
end;
Labels[0].Left := 88;
Labels[0].Top := 88;
Labels[0].Width := 142;
Labels[0].Height := 13;
Labels[0].Caption := 'You Currently have Player[s] ';
Labels[1].Caption := 'Username: ';
Labels[2].Caption := 'Password: ';
Labels[3].Caption := 'Nick: ';
Labels[4].Caption := 'Active: ';
Labels[5].Caption := 'Rock: ';
Labels[6].Left := 80;
Labels[6].Top := 112;
Labels[6].Width := 9;
Labels[6].Height := 13;
Labels[6].Caption := '0:';
Labels[7].Caption := 'SRL ID: ';
Labels[8].Caption := 'SRL Password: ';
Labels[9].Caption := 'Loads To Do: ';
Labels[10].Left := 56;
Labels[10].Top := 344;
Labels[10].Width := 278;
Labels[10].Height := 13;
Labels[10].Caption := 'Best Progress Report For Superbatman'#39's Power Miner V1.0';
For i:=0 to 5 do
begin
Edit[i]:=TEdit.Create(MineForm);
Edit[i].Parent:= MineForm;
Edit[i].Width:=121;
Edit[i].Height:=21;
end;
For i:=0 to 2 do
begin
Edit[i].Left:=72;
Edit[i].Top:=104+((i+1)*32);
Edit[i].TabOrder:=8+i;
end;
For i:=3 to 5 do
begin
Edit[i].Left:=368;
Edit[i].TabOrder:=14+(i-3);
Edit[i].Top:=96+(56*(i-2));
end;
Edit[1].PasswordChar:='*';
Edit[4].PasswordChar:='*';
// LoadPlayers;
For i:=0 to 1 do
begin
ComboBox[i]:=TComboBox.Create(MineForm);
ComboBox[i].Parent:= MineForm;
ComboBox[i].Width:=121;
ComboBox[i].Height:=21;
ComboBox[i].ItemHeight:=13;
ComboBox[i].Left:=72;
ComboBox[i].Top:=232+(32*i);
ComboBox[i].TabOrder:=11+i;
end;
ComboBox[0].Text:='True';
ComboBox[0].Items.Add('True');
ComboBox[0].Items.Add('False');
ListBox1 := TListBox.Create(MineForm);
ListBox1.Parent := MineForm;
ListBox1.Left := 224;
ListBox1.Top := 136;
ListBox1.Width := 113;
ListBox1.Height := 153;
ListBox1.ItemHeight := 13;
ListBox1.TabOrder := 13;
For i:=0 to 7 do
begin
Button[i]:= TButton.Create(MineForm);
Button[i].Parent:= MineForm;
Button[i].TabOrder:=17+i;
Button[i].Width:=81;
Button[i].Height:=25;
end;
For i:=0 to 3 do
begin
Button[i].Top:=296;
Button[i].Left:=40+(i*104);
end;
For i:=4 to 7 do
begin
Button[i].Top:=488;
Button[i].Left:=40+((i-4)*104);
end;
CheckButtonEnable;
Button[0].Caption := '<---------';
Button[0].OnClick:=@PrevPlayer;
Button[1].Caption := 'Add Player';
Button[1].OnClick:=@AddClick;
Button[2].Caption := 'Delete Player';
Button[2].OnClick:=@DeletePlayer;
Memo1 := TMemo.Create(MineForm);
Memo1.Parent := MineForm;
Memo1.Left := 32;
Memo1.Top := 360;
Memo1.Width := 425;
Memo1.Height := 121;
Memo1.Lines.Add('######################################');
Memo1.Lines.Add('#SuperBatmans''s Miner Thing');
Memo1.Lines.Add('#Xp gained: 60480');
Memo1.Lines.Add('#Time Running: 3 Hours, 16 Minutes and 0 Seconds');
Memo1.Lines.Add('#');
Memo1.Lines.Add('#Terminated For: Demon Random Event');
Memo1.TabOrder := 20;
Button[3].Caption := '--------->';
Button[3].OnClick:=@NextPlayers;
Button[4].Caption := 'Exit';
Button[4].OnClick:=@ExitForm;
Button[5].Caption := 'Save and Exit';
Button[5].OnClick:=@SaveAndExitClick;
Button[6].Caption := 'Save and Start';
Button[5].OnClick:=@SaveAndStartClick;
Button[7].Caption := 'Back To Menu';
end;
Procedure Initform1;
var
i: integer;
begin
MainForm1 := CreateForm;
MainForm1.Left := 250;
MainForm1.Top := 114;
MainForm1.Width := 281;
MainForm1.Height := 436;
MainForm1.Caption := 'SuperBatman'#39's Script Pack';
MainForm1.Color := clWhite;
MainForm1.Font.Color := clWindowText;
MainForm1.Font.Height := -11;
MainForm1.Font.Name := 'MS Sans Serif';
MainForm1.Font.Style := [];
MainForm1.Visible := False;
MainForm1.PixelsPerInch := 96;
Label1 := TLabel.Create(MainForm1);
Label1.Parent := MainForm1;
Label1.Left := 24;
Label1.Top := 32;
Label1.Width := 217;
Label1.Height := 23;
Label1.Caption := 'SuperBatman'#39's Script Pack!';
Label1.Font.Color := clRed;
Label1.Font.Height := -16;
Label1.Font.Name := 'Comic Sans MS';
Label1.Font.Style := [fsBold];
Label1.ParentFont := False;
For i:=0 to 4 do
begin
MainButton[i]:= TButton.Create(MainForm1);
MainButton[i].Parent:=MainForm1;
MainButton[i].Left:=24;
MainButton[i].Width:=217;
MainButton[i].Height:=41;
MainButton[i].Top:=72+(64*i);
MainButton[i].TabOrder:=8+i;
end;
MainButton[0].OnClick:=@OpenMineForm;
MainButton[0].Caption := 'Super Miner';
MainButton[1].Caption := 'Super Cooker';
MainButton[2].Caption := 'Super Fisher';
MainButton[3].Caption := 'Super WoodCutter';
MainButton[4].Caption := 'Next Page';
end;
begin
FirstSetup;
OpenForm(1,'MainForm1');
OpenForm(0,'FillForm');
end.
EDIT: I tried editing to this:
SCAR Code:
program New;
{.include SRL/SRL.scar}
var
MineForm : TForm;
Banner : TImage;
Labels: Array[0..10] of TLabel;
Edit: Array[0..5] Of TEdit;
ComboBox : Array[0..1] of TComboBox;
ListBox1 : TListBox;
Button: Array[0..7] Of TButton;
Memo1 : TMemo;
NoP,PlaySel,LoadsToDo,CP: integer;
RockType: String;
MainForm1 : TForm;
FishForm: TForm;
Label1 : TLabel;
MainButton:Array[0..4] of TButton;
Procedure FirstSetup;
begin
HowManyPlayers:=NoP;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= CP;
end;
Function CheckThaForm: Boolean;
var
i: integer;
begin
For i:=0 to 5 do
begin
if Edit[i].text= '' then
begin
Writeln('Please Fill Out the Whole Form!!!');
Result:= False;
Exit;
end;
end;
Result:=true;
end;
Procedure CheckButtonEnable;
begin
if NoP>0 then
begin
Button[0].enabled:=true;
Button[2].enabled:=true;
end;
if NoP>1 then
begin
Button[3].enabled:=true;
end;
if NoP<1 then
begin
Button[0].enabled:=false;
Button[2].enabled:=false;
end;
if NoP<2 then
begin
Button[3].enabled:=false;
end;
if PlaySel=0 then
begin
Button[0].enabled:=false;
end;
If PlaySel= NoP then
begin
Button[3].enabled:=false;
end;
end;
Procedure MakeList;
var
i: integer;
begin
ListBox1.Clear;
For i:=0 to NoP-1 do
begin
ListBox1.Items.Add(inttostr(i)+': '+Players[i].name);
end;
Labels[0].Caption:=('You Currently have '+IntToStr(NoP)+' Player(s)');
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
if PlaySel<0 then
begin
PlaySel:=0
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
end;
end;
Procedure SavePlayers;
var
i: integer;
SaveFile: TStringList;
begin
SaveFile:= TStringList.Create;
SaveFile.Add(IntToStr(NoP));
For i:=0 to NoP-1 do
begin
SaveFile.Add(Players[i].Name);
SaveFile.Add(Players[i].Pass);
SaveFile.Add(Players[i].Nick);
SaveFile.Add(booltostr(Players[i].Active));
SaveFile.Add(Players[i].Strings[0]);
SaveFile.Add(IntToStr(Players[i].Integers[0]));
end;
SaveToFile(SaveFile,AppPath+'Superbatmans_Forms\Players');
end;
Procedure LoadPlayers;
var
LoadFile: TSTringList;
i: integer;
begin
if fileexists(AppPath+'Superbatmans_Forms\Players') then
begin
LoadFile:= TStringList.Create;
if LoadFromFile(LoadFile,AppPath+'Superbatmans_Forms\Players') then
begin
NoP:=StrToInt(LoadFile.Strings[0]);
For i:=0 to NoP-1 do
begin
Players[i].name:=LoadFile.Strings[(i*6)+1];
Players[i].pass:=LoadFile.Strings[(i*6)+2];
Players[i].nick:=LoadFile.Strings[(i*6)+3];
Players[i].active:=StrToBool(LoadFile.Strings[(i*6)+4]);
Players[i].Strings[0]:=LoadFile.Strings[(i*6)+5];
Players[i].Integers[0]:=StrToInt(LoadFile.Strings[(i*6)+6]);
end;
Edit[0].text:= Players[0].Name;
Edit[1].text:= Players[0].Pass;
Edit[2].text:= Players[0].Nick;
For i:=0 to NoP-1 do
begin
ListBox1.Items.Add(IntToStr(i)+': '+Players[i].Name);
end;
PlaySel:=0;
end;
end;
end;
Procedure SaveAndStartClick(Sender: TObject);
begin
If CheckThaForm then
begin
SavePlayers;
MineForm.ModalResult:= mrOk;
end;
end;
Procedure SaveAndExitclick(Sender:Tobject);
begin
If CheckThaForm then
begin
SavePlayers;
MineForm.ModalResult:= mrOk;
TerminateScript;
end;
end;
Procedure AddClick(Sender: TObject);
begin
if CheckThaForm then
begin
NoP:=NoP+1;
firstSetup;
SetArrayLength(Players,NoP);
Players[NoP-1].Name:=Edit[0].text;
Players[NoP-1].Pass:=Edit[1].text;
Players[NoP-1].Nick:=Edit[2].text;
Players[NoP-1].Active:=StrToBool(ComboBox[0].text);
Players[NoP-1].Strings[0]:=ComboBox[1].text;
Players[NoP-1].Integers[0]:=StrToInt(Edit[5].text);
CheckButtonEnable;
MakeList;
PlaySel:=PlaySel+1;
end;
end;
Procedure PrevPlayer(Sender: TObject);
begin
Playsel:=PlaySel-1;
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
Edit[0].text:=Players[PlaySel].Name;
Edit[1].text:=Players[PlaySel].Pass;
Edit[2].text:=Players[PlaySel].Nick;
ComboBox[0].text:=BoolToStr(Players[PlaySel].active);
ComboBox[1].text:= Players[PlaySel].Strings[0];
Edit[5].text:=IntToStr(Players[PlaySel].Integers[0]);
CheckButtonEnable;
end;
Procedure NextPlayers(Sender: TObject);
begin
Playsel:=PlaySel+1;
Labels[6].Caption:=(IntToStr(PlaySel)+': ');
Edit[0].text:=Players[PlaySel].Name;
Edit[1].text:=Players[PlaySel].Pass;
Edit[2].text:=Players[PlaySel].Nick;
ComboBox[0].text:=BoolToStr(Players[PlaySel].active);
ComboBox[1].text:= Players[PlaySel].Strings[0];
Edit[5].text:=IntToStr(Players[PlaySel].Integers[0]);
CheckButtonEnable;
end;
Procedure DeletePlayer(Sender: TObject);
var
i: integer;
begin
NoP:=NoP-1;
SetArrayLength(Players,NoP)
for i:=PlaySel to High(Players) do
begin
Players[i].Name:=Players[i+1].Name;
Players[i].Pass:=Players[i+1].Pass;
Players[i].Nick:=Players[i+1].Nick;
Players[i].Active:=Players[i+1].Active;
Players[i].Strings[0]:=Players[i+1].Strings[0];
Players[i].Integers[0]:=Players[i+1].Integers[0];
end;
PlaySel:=PlaySel-1;
MakeList;
CheckButtonEnable;
end;
Procedure ExitForm(Sender: TObject);
begin
MineForm.ModalResult:= mrOk;
TerminateScript;
end;
procedure SafeInitForm(WF: integer);
var
v: TVariantArray;
begin
setarraylength(V, 0);
if WF=0 then
begin
ThreadSafeCall('InitForm', v);
end;
if WF=1 then
begin
ThreadSafeCall('InitForm0',v);
end;
if WF=2 then
begin
ThreadSafeCall('InitForm1',v);
end;
end;
procedure ShowFormModal1;
begin
MineForm.ShowModal;
end;
Procedure ShowFormModal2;
begin
MainForm1.ShowModal;
end;
Procedure ShowFormModal3;
begin
FishForm.ShowModal;
end;
procedure SafeShowFormModal(WhatForm: string);
var
v: TVariantArray;
begin
setarraylength(V, 0);
Case WhatForm Of
'FillForm':ThreadSafeCall('ShowFormModal1', v);
'MainForm1': ThreadSafeCall('ShowFormModal2',v);
'FishForm': ThreadSafeCall('ShowFormModal3',v);
end;
end;
Procedure OpenForm(WF: integer;WhatForm: String);
begin
SafeInitForm(WF);
SafeShowFormModal(WhatForm);
end;
Procedure OpenMineForm(Sender: TObject);
begin
MainForm1.ModalResult:=mrOk;
end;
Procedure OpenFishForm(Sender: TObject);
begin
MainForm1.ModalResult:=mrOk;
wait(500);
MineForm.ModalResult:=mrOk;
end;
procedure InitForm;
var
i: integer;
begin
MineForm := CreateForm;
MineForm.Left := 250;
MineForm.Top := 114;
MineForm.Width := 555;
MineForm.Height := 570;
MineForm.Caption := 'frmDesign';
MineForm.Color := clWhite;
MineForm.Font.Color := clWindowText;
MineForm.Font.Height := -11;
MineForm.Font.Name := 'MS Sans Serif';
MineForm.Font.Style := [];
MineForm.Visible := false;
MineForm.PixelsPerInch := 96;
Banner := TImage.Create(MineForm);
Banner.Parent := MineForm;
Banner.Left := 0;
Banner.Top := 0;
Banner.Width := 537;
Banner.Height := 81;
For i:=0 to 10 do
begin
Labels[i]:=Tlabel.Create(MineForm);
Labels[i].Parent:=MineForm;
end;
For i:=1 to 5 do
begin
Labels[i].Width :=52;
Labels[i].Height:=13;
Labels[i].Left:=16;
Labels[i].Top:=104+(32*i);
end;
For i:=7 to 9 do
begin
Labels[i].Width:=76;
Labels[i].Height:=13;
Labels[i].Left:=368;
Labels[i].Top:=72+(56*(i-6));
end;
Labels[0].Left := 88;
Labels[0].Top := 88;
Labels[0].Width := 142;
Labels[0].Height := 13;
Labels[0].Caption := 'You Currently have Player[s] ';
Labels[1].Caption := 'Username: ';
Labels[2].Caption := 'Password: ';
Labels[3].Caption := 'Nick: ';
Labels[4].Caption := 'Active: ';
Labels[5].Caption := 'Rock: ';
Labels[6].Left := 80;
Labels[6].Top := 112;
Labels[6].Width := 9;
Labels[6].Height := 13;
Labels[6].Caption := '0:';
Labels[7].Caption := 'SRL ID: ';
Labels[8].Caption := 'SRL Password: ';
Labels[9].Caption := 'Loads To Do: ';
Labels[10].Left := 56;
Labels[10].Top := 344;
Labels[10].Width := 278;
Labels[10].Height := 13;
Labels[10].Caption := 'Best Progress Report For Superbatman'#39's Power Miner V1.0';
For i:=0 to 5 do
begin
Edit[i]:=TEdit.Create(MineForm);
Edit[i].Parent:= MineForm;
Edit[i].Width:=121;
Edit[i].Height:=21;
end;
For i:=0 to 2 do
begin
Edit[i].Left:=72;
Edit[i].Top:=104+((i+1)*32);
Edit[i].TabOrder:=8+i;
end;
For i:=3 to 5 do
begin
Edit[i].Left:=368;
Edit[i].TabOrder:=14+(i-3);
Edit[i].Top:=96+(56*(i-2));
end;
Edit[1].PasswordChar:='*';
Edit[4].PasswordChar:='*';
// LoadPlayers;
For i:=0 to 1 do
begin
ComboBox[i]:=TComboBox.Create(MineForm);
ComboBox[i].Parent:= MineForm;
ComboBox[i].Width:=121;
ComboBox[i].Height:=21;
ComboBox[i].ItemHeight:=13;
ComboBox[i].Left:=72;
ComboBox[i].Top:=232+(32*i);
ComboBox[i].TabOrder:=11+i;
end;
ComboBox[0].Text:='True';
ComboBox[0].Items.Add('True');
ComboBox[0].Items.Add('False');
ComboBox[1].text:=('Copper');
ComboBox[1].Items.Add('Copper');
ComboBox[1].Items.Add('Tin');
ComboBox[1].Items.Add('Iron');
ComboBox[1].Items.Add('Coal');
ComboBox[1].Items.Add('Mithril');
ComboBox[1].Items.Add('Adamantite');
ComboBox[1].Items.Add('Runite');
ListBox1 := TListBox.Create(MineForm);
ListBox1.Parent := MineForm;
ListBox1.Left := 224;
ListBox1.Top := 136;
ListBox1.Width := 113;
ListBox1.Height := 153;
ListBox1.ItemHeight := 13;
ListBox1.TabOrder := 13;
For i:=0 to 7 do
begin
Button[i]:= TButton.Create(MineForm);
Button[i].Parent:= MineForm;
Button[i].TabOrder:=17+i;
Button[i].Width:=81;
Button[i].Height:=25;
end;
For i:=0 to 3 do
begin
Button[i].Top:=296;
Button[i].Left:=40+(i*104);
end;
For i:=4 to 7 do
begin
Button[i].Top:=488;
Button[i].Left:=40+((i-4)*104);
end;
CheckButtonEnable;
Button[0].Caption := '<---------';
Button[0].OnClick:=@PrevPlayer;
Button[1].Caption := 'Add Player';
Button[1].OnClick:=@AddClick;
Button[2].Caption := 'Delete Player';
Button[2].OnClick:=@DeletePlayer;
Memo1 := TMemo.Create(MineForm);
Memo1.Parent := MineForm;
Memo1.Left := 32;
Memo1.Top := 360;
Memo1.Width := 425;
Memo1.Height := 121;
Memo1.Lines.Add('######################################');
Memo1.Lines.Add('#SuperBatmans''s Miner Thing');
Memo1.Lines.Add('#Xp gained: 60480');
Memo1.Lines.Add('#Time Running: 3 Hours, 16 Minutes and 0 Seconds');
Memo1.Lines.Add('#');
Memo1.Lines.Add('#Terminated For: Demon Random Event');
Memo1.TabOrder := 20;
Button[3].Caption := '--------->';
Button[3].OnClick:=@NextPlayers;
Button[4].Caption := 'Exit';
Button[4].OnClick:=@ExitForm;
Button[5].Caption := 'Save and Exit';
Button[5].OnClick:=@SaveAndExitClick;
Button[6].Caption := 'Save and Start';
Button[5].OnClick:=@SaveAndStartClick;
Button[7].Caption := 'Back To Menu';
end;
Procedure Initform0;
var
i: integer;
begin
MainForm1 := CreateForm;
MainForm1.Left := 250;
MainForm1.Top := 114;
MainForm1.Width := 281;
MainForm1.Height := 436;
MainForm1.Caption := 'SuperBatman'#39's Script Pack';
MainForm1.Color := clWhite;
MainForm1.Font.Color := clWindowText;
MainForm1.Font.Height := -11;
MainForm1.Font.Name := 'MS Sans Serif';
MainForm1.Font.Style := [];
MainForm1.Visible := False;
MainForm1.PixelsPerInch := 96;
Label1 := TLabel.Create(MainForm1);
Label1.Parent := MainForm1;
Label1.Left := 24;
Label1.Top := 32;
Label1.Width := 217;
Label1.Height := 23;
Label1.Caption := 'SuperBatman'#39's Script Pack!';
Label1.Font.Color := clRed;
Label1.Font.Height := -16;
Label1.Font.Name := 'Comic Sans MS';
Label1.Font.Style := [fsBold];
Label1.ParentFont := False;
For i:=0 to 4 do
begin
MainButton[i]:= TButton.Create(MainForm1);
MainButton[i].Parent:=MainForm1;
MainButton[i].Left:=24;
MainButton[i].Width:=217;
MainButton[i].Height:=41;
MainButton[i].Top:=72+(64*i);
MainButton[i].TabOrder:=8+i;
end;
MainButton[0].OnClick:=@OpenMineForm;
MainButton[0].Caption := 'Super Miner';
MainButton[1].Caption := 'Super Cooker';
MainButton[1].Onclick:=@OpenFishForm;
MainButton[2].Caption := 'Super Fisher';
MainButton[3].Caption := 'Super WoodCutter';
MainButton[4].Caption := 'Next Page';
end;
procedure InitForm1;
var
i: integer;
begin
FishForm := CreateForm;
FishForm.Left := 250;
FishForm.Top := 114;
FishForm.Width := 555;
FishForm.Height := 570;
FishForm.Caption := 'frmDesign';
FishForm.Color := clWhite;
FishForm.Font.Color := clWindowText;
FishForm.Font.Height := -11;
FishForm.Font.Name := 'MS Sans Serif';
FishForm.Font.Style := [];
FishForm.Visible := false;
FishForm.PixelsPerInch := 96;
Banner := TImage.Create(FishForm);
Banner.Parent := FishForm;
Banner.Left := 0;
Banner.Top := 0;
Banner.Width := 537;
Banner.Height := 81;
For i:=0 to 10 do
begin
Labels[i]:=Tlabel.Create(FishForm);
Labels[i].Parent:=FishForm;
end;
For i:=1 to 5 do
begin
Labels[i].Width :=52;
Labels[i].Height:=13;
Labels[i].Left:=16;
Labels[i].Top:=104+(32*i);
end;
For i:=7 to 9 do
begin
Labels[i].Width:=76;
Labels[i].Height:=13;
Labels[i].Left:=368;
Labels[i].Top:=72+(56*(i-6));
end;
Labels[0].Left := 88;
Labels[0].Top := 88;
Labels[0].Width := 142;
Labels[0].Height := 13;
Labels[0].Caption := 'You Currently have Player[s] ';
Labels[1].Caption := 'Username: ';
Labels[2].Caption := 'Password: ';
Labels[3].Caption := 'Nick: ';
Labels[4].Caption := 'Active: ';
Labels[5].Caption := 'Rock: ';
Labels[6].Left := 80;
Labels[6].Top := 112;
Labels[6].Width := 9;
Labels[6].Height := 13;
Labels[6].Caption := '0:';
Labels[7].Caption := 'SRL ID: ';
Labels[8].Caption := 'SRL Password: ';
Labels[9].Caption := 'Loads To Do: ';
Labels[10].Left := 56;
Labels[10].Top := 344;
Labels[10].Width := 278;
Labels[10].Height := 13;
Labels[10].Caption := 'Best Progress Report For Superbatman'#39's Power Miner V1.0';
For i:=0 to 5 do
begin
Edit[i]:=TEdit.Create(FishForm);
Edit[i].Parent:= FishForm;
Edit[i].Width:=121;
Edit[i].Height:=21;
end;
For i:=0 to 2 do
begin
Edit[i].Left:=72;
Edit[i].Top:=104+((i+1)*32);
Edit[i].TabOrder:=8+i;
end;
For i:=3 to 5 do
begin
Edit[i].Left:=368;
Edit[i].TabOrder:=14+(i-3);
Edit[i].Top:=96+(56*(i-2));
end;
Edit[1].PasswordChar:='*';
Edit[4].PasswordChar:='*';
// LoadPlayers;
For i:=0 to 1 do
begin
ComboBox[i]:=TComboBox.Create(FishForm);
ComboBox[i].Parent:= FishForm;
ComboBox[i].Width:=121;
ComboBox[i].Height:=21;
ComboBox[i].ItemHeight:=13;
ComboBox[i].Left:=72;
ComboBox[i].Top:=232+(32*i);
ComboBox[i].TabOrder:=11+i;
end;
ComboBox[0].Text:='True';
ComboBox[0].Items.Add('True');
ComboBox[0].Items.Add('False');
ComboBox[1].text:=('Shrimp');
ComboBox[1].Items.Add('Shrimp');
ListBox1 := TListBox.Create(FishForm);
ListBox1.Parent := FishForm;
ListBox1.Left := 224;
ListBox1.Top := 136;
ListBox1.Width := 113;
ListBox1.Height := 153;
ListBox1.ItemHeight := 13;
ListBox1.TabOrder := 13;
For i:=0 to 7 do
begin
Button[i]:= TButton.Create(FishForm);
Button[i].Parent:= FishForm;
Button[i].TabOrder:=17+i;
Button[i].Width:=81;
Button[i].Height:=25;
end;
For i:=0 to 3 do
begin
Button[i].Top:=296;
Button[i].Left:=40+(i*104);
end;
For i:=4 to 7 do
begin
Button[i].Top:=488;
Button[i].Left:=40+((i-4)*104);
end;
CheckButtonEnable;
Button[0].Caption := '<---------';
Button[0].OnClick:=@PrevPlayer;
Button[1].Caption := 'Add Player';
Button[1].OnClick:=@AddClick;
Button[2].Caption := 'Delete Player';
Button[2].OnClick:=@DeletePlayer;
Memo1 := TMemo.Create(FishForm);
Memo1.Parent := FishForm;
Memo1.Left := 32;
Memo1.Top := 360;
Memo1.Width := 425;
Memo1.Height := 121;
Memo1.Lines.Add('######################################');
Memo1.Lines.Add('#SuperBatmans''s Miner Thing');
Memo1.Lines.Add('#Xp gained: 60480');
Memo1.Lines.Add('#Time Running: 3 Hours, 16 Minutes and 0 Seconds');
Memo1.Lines.Add('#');
Memo1.Lines.Add('#Terminated For: Demon Random Event');
Memo1.TabOrder := 20;
Button[3].Caption := '--------->';
Button[3].OnClick:=@NextPlayers;
Button[4].Caption := 'Exit';
Button[4].OnClick:=@ExitForm;
Button[5].Caption := 'Save and Exit';
Button[5].OnClick:=@SaveAndExitClick;
Button[6].Caption := 'Save and Start';
Button[5].OnClick:=@SaveAndStartClick;
Button[7].Caption := 'Back To Menu';
end;
begin
FirstSetup;
OpenForm(1,'MainForm1');
OpenForm(0,'FillForm');
OpenForm(2,'fishForm');
end.
But it wont let me close 2 forms in 1 procedure.