237 lines
8.0 KiB
VB.net
237 lines
8.0 KiB
VB.net
Public Class DataConverters
|
|
Public Function EEToDec(ByVal hexval As String) As Integer
|
|
Dim result As Integer
|
|
Select Case Left$(hexval, 1)
|
|
Case "A" : result = &HA
|
|
Case "B" : result = &HB
|
|
Case "C" : result = &HC
|
|
Case "D" : result = &HD
|
|
Case "E" : result = &HE
|
|
Case "F" : result = &HF
|
|
Case Else : result = Val(Left$(hexval, 1))
|
|
End Select
|
|
Dim high As Integer
|
|
high = result * 16
|
|
Select Case Right$(hexval, 1)
|
|
Case "A" : result = &HA
|
|
Case "B" : result = &HB
|
|
Case "C" : result = &HC
|
|
Case "D" : result = &HD
|
|
Case "E" : result = &HE
|
|
Case "F" : result = &HF
|
|
Case Else : result = Val(Right$(hexval, 1))
|
|
End Select
|
|
Return high + result
|
|
End Function
|
|
|
|
Public Function EEToChar(ByVal hexval As String) As String
|
|
Return Chr(EEToDec(hexval))
|
|
End Function
|
|
|
|
Public Function EEToBin(ByVal hexval As String) As Integer()
|
|
Return DecToBin(EEToDec(hexval))
|
|
End Function
|
|
|
|
Public Function EEToHex(ByVal hexval As String) As String
|
|
Return Right$("00" & hexval, 2)
|
|
End Function
|
|
|
|
'************************************************************************
|
|
|
|
Public Function DecToBin(ByVal decval As Integer) As Integer()
|
|
Dim result(0 To 7) As Integer
|
|
Dim X As Integer
|
|
For X = 7 To 0 Step -1
|
|
If decval - 2 ^ X >= 0 Then
|
|
result(X) = 1
|
|
decval -= 2 ^ X
|
|
Else
|
|
result(X) = 0
|
|
End If
|
|
Next X
|
|
Return result
|
|
End Function
|
|
|
|
'-------------------------------------------------------------------------
|
|
Public Function CharToEE(ByVal chr As String) As String
|
|
Return DecToEE(Asc(chr))
|
|
End Function
|
|
|
|
Public Function DecToEE(ByVal decval As Integer) As String
|
|
Return Right$("0" & Hex$(decval), 2)
|
|
End Function
|
|
|
|
Public Function BinToEE(ByVal binval As String) As String
|
|
Dim result As String = String.Empty
|
|
Select Case Left$(binval, 4)
|
|
Case "0000" : result = "0"
|
|
Case "0001" : result = "1"
|
|
Case "0010" : result = "2"
|
|
Case "0011" : result = "3"
|
|
Case "0100" : result = "4"
|
|
Case "0101" : result = "5"
|
|
Case "0110" : result = "6"
|
|
Case "0111" : result = "7"
|
|
Case "1000" : result = "8"
|
|
Case "1001" : result = "9"
|
|
Case "1010" : result = "A"
|
|
Case "1011" : result = "B"
|
|
Case "1100" : result = "C"
|
|
Case "1101" : result = "D"
|
|
Case "1110" : result = "E"
|
|
Case "1111" : result = "F"
|
|
End Select
|
|
|
|
Select Case Right$(binval, 4)
|
|
Case "0000" : result &= "0"
|
|
Case "0001" : result &= "1"
|
|
Case "0010" : result &= "2"
|
|
Case "0011" : result &= "3"
|
|
Case "0100" : result &= "4"
|
|
Case "0101" : result &= "5"
|
|
Case "0110" : result &= "6"
|
|
Case "0111" : result &= "7"
|
|
Case "1000" : result &= "8"
|
|
Case "1001" : result &= "9"
|
|
Case "1010" : result &= "A"
|
|
Case "1011" : result &= "B"
|
|
Case "1100" : result &= "C"
|
|
Case "1101" : result &= "D"
|
|
Case "1110" : result &= "E"
|
|
Case "1111" : result &= "F"
|
|
End Select
|
|
Return result
|
|
End Function
|
|
'************************************************************************
|
|
|
|
|
|
|
|
'-------------------------------------------------------------------------
|
|
|
|
|
|
Public Function CharToHex(ByVal chr As String) As String
|
|
Return DecToHex(Asc(chr))
|
|
End Function
|
|
|
|
Public Function HexToChar(ByVal hexval As String) As String
|
|
Return Chr(HexToDec(hexval))
|
|
End Function
|
|
|
|
Public Function DecToHex(ByVal decval As Integer) As String
|
|
Return Right$("0" & Hex$(decval), 2)
|
|
End Function
|
|
|
|
Public Function HexToDec(ByVal hexval As String) As Integer
|
|
Dim result As Integer
|
|
Select Case Left$(hexval, 1)
|
|
Case "A" : result = &HA
|
|
Case "B" : result = &HB
|
|
Case "C" : result = &HC
|
|
Case "D" : result = &HD
|
|
Case "E" : result = &HE
|
|
Case "F" : result = &HF
|
|
Case Else : result = Val(Left$(hexval, 1))
|
|
End Select
|
|
Dim high As Integer
|
|
high = result * 16
|
|
Select Case Right$(hexval, 1)
|
|
Case "A" : result = &HA
|
|
Case "B" : result = &HB
|
|
Case "C" : result = &HC
|
|
Case "D" : result = &HD
|
|
Case "E" : result = &HE
|
|
Case "F" : result = &HF
|
|
Case Else : result = Val(Right$(hexval, 1))
|
|
End Select
|
|
Return high + result
|
|
End Function
|
|
|
|
Public Function BinToHex(ByVal binval As String) As String
|
|
Dim result As String = String.Empty
|
|
Select Case Left$(binval, 4)
|
|
Case "0000" : result = "0"
|
|
Case "0001" : result = "1"
|
|
Case "0010" : result = "2"
|
|
Case "0011" : result = "3"
|
|
Case "0100" : result = "4"
|
|
Case "0101" : result = "5"
|
|
Case "0110" : result = "6"
|
|
Case "0111" : result = "7"
|
|
Case "1000" : result = "8"
|
|
Case "1001" : result = "9"
|
|
Case "1010" : result = "A"
|
|
Case "1011" : result = "B"
|
|
Case "1100" : result = "C"
|
|
Case "1101" : result = "D"
|
|
Case "1110" : result = "E"
|
|
Case "1111" : result = "F"
|
|
End Select
|
|
|
|
Select Case Right$(binval, 4)
|
|
Case "0000" : result &= "0"
|
|
Case "0001" : result &= "1"
|
|
Case "0010" : result &= "2"
|
|
Case "0011" : result &= "3"
|
|
Case "0100" : result &= "4"
|
|
Case "0101" : result &= "5"
|
|
Case "0110" : result &= "6"
|
|
Case "0111" : result &= "7"
|
|
Case "1000" : result &= "8"
|
|
Case "1001" : result &= "9"
|
|
Case "1010" : result &= "A"
|
|
Case "1011" : result &= "B"
|
|
Case "1100" : result &= "C"
|
|
Case "1101" : result &= "D"
|
|
Case "1110" : result &= "E"
|
|
Case "1111" : result &= "F"
|
|
End Select
|
|
Return result
|
|
End Function
|
|
|
|
Public Function HexToBin(ByVal hexval As String) As Integer()
|
|
Return DecToBin(HexToDec(hexval))
|
|
End Function
|
|
|
|
'Function HexToBin(hexValue As String) As String
|
|
' Dim BinValue As String = Nothing
|
|
' Select Case Mid(hexValue, 1, 1)
|
|
' Case "0" : BinValue = "0000"
|
|
' Case "1" : BinValue = "0001"
|
|
' Case "2" : BinValue = "0010"
|
|
' Case "3" : BinValue = "0011"
|
|
' Case "4" : BinValue = "0100"
|
|
' Case "5" : BinValue = "0101"
|
|
' Case "6" : BinValue = "0110"
|
|
' Case "7" : BinValue = "0111"
|
|
' Case "8" : BinValue = "1000"
|
|
' Case "9" : BinValue = "1001"
|
|
' Case "A" : BinValue = "1010"
|
|
' Case "B" : BinValue = "1011"
|
|
' Case "C" : BinValue = "1100"
|
|
' Case "D" : BinValue = "1101"
|
|
' Case "E" : BinValue = "1110"
|
|
' Case "F" : BinValue = "1111"
|
|
' End Select
|
|
' Select Case Mid(hexValue, 2, 1)
|
|
' Case "0" : BinValue &= "0000"
|
|
' Case "1" : BinValue &= "0001"
|
|
' Case "2" : BinValue &= "0010"
|
|
' Case "3" : BinValue &= "0011"
|
|
' Case "4" : BinValue &= "0100"
|
|
' Case "5" : BinValue &= "0101"
|
|
' Case "6" : BinValue &= "0110"
|
|
' Case "7" : BinValue &= "0111"
|
|
' Case "8" : BinValue &= "1000"
|
|
' Case "9" : BinValue &= "1001"
|
|
' Case "A" : BinValue &= "1010"
|
|
' Case "B" : BinValue &= "1011"
|
|
' Case "C" : BinValue &= "1100"
|
|
' Case "D" : BinValue &= "1101"
|
|
' Case "E" : BinValue &= "1110"
|
|
' Case "F" : BinValue &= "1111"
|
|
' End Select
|
|
' Return BinValue
|
|
'End Function
|
|
|
|
End Class
|