Skip to Content
0
Former Member
Dec 08, 2009 at 10:30 AM

The Formula that Change Hexadecimal to IP Dotted Quad

45 Views

<head>

<style>

<!--

p.MsoNormal

{mso-style-parent:"";

margin-bottom:.0001pt;

font-size:11.0pt;

font-family:"Calibri","sans-serif";

margin-left:0in; margin-right:0in; margin-top:0in}

-->

</style>

</head>

<p class="MsoNormal">I gotta a table that contain IP Addresses in <b>Hexadecimal

</b>format; I want to change it to <b>IP dotted quad</b></p>

<p class="MsoNormal">&nbsp;</p>

<p class="MsoNormal">The following formula does it, BUT it has an issue with

last octet</p>

<p class="MsoNormal"><b>For Ex:</b> the below formula change <b>

<span style="background: aqua">0A0D66DA</span></b> to <b>

<span style="background: yellow">10.13.102.10</span></b> while it should change

it to <b><span style="background: lime">10.13.102.218</span></b></p>

<p class="MsoNormal">

-


</p>

<p class="MsoNormal"><span style="background: silver">Local stringvar hex_in :=;</span></p>

<p class="MsoNormal"><span style="background: silver">if len(hex_in)&gt;0 then</span></p>

<p class="MsoNormal"><span style="background: silver">//Local stringvar hex_val

:=right(hex_in,len(hex_in)-2);</span></p>

<p class="MsoNormal"><span style="background: silver">Local stringvar hex_val;</span></p>

<p class="MsoNormal"><span style="background: silver">Local NumberVar strLen :=

Length (hex_in);</span></p>

<p class="MsoNormal"><span style="background: silver">Local NumberVar i;</span></p>

<p class="MsoNormal"><span style="background: silver">Local NumberVar j;</span></p>

<p class="MsoNormal"><span style="background: silver">Local NumberVar result;</span></p>

<p class="MsoNormal"><span style="background: silver">Local stringvar Array

fresult;</span></p>

<p class="MsoNormal"><span style="background: silver">Local stringvar

stringValue;</span></p>

<p class="MsoNormal"><span style="background: silver">ReDim fresult[4];</span></p>

<p class="MsoNormal"><span style="background: silver">local numbervar skip:=0;</span></p>

<p class="MsoNormal"><span style="background: silver">&nbsp;</span></p>

<p class="MsoNormal"><span style="background: silver">For j := 1 To strLen/2 Do</span></p>

<p class="MsoNormal"><span style="background: silver">(</span></p>

<p class="MsoNormal"><span style="background: silver">hex_val :=

mid(hex_in,j+skip,2);</span></p>

<p class="MsoNormal"><span style="background: silver">skip:=skip+1;</span></p>

<p class="MsoNormal"><span style="background: silver">For i := 0 To strLen-1 Do</span></p>

<p class="MsoNormal"><span style="background: silver">(</span></p>

<p class="MsoNormal"><span style="background: silver">select (mid

(hex_val,i+1,2))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;a&quot; : result :=

result10*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;b&quot; : result :=

result11*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;c&quot; : result :=

result12*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;d&quot; : result :=

result13*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;e&quot; : result :=

result14*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">case &quot;f&quot; : result :=

result15*(16 ^ (len(hex_val)-(i1)))</span></p>

<p class="MsoNormal"><span style="background: silver">default : result :=

resultval(mid (hex_val,i1,1))*(16 ^ (len(hex_val)-(i+1)));</span></p>

<p class="MsoNormal"><span style="background: silver">);</span></p>

<p class="MsoNormal"><span style="background: silver">fresult[j] :=

ToText(result,0);</span></p>

<p class="MsoNormal"><span style="background: silver">result:=0;</span></p>

<p class="MsoNormal"><span style="background: silver">);</span></p>

<p class="MsoNormal"><span style="background: silver">stringValue:=

fresult[1]&quot;.&quot;fresult[2]&quot;.&quot;fresult[3]&quot;.&quot;fresult[4];</span></p>

<p class="MsoNormal">

-


</p>

<p class="MsoNormal">&nbsp;</p>

<p class="MsoNormal">Any ideasu2026</p>