wie klappt nicht?
und zum Verstehen ... siehe
Mengenoperationen (oder so in etwa)
Delphi-Quellcode:
{Menge3 = alles was in Menge1 UND in Menge2 enhalten}
Menge1 * Menge2 = Menge3
{Menge3 = alles was in Menge1 ODER in Menge2 enhalten}
Menge1 + Menge2 = Menge3
{Menge3 = alles was in Menge1 UND NICHT in Menge2 enhalten}
Menge1 - Menge2 = Menge3
Delphi-Quellcode:
resultA := iMenge * [cb1, cb2, cb3]
// resultA enthält nur noch cb1, cb2 und/oder cb3 (soweit diese in iMenge enthalten waren)
resultB := resultA = [cb1, cb2, cb3]
// resultB ist true, wenn cb1, cb2 UND cb3 enthalten sind ... es also gleich ist
resultC := iMenge * [cb4, cb5, cb6]
// resultC = siehe ResultA
resultD := resultC = []
// resultD ist true, wenn cb4, cb5 UND cb6 NICHT enthalten sind ... es also ebenfalls gleich ist
die zweite und dritte variante aus dem vorherigen Post ist nur eine Kombination dieser Operationen/Vergleiche
und alles Varianten sollten diesem entsprechen
Delphi-Quellcode:
if (cb1 in iMenge)
and (cb2 in iMenge)
and (cb3 in iMenge)
and not (cb4 in iMenge)
and not (cb5 in iMenge)
and not (cb6 in iMenge) then
begin
showmessage{usw.}
end;