Domino 9 und frühere Versionen > ND7: Entwicklung
Binäres und in Formelsprache
pram:
Ich hab da auch noch was um eine Zahl in einen Bitstring umzuwandeln.
--- Code: ---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
--- Ende Code ---
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
--- Code: ---@Like(t;"_____________________________1__")
--- Ende Code ---
machen, ob ein bestimmtes Bit gesetzt (bzw mit 0 nicht gesetzt) ist.
Gruß
Roland
/edit: Erklärung
--- Code: ---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.
--- Ende Code ---
MaxMuster:
Hallo Roland,
es braucht ein wenig die Formel zu verstehen - zumindest für mich.
Aber das ist ist ziemlich genau das was ich gesucht habe.
Vielen Dank, Roger
PS: Kann man den Thread als beantwortet markieren?
Keydins:
Symbol des 1. Beitrages auf 'Daumen hoch' ändern.
Gruß
Dirk
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln