Registriert seit: 13. Aug 2003
1.111 Beiträge
|
Zahlen in einer Menge (Set Of) speichern, Verständnisfrage
11. Dez 2005, 16:11
Ich habe drei Zahlen, die einen Zustand von 1 bis 8 annehmen können.
Diese Zahlen, die Zustände repräsentieren, sollen in einer Menge gespeichert werden.
In der Implementierung möchte ich anstatt dem Case, das irgendwie mathematisch berechnen.
Wie geht das ?
Delphi-Quellcode:
TMengenElemente =
( a1,a2,a3,a4,a5, a6, a7, a8,
b1,b2,b3,b4,b5, b6, b7, b8,
c1,c2,c3,c4,c5, c6, c7, c8);
TMenge = set of TMengenElemente;
procedure include_A(var m : TMenge; value : byte);
begin
case Value of
1 : include(m, a1);
2 : include(m, a2);
3 : include(m, a3);
4 : include(m, a4);
5 : include(m, a5);
6 : include(m, a6);
7 : include(m, a7);
8 : include(m, a8);
end;
end; // von Include_A
//==============================================================================
procedure include_B(var m : TMenge; value : byte);
begin
case value of
1 : include(m, b1);
2 : include(m, b2);
3 : include(m, b3);
4 : include(m, b4);
5 : include(m, b5);
6 : include(m, b6);
7 : include(m, b7);
8 : include(m, b8);
end;
end; // von Include_B
//==============================================================================
procedure include_C(var m : TMenge; value : byte);
begin
case value of
1 : include(m, c1);
2 : include(m, c2);
3 : include(m, c3);
4 : include(m, c4);
5 : include(m, c5);
6 : include(m, c6);
7 : include(m, c7);
8 : include(m, c8);
end;
end; // von Include_C
//==============================================================================
procedure Test;
var
m1, m2 : TMenge;
a,b,c : Integer;
begin
m1 := [];
m2 := [];
a := 8;
include_A(m1, a);
include(m2, TMengenElemente(a)); // so geht es natürlich leider nicht !
showmessage(inttostr(Integer(m1)) + ' ; ' + inttostr(Integer(m2)));
end;
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
|