Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

unit Question1_u;

interface
variable names indent & align lines open but not too much (3)
type
TfrmQuestion1 = class(TForm)
private
iStalls : integer;{1 - Q1.6.1} (1)
end;
procedure TfrmQuestion1.FormActivate(Sender: TObject); (10)
begin
// Question 1.1
lblQ1_1.Caption := 'rAge expo';
lblQ1_1.Font.Style := [fsBold];
lblQ1_1.Font.Name := 'Chiller'; 
lblQ1_1.Font.Size := 60;

iStalls := 0;{1 - Q1.6}


end;

procedure TfrmQuestion1.btnQ1_2Click(Sender: TObject); (7)


var
sName : string;
begin // Question 1.2
sName :=edtName.Text;
lblQ1_2.Caption := 'Welcome to rAge expo 2019, ' + sName + '!’ + #10 + Enjoy your
visit.';
end;

procedure TfrmQuestion1.btnQ1_3Click(Sender: TObject); (11)


const
TicketPrice = 150; //Provided code - Do NOT change
var iTickets : integer;
rCost : real;
begin // Question 1.3
iTickets := strtoint (edtAmount.Text);
rCost := iTickets* TicketPrice;
edtCost.Text := FloatToStrF (rCost, ffCurrency,10,2);
end;

procedure TfrmQuestion1.btnQ1_4Click(Sender: TObject); (19)


var iTicket, iLanyard : Integer;
rcost : real;
begin // Question 1.4
iTicket := StrToInt (InputBox ('rAge Expo 2019', 'Enter amount of tickets:','0'));
iLanyard := Ceil (iTicket / 25) ;
rCost := iLanyard * 17.95;

if iLanyard > 50 then


begin
rcost := rCost – rCost * 7 /100; 
lblQ1_4.Caption := IntToStr(iLanyard)  + ' packs needed - DISCOUNT APPLIED! Final Cost: ' +
FloatToStrF(rCost,ffCurrency,10,2); 
end
else
lblQ1_4.Caption := IntToStr(iLanyard) + ' packs needed - NO DISCOUNT!  Final Cost: ' +
FloatToStrF(rCost,ffCurrency,10,2); 
end;
procedure TfrmQuestion1.btnQ1_5Click(Sender: TObject); (7)
var
iNumber : integer;
iDays, iWeeks : integer;
begin //Question 1.5
iNumber := sedDays.Value;
iWeeks := iNumber div 7;
iDays := iNumber mod 7;
pnlQ1_5.Caption:= (IntToStr(iWeeks)+ ' weeks and ' + IntToStr(iDays) + ' days.');
end;

procedure TfrmQuestion1.btnQ1_6Click(Sender: TObject); (18)


begin //Question 1.6.1
iNew := StrToInt (edtStalls.Text);
if (iStalls +iNew) < 76 then
begin
iStalls := iStalls + iNew ;
redOutput.Lines.Add ('New Number:'+IntToStr(iNew)  + #9 + 'Total:'+ IntToStr(iStalls) );
end
else
begin
redOutput.Lines.Add  ('Maximum stalls reached!'); 
edtStalls.Color := clRed;
end;
end;

procedure TfrmQuestion1.btnResetClick(Sender: TObject); (5)


begin //Question 1.6.2
iStalls := 0;
redOutput.Lines.Clear;
edtStalls.Clear;
edtStalls.SetFocus;
edtStalls.Color := clWhite; / clWindow
end;

procedure TfrmQuestion1.btnQ1_7Click(Sender: TObject); (19)


var rRadius, rAreaOneStall, rLostSpace, rCirc, rRope, rCost, rVAT, rFCost: Real;
iNumberStalls, iDiameter: integer;
begin //Question 1.7
iDiameter:= StrToInt(edtDiameter.Text); 

rRadius := iDiameter / 2; 
rAreaOneStall := Pi * sqr(rRadius); 
iNumberStalls := Floor (11000 / rAreaOneStall); 
rLostSpace := 11000 -  (iNumberStalls * rAreaOneStall); 
rCirc := 2 * Pi * rRadius; 
rRope := rCirc * iNumberStalls; 
rCost := 1.80 * rRope; 
rVAT := 15/100 * rCost; 
rFCost := rCost + rVAT; 

pnlStalls.Caption := 'Stalls: ' + IntToStr(iNumberStalls);  If FloatToStrF was used 0 decimal


places
pnlLostArea.Caption := 'Lost Area: ' + FloatToStrF(rLostSpace,ffFixed,10,2); 
pnlRope.Caption := 'Rope: ' + FloatToStrF(rRope, ffFixed,10,2) + ' m'; 

Labels ffCurrency 3 correct values


redDome.Lines.Add('Cost: ' + FloatToStrF(rCost,ffCurrency,10,2));
redDome.Lines.Add('VAT: ' + FloatToStrF(rVAT, ffCurrency,10,2));
redDome.Lines.Add('Final Cost: ' + FloatToStrF(rFCost, ffCurrency, 10, 2));
end;
end.

You might also like