|
Mit der Hex-Funktion
in Visual Basic können Sie eine Dezimalzahl in eine Hex(adezimal)zahl
konvertieren. Eine Funktion zur Konvertierung in umgekehrter
Richtung, also von einer Hexadezimalzahl in eine Dezimalzahl, werden
Sie jedoch nicht finden.
Im Prinzip ist dazu auch keine gesonderte Funktion notwendig.
Denn mit der bereits vorhandene "Allerwelts"-Funktion
Val
können Sie die Konvertierung erledigen. Die Val-Funktion erkennt
allerdings nur dann einen String als Hexadezimalzahl, wenn er mit
den VB-typischen Zeichen "&H"
beginnt, also etwa "&H0D" lautet. Fehlen diese "Vor"zeichen,
müssen Sie diese zuerst davor setzen.
Die Hilfsfunktion HexToDec erledigt dies automatisch. Ihr können
Sie eine Hexadezimalzahl sowohl mit oder ohne "&H"-Kennung
übergeben. Und falls der Hexadezimal-String mit der in vielen
anderen Programmiersprachen üblichen Zeichenfolge
"0x" beginnen sollte, kann diese Funktion das auch
verarbeiten und den korrekten Wert als Datentyp Long zurückgeben.
Public Function HexToDec(HexValue As String) As Long
On Error Resume Next
If UCase$(Left$(HexValue, 2)) = "0X" Then
HexToDec = Val("&H" & Mid$(HexValue, 3))
ElseIf UCase$(Left$(HexValue, 2)) <> "&H" Then
HexToDec = Val("&H" & HexValue)
Else
HexToDec = Val(HexValue)
End If
End Function
|