⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modconv.bas

📁 ModBus通信测试工具,方便工程开发测试用.
💻 BAS
字号:
Attribute VB_Name = "modConv"
Option Explicit
Function Hex2Dec(InputData As String) As Long
''
''  Converts Hexadecimal to Decimal
''
Dim i As Integer
Dim DecOut As Double
Dim Lenhex As Integer
Dim HexStep As Double


'' Zeroise the output
DecOut = 0

''  The length of the input
''
InputData = UCase(InputData)
Lenhex = Len(InputData)

''
''  Check to make sure its a valid Hex Number
''
For i = 1 To Lenhex

If IsNumeric(Mid(InputData, i, 1)) Then
  ''
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "A" Then
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "B" Then
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "C" Then
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "D" Then
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "E" Then
  GoTo NumOk
ElseIf Mid(InputData, i, 1) = "F" Then
  GoTo NumOk
Else
'  MsgBox "输入数字不是有效的十六进制数字", vbCritical
  Exit Function
End If

NumOk:
Next i

HexStep = 0

''
''
''  Convert the Number to Decimal
''
For i = Lenhex To 1 Step -1

HexStep = HexStep * 16
If HexStep = 0 Then
  HexStep = 1
End If

 If Mid(InputData, i, 1) = "0" Then
   DecOut = DecOut + (0 * HexStep)
 ElseIf Mid(InputData, i, 1) = "1" Then
   DecOut = DecOut + (1 * HexStep)
 ElseIf Mid(InputData, i, 1) = "2" Then
   DecOut = DecOut + (2 * HexStep)
 ElseIf Mid(InputData, i, 1) = "3" Then
   DecOut = DecOut + (3 * HexStep)
 ElseIf Mid(InputData, i, 1) = "4" Then
   DecOut = DecOut + (4 * HexStep)
 ElseIf Mid(InputData, i, 1) = "5" Then
   DecOut = DecOut + (5 * HexStep)
 ElseIf Mid(InputData, i, 1) = "6" Then
   DecOut = DecOut + (6 * HexStep)
 ElseIf Mid(InputData, i, 1) = "7" Then
   DecOut = DecOut + (7 * HexStep)
 ElseIf Mid(InputData, i, 1) = "8" Then
   DecOut = DecOut + (8 * HexStep)
 ElseIf Mid(InputData, i, 1) = "9" Then
   DecOut = DecOut + (9 * HexStep)
 ElseIf Mid(InputData, i, 1) = "A" Then
   DecOut = DecOut + (10 * HexStep)
 ElseIf Mid(InputData, i, 1) = "B" Then
   DecOut = DecOut + (11 * HexStep)
 ElseIf Mid(InputData, i, 1) = "C" Then
   DecOut = DecOut + (12 * HexStep)
 ElseIf Mid(InputData, i, 1) = "D" Then
   DecOut = DecOut + (13 * HexStep)
 ElseIf Mid(InputData, i, 1) = "E" Then
   DecOut = DecOut + (14 * HexStep)
 ElseIf Mid(InputData, i, 1) = "F" Then
   DecOut = DecOut + (15 * HexStep)
 Else
   MsgBox "Something is Screwed up, Wahhhhhhhhhhh", vbCritical
 End If

Next i

Hex2Dec = DecOut

eds:
End Function


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -