VB Script解决IP地址转换16进制的问题

VB Script解决IP地址转换16进制的问题

前言

众所周知,在配置思科或者华为路由器的时候,有时候输入的是16进制的IP地址,但是我们不会直接口算出来,而上网去搜又浪费时间,于是乎,写一个IP转16进制的小工具就显得尤为重要了。
为什么要用VB Script?我思前想后,发现业务并不复杂,但是用java或者c++写就显得大材小用了,快速的找到最适合的方案,才是最优秀的做法,于是我选择用了VB Script,能够快速的写出一个界面来。
但是我八百年没写VB了,而且用vs code写编码还得是GB2312,没有提示😒

直接上代码

'拿到用户字符串 进行字符串分割
'判断分割后的字符串是否是四组字符串
'分别对四组字符串进行字符串转数值类型
'对四个数字进行十六进制的转化
'将四组十六进制数字转成字符串
'拼接四个字符串
'@Author 粥蛋
'@Date 20201210

Dim ipInputText     '用户输入的值
Dim AppTitle        '程序标题
Dim IpArrayStr      'ip分割后的数组 字符串类型
Dim IpArrayInt(3)   'ip分割后的数组 数值类型
Dim IpStrH          'ip转化后的16进制拼接的字符串

AppInit()
AppStart()

Sub AppInit()
    AppTitle = "IP地址转16进制小工具 2.0"
End Sub

Sub AppStart()
    ipInputText = InputBox("请输入你的ip",AppTitle)
    ipInputText = Replace(ipInputText," ","")
    If ipInputText = "" Then
    Else
        IpFormat()
    End If
End Sub

Sub IpFormat()
    IpArrayStr = Split(ipInputText,".")
    If UBound(IpArrayStr)+1 = 4 Then
        For i=0 To 3 Step 1
            IpArrayInt(i) = CInt(IpArrayStr(i))
        Next
        ArrayD2H()
    End If
End Sub

Sub ArrayD2H()
    For i=0 To 3 Step 1
        '2.0 升级说明
        '在这里需要判断一下 16进制转后字符串长度
        '如果字符串长度等于1 则字符串前补位0
        If Len(CStr(Hex(IpArrayInt(i)))) = 1 Then
            IpStrH = IpStrH & "0" & CStr(Hex(IpArrayInt(i)))
        Else
            IpStrH = IpStrH & CStr(Hex(IpArrayInt(i)))
        End If
    Next
    result = InputBox("计算结果",AppTitle,IpStrH)
End Sub

运行截图

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值