Ich hab da auch noch was um eine Zahl in einen Bitstring umzuwandeln.
z := Eingabe;
t := "";
@for(i := 2147483648; i >= 1; i := i / 2; t:= t + @If(!@IsNumber(z);"-";z >= i;@Do(z := z-i; "1");"0"));
t
In die Variable "z" kommt die umzuwandelnde Zahl, in "t" steht nach Durchlauf der @For-Schleife ein 32-Bit String.
Am Besten als berechnetes Feld in die Maske rein machen, Vergleiche in den Hide-Formeln kann man dann bequem mit
@Like(t;"_____________________________1__")
machen, ob ein bestimmtes Bit gesetzt (bzw mit 0 nicht gesetzt) ist.
Gruß
Roland
/edit: Erklärung
z:= Zahl
i := 2^31
Solange i (i durchläuft alle 2er-Potenzen)
prüfe ob z eine Zahl ist, wenn nein gib "-" aus (Fehlerbehandlung)
prüfe ob z >= i ist (dann ist das entsprechende Bit gesetzt)
und ziehe z ab und gib "1" aus
ansonsten gib "0" aus
i := i / 2 (nächste 2er Potenz)
next
Obige Schleife wird nun 32 mal ausgeführt und gibt für jedes Bit eine 1 oder 0 (bzw. "-" für ungültig) aus.