Delphi-Quellcode:
const MONTH_DAY = [1..28];
var i: Integer;
begin
i := 255;
while (i >= 0)
do
if i
in MONTH_DAY
then break
else Dec(i);
ShowMessage(IntToStr(i));
end;
i=255 ist nur ein beliebiger Wert, welcher auf viele SET passend gewählt sein sollte.
korrekter wäre es so
Delphi-Quellcode:
type TMONTH_DAY = 1..31;
const MONTH_DAY:
Set of TMONTH_DAY = [1..28];
var i: TMONTH_DAY;
begin
i := High(TMONTH_DAY);
while (i >= Low(TMONTH_DAY))
do
if i
in MONTH_DAY
then break
else Dec(i);
ShowMessage(IntToStr(Ord(i)));
end;
Man könnte aber auch die
RTTI bemühen, aber diese hab bis einschließlich D2009 'ne "Macke" und kommt mit SETs nicht klar, welche Lücken aufweisen, wie z.B. [1,3,5,50].
In soeinem Fall gibt es in der
RTTI keine Informationen über die Werte innerhalb des Arrays ... also absolut keine Inforationen (keine Namen und auch keine "Belegungsliste")