Da ich nicht mehr so fit in Delphi bin habe ich es gerade mal getestet:
Delphi-Quellcode:
program SetTest;
{$APPTYPE CONSOLE}
uses SysUtils;
type
TSomeSet = set of (eins,
zwei,
drei,
vier);
procedure PrintSet(const aMenge: TSomeSet);
begin
Writeln(Ord(PChar(@aMenge)^));
end;
var
Menge : TSomeSet;
begin
Menge := [eins];
PrintSet(Menge);
Menge := [zwei];
PrintSet(Menge);
Menge := [drei];
PrintSet(Menge);
Menge := [vier];
PrintSet(Menge);
Writeln('--------------');
Menge := [eins];
PrintSet(Menge);
Menge := Menge + [eins];
PrintSet(Menge);
Menge := Menge + [zwei];
PrintSet(Menge);
Sleep(5000);
end.
Wie ich nicht anders erwartet habe bekomme ich:
Code:
1
2
4
8
--------------
1
1
3