Files
UCS_ConfigTool_Net/UCS Configtool/DataConverters.vb
Martijn Scheepers 5333ca3059 save
2023-02-10 14:52:05 +01:00

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