In
From Free Pascal wiki
Revision as of 17:36, 20 November 2020 by Kai Burghardt (talk | contribs) (Undo revision 132386 by Trev (talk): remove “back-page”-link as referring to a _static_ page does not make sense because there are many pages linking here, not just one)
│
Deutsch (de) │
English (en) │
suomi (fi) │
The reserved word in
tests whether a value is in a set. It returns the boolean value
true
if the value belongs to the set and
false
if the value
does not belong to the set. The word in
is also used with the reserved word for
in for-in loop.
example
program projectin;
uses SysUtils,TypInfo;
type
Berry = (Blueberry,FlyHoneysuckle, Lingonberry, Raspberry,Snowberry,Strawberry);
Berries = set of berry;
var
basket: Berries;
someberry:berry;
str:string;
i:integer;
begin
basket := [];
writeLn('Choose a berry from the following berries into your basket');
repeat
i:=1;
for someberry in berry do
begin
Str := GetEnumName(TypeInfo(Berry),ord(someberry));
writeln(i,' : ',Str);
inc(i);
end;
writeln('0 : exit ');
writeln;
readln (i);
if i>0 then
begin
someberry :=Berry(i-1);
Include(basket,someberry);
end;
until i=0;
if (FlyHoneysuckle in basket) or (Snowberry in basket) then
begin
writeln ('You have poisonous berries in your basket');
if FlyHoneysuckle in basket then
writeln ('Your basket has a poisonous Fly honeysuckle!') ;
if Snowberry in basket then
writeln ('Your basket has a poisonous Snowberry!');
end;
writeln('So you had these berries in your basket:');
for someberry in basket do
begin
Str := GetEnumName(TypeInfo(Berry),ord(someberry));
writeln(Str);
end;
readln ;
end.