Enumeration mit 2er-Potenzen
Verfasst: 07.10.2012 11:39
Hi Leute,
hab mir gerade mal ein Mini-Macro gebaut mit dem man beim Enumerations in 2er-Potenz-Schritten Konstanten definieren. Dies wurde schon mehrfach im englischen Forum gewünscht, und auch ich selbst benutze des Öfteren z.B. für Flags solche Konstanten:
lg Kevin
hab mir gerade mal ein Mini-Macro gebaut mit dem man beim Enumerations in 2er-Potenz-Schritten Konstanten definieren. Dies wurde schon mehrfach im englischen Forum gewünscht, und auch ich selbst benutze des Öfteren z.B. für Flags solche Konstanten:
Code: Alles auswählen
; Hier das Macro
Macro enum2pow(_const_)
_const_ = ((#PB_Compiler_EnumerationValue=1 And 1) + (#PB_Compiler_EnumerationValue>1 And 1) * ((#PB_Compiler_EnumerationValue-1)<<1))
EndMacro
; Erster Test für Enumeration mit 2er-Potenzen-Schritten
Enumeration 1
enum2pow(#A1) ;1
enum2pow(#A2) ;2
enum2pow(#A3) ;4
enum2pow(#A4) ;8
EndEnumeration
Debug #A1
Debug #A2
Debug #A3
Debug #A4
Debug "----------"
; Zweiter Test mit Startwert
Enumeration 1 ; Muss immer 1 sein!!!!!!
enum2pow(#B1) * 16 ; Startwert hier multiplizieren
enum2pow(#B2) ;32
enum2pow(#B3) ;64
enum2pow(#B4) ;128
EndEnumeration
Debug #B1
Debug #B2
Debug #B3
Debug #B4