>
>FUNCTION hexi2deci
>PARAMETER txhex
>lndecimal = 0
>FOR i = LEN(txhex) TO 1 STEP -1
> lndecimal = lndecimal + (AT(SUBSTR(txhex, i, 1), ;
> "0123456789ABCDEF") - 1) * 16 ^ (LEN(txhex) - i)
>NEXT
>RETURN lndecimal
>
>
>FUNCTION deci2hexi
>PARAMETER tndec
>RETURN TRANSFORM(ASC(RIGHT(tndec,1))*(256^3)+;
> ASC(SUBSTR(tndec,3,1))*(256^2)+;
> ASC(SUBSTR(tndec,2,1))*(256)+ASC(LEFT(tndec,1)))
>
The Hexi2Deci() works, but Deci2Hexi() doesn't. E.g. trying Deci2Hexi("100") produces "808464433".
Another comment: The parameter name suggests that a numerical value is expected as input. However, the routine expects a character type numerical value.
Groet,
Peter de Valença
Constructive frustration is the breeding ground of genius.
If there’s no willingness to moderate for the sake of good debate, then I have no willingness to debate at all.
Let's develop superb standards that will end the holy wars.
"There are three types of people: Alphas and Betas", said the beta decisively.
If you find this message rude or offensive or stupid, please take a step away from the keyboard and try to think calmly about an eventual a possible alternative explanation of my message.