Code: Alles auswählen
; ## Vier Zahlen zu einer Zahl packen ##
; ======================================
; Maximaler Wert der einzelnen Zahlen
MaxValue = 90
; Zuweisung der einzelnen Zahlen
Value_A = 50
Value_B = 30
Value_C = 9
Value_D = 38
; Packen der einzelnen Zahlen
RetVal.q = (Value_A * Int(Pow(MaxValue + 1, 3)))
RetVal + (Value_B * Int(Pow(MaxValue + 1, 2)))
RetVal + (Value_C * (MaxValue + 1))
RetVal + Value_D
; Alle Zahlen sind nun in RetVal
Debug RetVal ; = 37927837
; ## Eine Zahl zu vier Zahlen entpacken ##
; ========================================
; Entpacken der einzelnen Zahlen
Value_A = RetVal / Int(Pow(MaxValue + 1, 3))
RetVal % Int(Pow(MaxValue + 1, 3))
Value_B = RetVal / Int(Pow(MaxValue + 1, 2))
RetVal % Int(Pow(MaxValue + 1, 2))
Value_C = RetVal / (MaxValue + 1)
RetVal % (MaxValue + 1)
Value_D = RetVal
; Alle Zahlen sind wieder vorhanden
Debug Value_A ; = 50
Debug Value_B ; = 30
Debug Value_C ; = 9
Debug Value_D ; = 38
Code: Alles auswählen
; Hier legen wir fest, was alles zur Verfügung steht
Enumeration
#Pommes = 1
#Hamburger = 2
#Cola = 4
#Fanta = 8
#Alles = 16
EndEnumeration
Define Kunde_Bestellung.l
; Der Kunde sucht aus ...
Kunde_Bestellung | #Hamburger | #Cola
; Wir fragen die Bestellung ab
If Kunde_Bestellung & #Pommes
Debug "Kunde möchte Pommes."
EndIf
If Kunde_Bestellung & #Hamburger
Debug "Kunde möchte ein Hamburger."
EndIf
If Kunde_Bestellung & #Cola
Debug "Kunde möchte eine Cola."
EndIf
If Kunde_Bestellung & #Fanta
Debug "Kunde möchte eine Fanta."
EndIf
If Kunde_Bestellung & #Alles
Debug "Kunde möchte Pommes, einen Hamburger, eine Cola und eine Fanta."
EndIf