hat mir jemand eine brauchbare Vorgehensweise, wie ich einer Funktion eine Bitmaske als Option mitgeben und in der Funktion auswerten kann.
Meine Funktion hat insgesamt 3 Möglichkeiten. Ich möchte aber bei einem Aufruf unter Umständen alle 3 Möglichkeiten gleichzeitig auswählen. Mein Ansatz sieht einfach aus: 1 + 2 + 4 ergibt die Zahl 7 oder Bit-mäßig 0111. Das kann ich auch in der Funktion wieder prüfen. Aber: wenn jemand beim Aufruf statt "1 + 2" "2+2" angibt, dann gibt das insgesamt 4 oder Bit-mäßig "0100". Wie kann ich diesen Fehler erkennen. Gibt es einen anderen Lösungsansatz?
Ich möchte ni´och erwähnen, dass ich nicht die Zahlen 1, 2 oder 3 verwende, sondern 3 Variable, welchen diese 3 Werte zugeordnet sind. So habe ich sprechende Parameter.
Es erscheint unlogisch, dass bei einem Aufruf bis zu 3 Unterfunktionen gleichzeitig möglich sein sollten. Aber in meinem Fall ist das so, und keine der Unterfunktionen hat mit den anderen Unterfunktionen etwas zu tun.
In meiner Funtion findet die Prüfung z. B,. so statt:
If CInt(Auswahl And 1) = 1 Then Debug.Print "Option 1"
If CInt(Auswahl And 2) = 2 Then Debug.Print "Option 2"
If CInt(Auswahl And 4) = 4 Then Debug.Print "Option 4"
Wer hat eine gute Idee?
Gruß
W H21