Moin Rüdiger,
Zitat von
hackie3of5:
Wie kann ich aber jetzt überprüfen, ob die Zahl zweimal enthalten ist?
Gar nicht.
Eine Menge kann jedes Element des Sets nur einmal enthalten.
Würde es gehen, könnte man es so machen:
Delphi-Quellcode:
type
Zahl = (eins,zwei,drei,vier);
Zahlen = set of Zahl;
var
zWork : Zahl;
znWork : Zahlen;
begin
zWork := zwei;
znWork := [eins,zwei,zwei,vier];
znWork := znWork - [zWork];
if (zWork in znWork) and (zWork in (znWork - [zWork])) then begin
ShowMessage('Zweimal');
end;
end;
Wie man aber leicht am Ergebnis sehen kann: Es kommt keine Meldung.
Du kannst das auch mal im Einzelschritt durchgehen, und Dir die Werte von znWork mal anschauen.
Robert hat es in seinem ersten Beitrag veranschaulicht:
Die Menge [...] ist nur ein Bitfeld.