Files
UCS_ConfigTool_VB6/DataConverters.bas
Martijn Scheepers 3e64a1f351 Refractor Save
2021-09-02 09:52:40 +02:00

199 lines
6.0 KiB
QBasic

Attribute VB_Name = "DataConverters"
Option Explicit
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
EEToDec = high + result
End Function
Public Function EEToChar(ByVal hexval As String) As String
EEToChar = chr$(EEToDec(hexval))
End Function
Public Function EEToBin(ByVal hexval As String) As Integer()
EEToBin = DecToBin(EEToDec(hexval))
End Function
Public Function EEToHex(ByVal hexval As String) As String
EEToHex = 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 = decval - 2 ^ X
Else
result(X) = 0
End If
Next X
DecToBin = result
End Function
'-------------------------------------------------------------------------
Public Function CharToEE(ByVal chr As String) As String
CharToEE = DecToEE(Asc(chr))
End Function
Public Function DecToEE(ByVal decval As Integer) As String
DecToEE = Right$("0" & Hex$(decval), 2)
End Function
Public Function BinToEE(ByVal binval As String) As String
Dim result As String
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 = result & "0"
Case "0001": result = result & "1"
Case "0010": result = result & "2"
Case "0011": result = result & "3"
Case "0100": result = result & "4"
Case "0101": result = result & "5"
Case "0110": result = result & "6"
Case "0111": result = result & "7"
Case "1000": result = result & "8"
Case "1001": result = result & "9"
Case "1010": result = result & "A"
Case "1011": result = result & "B"
Case "1100": result = result & "C"
Case "1101": result = result & "D"
Case "1110": result = result & "E"
Case "1111": result = result & "F"
End Select
BinToEE = result
End Function
'************************************************************************
'-------------------------------------------------------------------------
Public Function CharToHex(ByVal chr As String) As String
CharToHex = DecToHex(Asc(chr))
End Function
Public Function HexToChar(ByVal hexval As String) As String
HexToChar = chr$(HexToDec(hexval))
End Function
Public Function DecToHex(ByVal decval As Integer) As String
DecToHex = 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
HexToDec = high + result
End Function
Public Function BinToHex(ByVal binval As String) As String
Dim result As String
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 = result & "0"
Case "0001": result = result & "1"
Case "0010": result = result & "2"
Case "0011": result = result & "3"
Case "0100": result = result & "4"
Case "0101": result = result & "5"
Case "0110": result = result & "6"
Case "0111": result = result & "7"
Case "1000": result = result & "8"
Case "1001": result = result & "9"
Case "1010": result = result & "A"
Case "1011": result = result & "B"
Case "1100": result = result & "C"
Case "1101": result = result & "D"
Case "1110": result = result & "E"
Case "1111": result = result & "F"
End Select
BinToHex = result
End Function
Public Function HexToBin(ByVal hexval As String) As Integer()
HexToBin = DecToBin(HexToDec(hexval))
End Function