SCAR Code:
{.include srl/srl.scar}
var
// InitForm variables.
frmDesign : TForm;
Label1, Label2, Label3, Label4, lblUser : TLabel;
EdUser, EdPass, EdNick : TEdit;
CbActive : TComboBox;
btnBack, btnCreate, btnDelete, btnNext : TButton;
cUser: Integer;
{*******************************************************************************
procedure AddUser;
By: RsN
Description:
*******************************************************************************}
procedure AddUser;
begin
SetArrayLength(Players, GetArrayLength(Players) + 1);
Players[GetArrayLength(Players) - 1].Name := 'New Name';
Players[GetArrayLength(Players) - 1].Pass := 'New Pass';
Players[GetArrayLength(Players) - 1].Nick := 'New Nick';
Players[GetArrayLength(Players) - 1].Active := True;
Players[GetArrayLength(Players) - 1].Loc := 'New Location';
end;
{*******************************************************************************
procedure Inititate(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure Inititate(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
cUser := GetArrayLength(Players) - 1;
end;
{*******************************************************************************
procedure CreateUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure CreateUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
AddUser;
cUser := GetArrayLength(Players) - 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure ForwardUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure ForwardUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure BackUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure BackUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser - 1 < 0) then
cUser := GetArrayLength(Players) - 1
else
cUser := cUser - 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure DeleteUser(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure DeleteUser(Sender: TObject);
var
lo, na, ni: string;
ac: Boolean;
begin
lo := Players[GetArrayLength(Players) - 1].Loc;
na := Players[GetArrayLength(Players) - 1].Name;
ni := Players[GetArrayLength(Players) - 1].Nick;
ac := Players[GetArrayLength(Players) - 1].Active;
Players[cUser].Loc := lo;
Players[cUser].Name := na;
Players[cUser].Nick := ni;
Players[cUser].Active := ac;
SetArrayLength(Players, GetArrayLength(Players) - 1);
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;
{*******************************************************************************
procedure Start(Sender : TObject);
By: RsN
Description:
*******************************************************************************}
procedure Start(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
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;
procedure InitForm;
var
TimeInitForm : Integer;
begin
TimeInitForm := GetSystemTime;
frmDesign := CreateForm;
with frmDesign do
begin
Position := poScreenCenter;
BorderStyle := bsSingle;
BorderIcons := [biMinimize,biSystemMenu];
ClientWidth := 289;
ClientHeight := 255;
Caption := 'frmDesign';
Color := clBtnFace;
Font.Color := clWindowText;
Font.Height := -11;
Font.Name := 'MS Sans Serif';
Font.Style := [];
PixelsPerInch := 96;
frmDesign.OnShow := @Start;//add this
end;
Label1 := TLabel.Create(frmDesign);
with Label1 do
begin
Parent := frmDesign;
Left := 32;
Top := 48;
Width := 66;
Height := 13;
Caption := 'Player Name :';
end;
lblUser := TLabel.Create(frmDesign);
with lblUser do
begin
Parent := frmDesign;
Left := 120;
Top := 232;
Width := 66;
Height := 13;
Caption := '0';
end;
Label2 := TLabel.Create(frmDesign);
with Label2 do
begin
Parent := frmDesign;
Left := 32;
Top := 80;
Width := 61;
Height := 13;
Caption := 'Player Pass :';
end;
Label3 := TLabel.Create(frmDesign);
with Label3 do
begin
Parent := frmDesign;
Left := 32;
Top := 112;
Width := 60;
Height := 13;
Caption := 'Player Nick :';
end;
Label4 := TLabel.Create(frmDesign);
with Label4 do
begin
Parent := frmDesign;
Left := 32;
Top := 144;
Width := 36;
Height := 13;
Caption := 'Active :';
end;
EdUser := TEdit.Create(frmDesign);
with EdUser do
begin
Parent := frmDesign;
Left := 128;
Top := 48;
Width := 121;
Height := 21;
TabOrder := 8;
Text := 'EdUser';
end;
EdPass := TEdit.Create(frmDesign);
with EdPass do
begin
Parent := frmDesign;
Left := 128;
Top := 80;
Width := 121;
Height := 21;
TabOrder := 9;
Text := 'EdPass';
end;
EdNick := TEdit.Create(frmDesign);
with EdNick do
begin
Parent := frmDesign;
Left := 128;
Top := 112;
Width := 121;
Height := 21;
TabOrder := 10;
Text := 'EdNick';
end;
CbActive := TComboBox.Create(frmDesign);
with CbActive do
begin
Parent := frmDesign;
Left := 128;
Top := 144;
Width := 121;
Height := 21;
ItemHeight := 13;
TabOrder := 11;
Text := 'CbActive';
with CbActive.Items do
begin
Add('True');
Add('False');
end;
end;
btnBack := TButton.Create(frmDesign);
with btnBack do
begin
Parent := frmDesign;
Left := 16;
Top := 184;
Width := 41;
Height := 33;
Caption := '<=';
TabOrder := 12;
btnBack.OnClick := @BackUser;//this
end;
btnCreate := TButton.Create(frmDesign);
with btnCreate do
begin
Parent := frmDesign;
Left := 64;
Top := 184;
Width := 73;
Height := 33;
Caption := 'Create Player';
TabOrder := 13;
btnCreate.OnClick := @CreateUser;//add
end;
btnDelete := TButton.Create(frmDesign);
with btnDelete do
begin
Parent := frmDesign;
Left := 144;
Top := 184;
Width := 73;
Height := 33;
Caption := 'Delete Player';
TabOrder := 14;
btnDelete.OnClick := @DeleteUser;//add
end;
btnNext := TButton.Create(frmDesign);
with btnNext do
begin
Parent := frmDesign;
Left := 224;
Top := 184;
Width := 41;
Height := 33;
Caption := '=>';
TabOrder := 15;
btnNext.OnClick := @ForwardUser;// add this
end;
WriteLn('InitForm compiled in ' + IntToStr(GetSystemTime - TimeInitForm) + ' milliseconds!');
end;
begin
MainInitForm;
cUser := 0;
if (GetArrayLength(Players) = 0) then
AddUser;
end.
http://oneunderuk.com/error.png
then it says
InitForm compiled in 32 milliseconds!
An error seems to have occurred in: InitForm
[Runtime Error] : Invalid Opcode in line 202 in script C:\Users\Thomas\Desktop\form.scar
help meh!
~shut