XML: Decimal To Hex Macro: Difference between revisions
From FSDeveloper Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
'''Decimal to Hex Macro using XMLVars''' | '''Decimal to Hex Macro using XMLVars''' | ||
<Macro Name=" | <Macro Name="HexDigit"> | ||
int d 10 >= | int d 10 >= | ||
if{ 55 + chr 'HexDigit' l31 scat (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string) } | if{ 55 + chr 'HexDigit' l31 scat (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string) } | ||
| Line 14: | Line 14: | ||
l31 ++ s31 | l31 ++ s31 | ||
'HexDigit' l31 scat (>C:XMLVARS:StoreVarName, string) | 'HexDigit' l31 scat (>C:XMLVARS:StoreVarName, string) | ||
l30 16 % @ | l30 16 % @HexDigit | ||
l30 16 / int s30 0 == if{ g301 } els{ g300 } | l30 16 / int s30 0 == if{ g301 } els{ g300 } | ||
:301 | :301 | ||
Revision as of 04:03, 25 July 2015
Decimal to Hex Macro using XMLVars
<Macro Name="HexDigit">
int d 10 >=
if{ 55 + chr 'HexDigit' l31 scat (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string) }
els{ 'HexDigit' l31 scat (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string) }
</Macro>
<Macro Name="Dec2Hex">
s30
'@1' (>C:XMLVARS:StoreVarName, string) '' '@1' (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string)
0 sp31
:300
l31 ++ s31
'HexDigit' l31 scat (>C:XMLVARS:StoreVarName, string)
l30 16 % @HexDigit
l30 16 / int s30 0 == if{ g301 } els{ g300 }
:301
'@1' (>C:XMLVARS:SearchVarName, string) (C:XMLVARS:StringValue, string)
'HexDigit' l31 scat (>C:XMLVARS:SearchVarName, string) (C:XMLVARS:StringValue, string) scat
'@1' (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string)
l31 -- s31 0 != if{ g301 }
</Macro>
Example:
To convert decimal 13516816 to hexadecimal and write it to an XMLVar string variable arbitrarily named 'HexExample':
13516816 @Dec2Hex(HexExample)
XMLVar HexExample now contains the string CE4010 which is the hexadecimal equivalent of 13516816 (base 10)
Dec2Hex macro creates the XMLVar string variable when it is executed.
XMLVARS is part of the 'XMLTools' XML expansion module written by Tom Aguilo. XMLTools can be freely downloaded here [1]
NOTE: The side-by-side single quotes in Dec2Hex line two: these are two single quotes with no space in between