Dave, here's a function I've used to convert big endien numbers. pData
is a big endien value read directly from a binary file. If pSigned is
empty then the data is assumed to be unsigned. Hopefully this will be
of some help.
function littleEndien pData, pSigned
put length(pData) into tLen
put 0 into tResult
repeat with i = 1 to tLen
add charToNum(char -i of pData) * (2 ^ ((i - 1) * 8)) to tResult
end repeat
if pSigned <> empty then
put tLen * 8 into tBits
put 2 ^ (tBits - 1) into tMSB
if (tResult bitAnd tMSB) > 0 then
put 2 ^ tBits - 1 into tAll
put -((tResult bitXOr tAll) + 1) into tResult
end if
end if
return tResult
end littleEndien
Dave wrote:
Hi,
That works great, thanks a lot. One other thing though:
I have an external that will eventually have to work on Mac/Intel,
Mac/PowerPC and Windows. The value that is being returned is
0x00000001, however on an Intel Mac it's being displayed as
0x01000000. e.g. it's a Big/Little Endian issue. Is there a standard
way to handle this for both platforms???
Thanks a lot for your help.
All the Best
Dave
On 13 Feb 2007, at 11:23, Mark Smith wrote:
If it's a revolution number, you can use <put
baseConvert(myStatus,10,16)>, if it's a 4 byte binary value, you can
put empty into tHexStatus
get binaryDecode("H*", myStatus, tHexStatus)
and tHexStatus should now contain the value as as hex chars.
Hope this helps,
Best,
Mark
On 13 Feb 2007, at 10:52, Dave wrote:
Hi,
I have a parameter that is passed back to RunRev in a Variable from
an External Command, e.g. the TranScript line is:
put myExternalFunction("myHandle") into myStatus
and the C/C++ line in the External is:
SetVariableEx(theArgumentArrayPtr[0],"",&myHandle,&myStatus);
I would now like to display the "handle" as a Hex Value in RunRev
but for the life of me I can't think how to do it! Guess my brain
has gone to sleep today! Any help would be appreciated!
Thanks a lot and All the Best
Dave
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution