199 lines
6.0 KiB
QBasic
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
|