If mit Variablen Variablen
-
Hallo,
ich habe 7 CheckBoxen. Alle aktivierten sollen als Und-Verknüpfung ausgewertet werden. Hierzu habe ich das Ergebnis in einem Array iArray[7].
Beispiel: CheckBox 1 und 3 aktiviert
Im Array steht 1011010Dementsprechend ist die Und Verknüpfung 1,3 erfüllt.
Nun will ich nicht jede Eventualität mit einem If prüfen. Gibt es einen anderen Ansatz ..?
Andi
-
Hallo,
Interpretiere dein Array als binäre Zahl und werte die dann aus.
-
Aus CheckBox1 - 7 mache ich eine Binärzahl je nach Checked, also in meinem Beispiel:
1010000In meinem Ergebnisarray der Übereinstimmungen steht dann z. B.:
1011001Über eien Schleife prüfe ich die beiden Arrays. Wenn in CheckBoxArray an Position x eine 1 steht und an gleicher Position des Ergebnisarray auch -> mache weiter. Wenn nicht -> break;
So spare ich mir alle If-Konstellationen zu prüfen.
Vielen Dank
-
Wenn du beide Arrays als Binärzahlen hast, kannst du auch mit Bit-Operatoren darauf arbeiten, da ersparst du dir die gesamte Schleife:
int boxes;// = 1010000 int array;// = 1011010 //baue beide Werte auf if(boxes&array == boxes) ... // alle wichtigen Bits im Array sind gesetzt - mache weiter