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

Reply via email to