Function Int64(tn_HighVal, tn_LowVal, tn_BitCount, tn_Mode) Return val(Hex64(tn_HighVal, tn_LowVal, tn_BitCount, tn_Mode)) EndFunc Function Hex64(tn_HighVal, tn_LowVal, tn_BitCount, tn_Mode) Local i, ln_HighVal, ln_LowVal Local lc_HighHex, lc_LowHex ln_LowVal = tn_LowVal ln_HighVal = tn_HighVal Do case Case (tn_Mode = 1) && Shift right For i = 1 to tn_BitCount ln_LowVal = BitRShift(ln_LowVal, 1) If (BitAnd(ln_HighVal,1) == 1) ln_LowVal = BitOr(ln_LowVal, 0x80000000) endif ln_HighVal = BitRShift(ln_HighVal,1) Next Case (tn_Mode = 2) && Shift left For i = 1 to tn_BitCount ln_HighVal = BitLShift(ln_HighVal,1) If (BitAnd(tn_LowVal, 0x80000000) == 1) ln_HighVal = BitOr(ln_HighVal, 1) endif ln_LowVal = BitLShift(ln_LowVal, 1) Next EndCase lc_HighHex = substr(transform(ln_HighVal, '@0'), 3) lc_LowHex = substr(transform(ln_LowVal, '@0'), 3) Return '0x' + lc_HighHex + lc_LowHex EndFuncHTH