Hallo Forum.
Ich möchte in einer Variablen verschiedene Infos als Bits speichern, um sie in einer Funktion auswerten zu können.
Mein Test-Code:
Sub BitsAnd()
Dim Status As Integer
Const Opt1 As Integer = 1
Const Opt2 As Integer = 2
Const Opt3 As Integer = 4
Const Opt4 As Integer = 8
Status = Opt1 + Opt4
Debug.Print Status
If (Status And Opt1) = Opt1 Then Debug.Print "Opt1 gesetzt"
If (Status And Opt2) = Opt2 Then Debug.Print "Opt2 gesetzt"
If (Status And Opt3) = Opt3 Then Debug.Print "Opt3 gesetzt"
If (Status And Opt4) = Opt4 Then Debug.Print "Opt4 gesetzt"
Status = Status + Opt1
Debug.Print Status
If (Status And Opt1) = Opt1 Then Debug.Print "Opt1 gesetzt"
If (Status And Opt2) = Opt2 Then Debug.Print "Opt2 gesetzt"
If (Status And Opt3) = Opt3 Then Debug.Print "Opt3 gesetzt"
If (Status And Opt4) = Opt4 Then Debug.Print "Opt4 gesetzt"
End Sub
Meine Frage:
Wie kann ich zu einem späteren Zeitpunkt den Opt1 setzen, ohne zu prüfen, ob er bereits gesetzt ist?
Mit dem oben genannten Beispiel ist der Wert 9 gespeichert, als Bits also 1001.
Wenn ich jetzt
Status = Status + Opt1
setze, habe ich nun den Wert 10, und das ist in Bits 1010. So geht es also nicht.
Doch wie geht es?
Gruß Joschi