Sida 1 av 3
Mängder
unit unit1;
{$mode objfpc}{$H+}
interface
uses
classes, sysutils, fileutil, lresources, forms, controls, graphics, dialogs, StdCtrls;
type
{ TNumber och TLetter }
TNumber = 0..200; //Detta lägger du till...
TLetter = 'a'..'z'; //...och detta { tform1 }
tform1 = class(tform) button1: tbutton;
button2: tbutton;
button3: tbutton;
label1: tlabel;
label2: tlabel;
listbox1: tlistbox;
listbox2: tlistbox;
Sida 2 av 3
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
procedure button3click(sender: tobject);
private
{ private declarations }
NumSet: Set of TNumber; //Detta lägger du till...
LetterSet: Set of TLetter; //...och detta public
{ public declarations } end;
var
form1: tform1;
implementation { tform1 }
procedure tform1.button1click(sender: tobject);
var
i: Integer;
Num: TNumber;
begin
NumSet := []; //Nollställ NumSet ListBox1.Clear; //Töm listrutan //Fyll NumSet med 10 slumptal for i := 1 to 10 do
begin
Num := Random(201); //Detta slumpar ett tal mellan 0 och 200 NumSet := NumSet + [Num];
end;
end;
procedure tform1.button2click(sender: tobject);
var
i,nr: Integer;
ch:char;
begin
LetterSet := []; //Nollställ LetterSet;
ListBox2.Clear; //Töm listrutan
//Fyll LetterSet med 10 slumpvisa bokstäver i := 1;
while (i <= 10) do // <= "mindre än eller lika med"
begin
nr := Random(256);
ch := Chr(nr);
if ch in ['a'..'z'] then begin
Inc(i);
LetterSet := LetterSet + [ch];
end;
end;
end;
Sida 3 av 3
procedure tform1.button3click(sender: tobject);
var
n: TNumber;
ch: TLetter;
begin
//Om ListBox1 är tom
if ListBox1.Items.Count = 0 then begin
//Undersök för alla möjliga värden i TNumber //dvs för varje tal i intervallet 0 .. 200 for n := Low(TNumber) to High(TNumber) do begin
//Om värdet ingår i mängden TNumber if n in NumSet then
begin
ListBox1.Items.Add(IntToStr(n));
end;
end;
end;
//Om ListBox2 är tom
if ListBox2.Items.Count = 0 then begin
for ch := Low(TLetter) to High(TLetter) do begin
if ch in LetterSet then begin
ListBox2.Items.Add(ch);
end;
end;
end;
end;
initialization {$I unit1.lrs}
end.