Solved

VB script for Hexadecimal usage

Posted on 2008-10-01
8
375 Views
Last Modified: 2012-06-21
Hi,

We have a hexadecimal like  0C0BA715B2223D47A8CACA87BE5D9679 . We want to use that in Vb script. We are not able to use that because it was taking only 8 bit values. So Could please tell us how can we use this kind of long hexadecimals in Vb script for assigning and addition.

Thanks in advance.
0
Comment
Question by:adpindia
  • 3
  • 3
  • 2
8 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 22614889
According to
http://support.microsoft.com/kb/279115

Use
 MsgBox CLng("&h" & hex_value)

0
 

Author Comment

by:adpindia
ID: 22615432
COULD YOU PLEASE TELL ME HOW TO ASSIGN 32 DIGIT HEXADECIMAL VALUE ( LIKE 0C0BA715B2223D47A8CACA87BE5D9679 ) TO A VARIABLE.

I HAVE TRIED  THIS WAY
DIM X= &h123AB344
ITS EXACTLY TAKING 8 DIGITS ELSE IT IS SAYING SYNTAX ERROR
PLEASE LET ME KNOW HOW TO PROCEED FURTHER...
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 22615523
Try the modified solution from here: http://www.experts-exchange.com/Q_21716456.html
HexVal="0C0BA715B2223D47A8CACA87BE5D9679"
 
wscript.echo HexToDec (HexVal)
 
Function HexToDec(HexNum)
    Dim x
    Dim TempValue
    Dim Digit
    Dim DecValue
 
    If UCase(Left(HexNum, 2)) = "&H" Then HexNum = Right(HexNum, Len(HexNum) - 2)
 
    For x = Len(HexNum) To 1 Step -1
        Digit = Mid(HexNum, x, 1)
        If UCase(Digit) = "A" Then
                TempValue = 10
        ElseIf UCase(Digit) = "B" Then
                TempValue = 11
        ElseIf UCase(Digit) = "C" Then
                TempValue = 12
        ElseIf UCase(Digit) = "D" Then
                TempValue = 13
        ElseIf UCase(Digit) = "E" Then
                TempValue = 14
        ElseIf UCase(Digit) = "F" Then
                TempValue = 15
        ElseIf UCase(Digit) >= "0" And UCase(Digit) <= "9" Then
                TempValue = Digit
      Else
                wscript.echo "Error in Hex string! (" & HexNum & ")"
                Exit Function
        End If
 
        DecValue = DecValue + TempValue * 16 ^ (Len(HexNum) - x)
    Next
 
    HexToDec = DecValue
End Function

Open in new window

0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 10

Expert Comment

by:MoreHeroic
ID: 22615731
0
 

Author Comment

by:adpindia
ID: 22622087
I believe this converts hexadecimal value to decimal. but i directly want to increment the hex value...is there any possibility as such....if so please let us know.

Thanks for the response.
0
 

Author Comment

by:adpindia
ID: 22622108
Also how do i assign this 32digit hex value to a variable..bcoz by default it is taking only 8digits and also is there any static declaration kind of thing in vb like in "c" so that it retains latest value every time i run a script.

For ex: if today a variable contains 0 i run the  script and after increments and all the  latest value is 5
next time when i run the same script i should continue from 5 and not 0
0
 
LVL 10

Accepted Solution

by:
MoreHeroic earned 500 total points
ID: 22624576
Here you go, large hex string addition where you keep the HEX values in strings:

http://blog.benfinnigan.com/2008/10/vbscript-adding-large-hex-strings.html
0
 
LVL 10

Expert Comment

by:MoreHeroic
ID: 22624591
To answer your question about keeping the variable static it wouldn't work between runs unless you stored it off someplace because once the vbscript has completed it is removed from memory.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question