• No results found

Spara all kod i mappen W:\DTR1207\(ditt namn)\T07\Inlämn1

N/A
N/A
Protected

Academic year: 2021

Share "Spara all kod i mappen W:\DTR1207\(ditt namn)\T07\Inlämn1"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

Inlämningsuppgift 1 

 

 

Du skall programmera en räknare med följande utseende. Till din hjälp har du källkoden nedan. 

Komponenterna du skall använda är: 

2 st. TEdit, 2 st. TLabel, 1 st. TPanel, 8 st. TBitBtn 

Hur räknaren skall fungera framgår av exemplet som finns på W:\DTR1207\Inlamn1 

Spara all kod i mappen W:\DTR1207\(ditt namn)\T07\Inlämn1 

 

   

(2)

 

Källkod:

unit Unit1; {unit1.pas}

{$mode objfpc}{$H+}

interface uses

Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics,Dialogs, StdCtrls, Buttons, ExtCtrls;

type

{ TfrmnnCalc }

TfrmnnCalc = class(TForm) edNum1 : TEdit;

edNum2 : TEdit;

lbOperator : TLabel;

Label2 : TLabel;

plResult : TPanel;

btnAdd : TBitBtn;

btnClear : TBitBtn;

btnDIV2 : TBitBtn;

btnMOD : TBitBtn;

btnAbout : TBitBtn;

btnSubtr : TBitBtn;

btnMult : TBitBtn;

btnDiv : TBitBtn;

procedure btnAboutClick(Sender: TObject);

procedure btnAddClick(Sender: TObject);

procedure btnClearClick(Sender: TObject);

procedure btnDIV2Click(Sender: TObject);

procedure btnDivClick(Sender: TObject);

procedure btnMODClick(Sender: TObject);

procedure btnMultClick(Sender: TObject);

procedure btnSubtrClick(Sender: TObject);

procedure edNum1KeyPress(Sender: TObject; var Key: char);

procedure edNum2KeyPress(Sender: TObject; var Key: char);

private

{ private declarations } public

{ public declarations } end;

var

frmnnCalc: TfrmnnCalc;

(3)

implementation { TfrmnnCalc }

procedure TfrmnnCalc.btnAboutClick(Sender: TObject);

begin

ShowMessage('djCalc' + #13#10 + 'Dennis Jonsson' + #13#10 + '2010-12-23');

end;

procedure TfrmnnCalc.btnAddClick(Sender: TObject);

var

Num1,Num2,Result: Integer;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := Num1 + Num2;

plResult.Caption := IntToStr(Result);

lbOperator.Caption := '+';

except

ShowMessage('Felaktig inmatning');

end;

end;

procedure TfrmnnCalc.btnClearClick(Sender: TObject);

begin

edNum1.Text := SysUtils.EmptyStr;

edNum2.Text := SysUtils.EmptyStr;

plResult.Caption := SysUtils.EmptyStr;

end;

procedure TfrmnnCalc.btnDIV2Click(Sender: TObject);

var

Num1,Num2,Result: Integer;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := Num1 DIV Num2;

plResult.Caption := IntToStr(Result);

lbOperator.Caption := 'DIV';

except

ShowMessage('Felaktig inmatning');

end;

end;

Byt ut  ’dj’mot dina egna initialer och ändra  namn och datum. 

(4)

 

procedure TfrmnnCalc.btnDivClick(Sender: TObject);

var

Num1,Num2: Integer;

Result: Double;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := (Num1/Num2);

plResult.Caption := FloatToStrF(Result, ffFixed, 8, 4);

lbOperator.Caption := '/';

except

ShowMessage('Felaktig inmatning');

end;

end;

procedure TfrmnnCalc.btnMODClick(Sender: TObject);

var

Num1,Num2,Result: Integer;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := Num1 MOD Num2;

plResult.Caption := IntToStr(Result);

lbOperator.Caption := 'MOD';

except

ShowMessage('Felaktig inmatning');

end;

end;

procedure TfrmnnCalc.btnMultClick(Sender: TObject);

var

Num1,Num2,Result: Integer;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := Num1 * Num2;

plResult.Caption := IntToStr(Result);

lbOperator.Caption := '×';

except

ShowMessage('Felaktig inmatning');

end;

end;

(5)

procedure TfrmnnCalc.btnSubtrClick(Sender: TObject);

var

Num1,Num2,Result: Integer;

begin try

Num1 := StrToInt(edNum1.Text);

Num2 := StrToInt(edNum2.Text);

Result := Num1 - Num2;

plResult.Caption := IntToStr(Result);

lbOperator.Caption := '-';

except

ShowMessage('Felaktig inmatning');

end;

end;

procedure TfrmnnCalc.edNum1KeyPress(Sender: TObject; var Key: char);

begin

// #8 is Backspace

if not (Key in [#8, '0'..'9']) then begin ShowMessage('Invalid key');

// Discard the key Key := #0;

end;

end;

procedure TfrmnnCalc.edNum2KeyPress(Sender: TObject; var Key: char);

begin

// #8 is Backspace

if not (Key in [#8, '0'..'9']) then begin ShowMessage('Invalid key');

// Discard the key Key := #0;

end;

end;

initialization {$I unit1.lrs}

end.

     

References

Related documents

R39/23/24/25 giftigt: risk för mycket allvarliga bestående hälsoskador vid inandning, hudkontakt och förtäring....

[r]

Práce i prezentace na PC bez výhrad s odbornými znalostmi studenta. Na doplnující otázky student odpovídal

Vissa äldre dokument med dåligt tryck kan vara svåra att OCR-tolka korrekt vilket medför att den OCR-tolkade texten kan innehålla fel och därför bör man visuellt jämföra

När vi hade lagt oss om kvällarna, borrade bror min ner huvudet i kudden och lekte ’Skulle Kunna Flyga’.. En massa svarta och röda små män kom då

Börja om proceduren med den förkortade listan och repetera den tills de resterande vektorerna är linjärt oberoende.. Tvärtom kan en lista ~ v

[r]

TECH NICKA uruVrRZIA V LIBERCI. Fakffi