@Pelagio
Not ist aber ein Logischer und kein Arithmetischer Operator!
also kann einem Wert überhaupt nicht "Not Irgendwas" zugewiesen werden, du kannst nur fragen, ob irgendwas Not ist.
dein Code ist also auch
schlicht falsch, und wenn er zufällig funktioniert, hast du zufällig getroffen.
____________________________________________________________________________________________________
An deine Problemstellung muss man anders herangehen.
normalerweise würde ich dort direkt mit 0 und 1 arbeiten, dann ist die Lösung besser sichtbar:
Code: Alles auswählen
Flag = 0
For n=0 To 15
Flag = 1 - Flag
Debug Flag
Next
wenn du unbedingt mit #True und #False arbeiten willst, musst du natürlich wissen, welchen Zahlenwert sie repräsentieren, um solche Kniffe anzuwenden.
Code: Alles auswählen
Flag = #False
For n=0 To 15
Flag = #True - Flag
Debug Flag
Next
sowas extra zu implementieren ginge zwar, wäre aber hochredundant, weil es nur für 0/1 Flaggen-Variablennamen funktionierte:
Code: Alles auswählen
Macro FlagInvert ( _VAR_NAME_ )
_VAR_NAME_ = ( 1 - _VAR_NAME_ )
EndMacro
Flag = #False
For n=0 To 15
FlagInvert( Flag )
Debug Flag
Next
außerdem kann man solche FlipFlops für jede beliebige zwei Werte bauen:
Code: Alles auswählen
Wert1 = Random( 10000 ) - 5000
Wert2 = Random( 10000 ) - 5000
Debug "Wert1 = " + Str( Wert1 )
Debug "Wert2 = " + Str( Wert2 )
Debug "---------------------"
Debug "FlipFlop"
Debug "---------------------"
Flag = Wert1
Ceiling = Wert1 + Wert2
For n=0 To 15
Flag = Ceiling - Flag
Debug Flag
Next
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.