XML: Decimal To Hex Macro: Difference between revisions

From FSDeveloper Wiki
Jump to navigationJump to search
No edit summary
(Replaced content with "work in progress .......")
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Decimal to Hex Macro using XMLVars'''
work in progress .......
 
<Macro Name="ValHex">
  int d 10 &gt;=
    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) <nowiki>''</nowiki> '@1' (>C:XMLVARS:SearchVarName, string) (>C:XMLVARS:StringValue, string)
  0 sp31
  :300
    l31 ++ s31
    'HexDigit' l31 scat (>C:XMLVARS:StoreVarName, string)
    l30 16 % @ValHex
    l30 16 / int 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 contains the string CE4010 which is the hexadecimal equivalent of 13516816 (base 10)
 
Dec2Hex macro creates the XMLVar string variable when it is executed.
 
 
'''NOTE:'''  The side-by-side single quotes in Dec2Hex line two: these are two single quotes with no space in between
 
[[rpmc]]

Latest revision as of 09:48, 25 July 2015

work in progress .......