CX_BIT_PATTERN
Klassenhierarchie
- CX_CLASS
- CX_BIT_PATTERN
Beschreibung:
Diese Klasse bildet ein Bitmuster im System ab. Das Bitmuster ist eine Kombination aus Bits, mit der häufig die möglichen eindeutigen Kombinationen einer bestimmten Anzahl von Bits angegeben wird. Es ist erlaubt ein Muster aus 32 Bit genau 232 Kombinationen.
197959
Ein CX_BIT_PATTERN kann beispielsweise auch in einem Enumeration-Widget verwendet werden, indem einzelne Bits des CX_BIT_PATTERN über einen Zugriffsausdruck gewählt werden:
slotName.pattern[0]
Code-Beispiel:
Var(typePattern)
CreateTransObject(CX_BIT_PATTERN) -> typePattern
0 GetValue(, ShowFolder) typePattern Call(SetBit)
1 GetValue(, ShowItem) typePattern Call(SetBit)
2 GetValue(, ShowSubItem) typePattern Call(SetBit)
........................
7 typePattern Integer > |
.........................
// Type suitable?
tmpTodo Cardinality(subTransactions) // is folder
typePattern Copy(GetBit(0)) &
tmpTodo Cardinality(subTransactions) ! tmpTodo Get(transaction) if FALSE else TRUE & // is item
typePattern Copy(GetBit(1)) &
tmpTodo Get(transaction) if TRUE else FALSE // is subitem
typePattern Copy(GetBit(2)) &
| | ifnot return
Weitere Hinweise zur Semantik:
Im Gegensatz zu CX_INTEGER wird ein CX_BIT_PATTERN-Objekt für if und ifnot immer zu TRUE ausgewertet (unabhängig vom Wert).
CX_BIT_PATTERN unterstützt die folgenden Operatoren:
& = Bitwise AND | = Bitwise OR ^ = Bitwise XOR
Diese Operatoren untersützen auch die Verknüpfung von INTEGER oder CX_INTEGER mit einem CX_BIT_PATTERN. Hierfür wird der Zahlenwert vor der Operation automatisch in ein Bitpattern umgewandelt. Das Ergebnis dieser Operatoren ist immer ein neues CX_BIT_PATTERN-Objekt.
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
All | INTEGER | CX_INTEGER | CX_BIT_PATTERN | CX_BOOLEAN | Wenn alle Bits im Integer auf dem Stack auch im Bitpattern gesetzt sind, ist das Ergebnis TRUE, ansonsten FALSE | |
Any | INTEGER | CX_INTEGER | CX_BIT_PATTERN | CX_BOOLEAN | Wenn mindestens ein Bit im Integer auf dem Stack auch im Bitpattern gesetzt ist, ist das Ergebnis TRUE, ansonsten FALSE | |
And 225959 |
INTEGER | CX_INTEGER | CX_BIT_PATTERN | CX_BIT_PATTERN | Führt eine Bitweise Und-Verknüpfung durch. | |
Bit | INTEGER | CX_BOOLEAN | Bit abfragen | |
GetBit | INTEGER | INTEGER | Bit abfragen | |
Invert 225959 |
CX_BIT_PATTERN | Invertiert jedes Bit im Bitpattern. | ||
LeftShift 225959 |
INTEGER | CX_BIT_PATTERN | Verschiebt das Bitpattern um n Bits nach links. | |
Not 225959 |
CX_BIT_PATTERN | Führt eine logische Negation auf dem Bitpattern durch. | ||
Or 225959 |
INTEGER | CX_INTEGER | CX_BIT_PATTERN | CX_BIT_PATTERN | Führt eine Bitweise Oder-Verknüpfung durch. | |
RightShift 225959 |
INTEGER | CX_BIT_PATTERN | Verschiebt das Bitpattern um n Bits nach rechts. | |
SetBit | INTEGER, INTEGER | Bit setzen | ||
SetEnumTbl | STRING | Enumeration-Tabelle setzen | ||
Xor 225959 |
INTEGER | CX_INTEGER | CX_BIT_PATTERN | CX_BIT_PATTERN | Führt eine Bitweise Xor-Verknüpfung durch. | |
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes. |
* MA = Member-Access-Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
pattern | INTEGER | Bitmuster |
* I = Indizierbares Datenfeld
Modul | Kurzbeschreibung |
---|---|