pker overkil
Forum Addict
Heres a woodcutting calculator i made in my spare time:
Code:
program WoodCuttingCalculator;
var
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
Label3 : TLabel;
Label4 : TLabel;
Label5 : TLabel;
MoneyGained : TLabel;
XpGained : TLabel;
XpGainedValue:String;
Amount:integer;
Amount2:Extended;
XpPerLog:Extended;
Trees:integer;
AmountOfTrees : TEdit;
MoneyPerTree : TEdit;
ComboBox1 : TComboBox;
Button1 : TButton;
MoneyGainedValue:String;
Procedure Calculate(Sender:TObject);
begin
Trees:=StrToInt(AmountOfTrees.text)
Amount:=StrToInt(MoneyPerTree.text)
MoneyGainedValue:=IntToStr(Amount*Trees)
MoneyGained.caption:=MoneyGainedValue
MoneyGained.Show
begin
Case Combobox1.text of
'Regular': XpPerLog:=25
'Oak': XpPerLog:=37.5
'Willow': XpPerLog:=67.5
'Yew': XpPerLog:=179.3
end;
Amount2:=StrToFloat(AmountOfTrees.text)
XpGainedValue:=FloatToStr(Amount2*XpPerLog)
XpGained.caption:=XpGainedValue
XpGained.show
end;
end;
Procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 440;
frmDesign.Height := 272;
frmDesign.Caption := 'WoodCutting Calculator';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 27;
Label1.Top := 35;
Label1.Width := 70;
Label1.Height := 13;
Label1.Caption := 'Amount of logs';
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 280;
Label2.Top := 35;
Label2.Width := 59;
Label2.Height := 13;
Label2.Caption := 'Price per log';
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 160;
Label3.Top := 35;
Label3.Width := 53;
Label3.Height := 13;
Label3.Caption := 'Type of log';
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 100;
Label4.Top := 116;
Label4.Width := 69;
Label4.Height := 13;
Label4.Caption := 'Money Gained';
Label5 := TLabel.Create(frmDesign);
Label5.Parent := frmDesign;
Label5.Left := 287;
Label5.Top := 116;
Label5.Width := 50;
Label5.Height := 13;
Label5.Caption := 'Xp Gained';
MoneyGained := TLabel.Create(frmDesign);
MoneyGained.Parent := frmDesign;
MoneyGained.Left := 100;
MoneyGained.Top := 138;
MoneyGained.Width := 66;
MoneyGained.Height := 13;
MoneyGained.Caption := 'MoneyGained';
MoneyGained.Hide
XpGained := TLabel.Create(frmDesign);
XpGained.Parent := frmDesign;
XpGained.Left := 287;
XpGained.Top := 138;
XpGained.Width := 47;
XpGained.Height := 13;
XpGained.Caption := 'XpGained';
XpGained.Hide
AmountOfTrees := TEdit.Create(frmDesign);
AmountOfTrees.Parent := frmDesign;
AmountOfTrees.Left := 27;
AmountOfTrees.Top := 52;
AmountOfTrees.Width := 121;
AmountOfTrees.Height := 21;
AmountOfTrees.TabOrder := 8;
MoneyPerTree := TEdit.Create(frmDesign);
MoneyPerTree.Parent := frmDesign;
MoneyPerTree.Left := 280;
MoneyPerTree.Top := 52;
MoneyPerTree.Width := 121;
MoneyPerTree.Height := 21;
MoneyPerTree.TabOrder := 9;
ComboBox1 := TComboBox.Create(frmDesign);
ComboBox1.Parent := frmDesign;
ComboBox1.Left := 160;
ComboBox1.Top := 52;
ComboBox1.Width := 108;
ComboBox1.Height := 21;
ComboBox1.DropDownCount := 4;
ComboBox1.ItemHeight := 13;
ComboBox1.TabOrder := 10;
ComboBox1.Text := '----select----';
ComboBox1.Items.Add('Regular')
ComboBox1.Items.Add('Oak')
ComboBox1.Items.Add('Willow')
ComboBox1.Items.Add('Yew')
Button1 := TButton.Create(frmDesign);
Button1.Parent := frmDesign;
Button1.Left := 181;
Button1.Top := 191;
Button1.Width := 75;
Button1.Height := 25;
Button1.Caption := 'Calculate';
Button1.TabOrder := 11;
Button1.Onclick :=@Calculate
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
SetArrayLength(V, 0);
ThreadSafeCall('InitForm',v);
end;
Procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v:TVariantArray;
begin
SetArrayLength(V,0);
ThreadSafeCall('ShowFormModal', v);
end;
begin
SafeInitForm
SafeShowFormModal
end.


