Sida 1 av 3
Pseudokod
[ Observera hur man skriver proceduren
TForm1.Edit1KeyPressnedan. ]
unit Unit1;{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm) Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: char);
private
{ private declarations } public
{ public declarations } end;
var
Form1: TForm1;
Sida 2 av 3
implementation { TForm1 }
{ För att skapa denna kod [TForm1.Edit1KeyPress]:
1. Klicka någonstans i Edit1 så att komponenten blir markerad.
2. Välj sedan fliken Events i Object inspector.
3. Dubbelklicka till höger om "OnKeyPress".
4. Skriv sedan in koden mellan begin .. end enligt nedan.}
{ Det skall endast gå att mata in siffror I Edit1 }
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
//#8 är Backspace
if not (Key in [#8, '0'..'9']) then begin
ShowMessage('Ogiltig tangent'); //Felaktig tangent nedtryckt Key := #0;
end;
end;
{PSEUDOKOD:
- Skapa en variabel som kan innehålla ett heltal (Integer)
- Testa att proceduren är möjlig att köra annars skriv ut FEL! i en dialogruta.
- Överför värdet från editrutan till heltalsvariabeln
- Om värdet är mindre än ett hundra skriv 'Mindre än hundra' i etiketten..
annars skriv 'Mer än eller lika med hundra' i etiketten.}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin try
i := StrToInt(Edit1.Text);
if (i < 100) then begin
Label1.Caption := 'Mindre än hundra';
end else begin
Label1.Caption := 'Mer än eller lika med hundra';
end;
except
ShowMessage('FEL!');
end;
end;
Sida 3 av 3
{PSEUDOKOD:
- Skapa en variabel som kan innehålla ett heltal (Integer)
- Testa att proceduren är möjlig att köra annars skriv ut FEL! i en dialogruta.
- Överför värdet från editrutan till heltalsvariabeln
- Om värdet är 10 skriv '10 = DU VINNER 1.000.000 KR' i etiketten.
- Om värdet är 25 skriv '25 = DU VINNER 500.000 KR' i etiketten.
- Om värdet är 48 skriv '48 = DU VINNER 250.000 KR' i etiketten.
- Om värdet är 59 skriv '59 = DU VINNER 250.000 KR' i etiketten.
- Om värdet är 81 skriv '81 = DU VINNER 250.000 KR' i etiketten.
- Om värdet är 99 skriv '99 = DU VINNER 250.000 KR' i etiketten.
- Om värdet är något annat skriv 'INGEN VINST' i etiketten.}
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
begin try
i := StrToInt(Edit1.Text);
case i of
10 : Label1.Caption := '10 = DU VINNER 1.000.000 KR';
25 : Label1.Caption := '25 = DU VINNER 500.000 KR';
48 : Label1.Caption := '48 = DU VINNER 250.000 KR';
59 : Label1.Caption := '59 = DU VINNER 250.000 KR';
81 : Label1.Caption := '81 = DU VINNER 250.000 KR';
99 : Label1.Caption := '99 = DU VINNER 250.000 KR';
else
Label1.Caption := 'INGEN VINST';
end; {case}
except
ShowMessage('FEL!');
end; {try}
end;
initialization {$I unit1.lrs}
end.