博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进制转换—Visual Basic
阅读量:6972 次
发布时间:2019-06-27

本文共 9818 字,大约阅读时间需要 32 分钟。

Visual Basic版本的进制转换来了!

没有了DOS的黑框框,GUI的界面还是看着蛮舒服的。

v1.0版,只能进行简单的十进制转换。

           

只能进行十进制的转换那算啥、我们要的是一款可以进行多种转换的软件。

于是,进制转换迎来了它的update,v2.0版本。

v2.0的版本,可以进行16种进制能转换,想怎么转就怎么转。

v2.0 的截图:

        

   

更新日志:

v1.0 程序主体完成

v1.1 加入帮助窗口

v2.0 全新构建程序框体,增加功能

最重要的是,同Android一样,开源是必须的。

Option ExplicitPrivate Sub Command1_Click()Dim Dec As LongDim Bin As StringDim Hex As StringDim Oct As StringDim H As StringDim i As LongDim B As LongDim D As StringDim DEC_to_BIN As StringDim DEC_to_OCT As StringDim DEC_to_HEX As StringDim BIN_to_DEC As LongDim BIN_to_OCT As StringDim BIN_to_HEX As StringDim HEX_to_DEC As LongDim HEX_to_BIN As StringDim OCT_to_DEC As LongDim OCT_to_BIN As StringDim OCT_to_HEX As StringDim HEX_to_OCT As StringDim a As StringIf Option3.Value = True And Option5.Value = True Then  '10 to 2 Dec = Text1.Text    Do While Dec > 0        DEC_to_BIN = Dec Mod 2 & DEC_to_BIN        Dec = Dec \ 2    LoopText2.Text = DEC_to_BINElseIf Option3.Value = True And Option6.Value = True Then '10 to 8 Dec = Text1.Text    Do While Dec > 0        DEC_to_OCT = Dec Mod 8 & DEC_to_OCT        Dec = Dec \ 8    LoopText2.Text = DEC_to_OCTElseIf Option3.Value = True And Option8.Value = True Then '10 to 16  Dec = Text1.Text    Do While Dec > 0        a = CStr(Dec Mod 16)        Select Case a            Case "10": a = "A"            Case "11": a = "B"            Case "12": a = "C"            Case "13": a = "D"            Case "14": a = "E"            Case "15": a = "F"        End Select        DEC_to_HEX = a & DEC_to_HEX        Dec = Dec \ 16    LoopText2.Text = DEC_to_HEXElseIf Option1.Value = True And Option7.Value = True Then '2 to 10  Bin = Text1.Text    For i = 1 To Len(Bin)        BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))    Next iText2.Text = BIN_to_DECElseIf Option1.Value = True And Option6.Value = True Then '2 to 8  Bin = Text1.Text    If Len(Bin) Mod 3 <> 0 Then        Bin = String(3 - Len(Bin) Mod 3, "0") & Bin    End If        For i = 1 To Len(Bin) Step 3        Select Case Mid(Bin, i, 3)            Case "000": H = H & "0"            Case "001": H = H & "1"            Case "010": H = H & "2"            Case "011": H = H & "3"            Case "100": H = H & "4"            Case "101": H = H & "5"            Case "110": H = H & "6"            Case "111": H = H & "7"        End Select    Next i    While Left(H, 1) = "0"        H = Right(H, Len(H) - 1)    Wend    BIN_to_OCT = HText2.Text = BIN_to_OCTElseIf Option1.Value = True And Option8.Value = True Then '2 to 16  Bin = Text1.Text   If Len(Bin) Mod 4 <> 0 Then        Bin = String(4 - Len(Bin) Mod 4, "0") & Bin    End If        For i = 1 To Len(Bin) Step 4        Select Case Mid(Bin, i, 4)            Case "0000": H = H & "0"            Case "0001": H = H & "1"            Case "0010": H = H & "2"            Case "0011": H = H & "3"            Case "0100": H = H & "4"            Case "0101": H = H & "5"            Case "0110": H = H & "6"            Case "0111": H = H & "7"            Case "1000": H = H & "8"            Case "1001": H = H & "9"            Case "1010": H = H & "A"            Case "1011": H = H & "B"            Case "1100": H = H & "C"            Case "1101": H = H & "D"            Case "1110": H = H & "E"            Case "1111": H = H & "F"        End Select    Next i    While Left(H, 1) = "0"        H = Right(H, Len(H) - 1)    Wend    BIN_to_HEX = HText2.Text = BIN_to_HEXElseIf Option4.Value = True And Option7.Value = True Then '16 to 10Hex = Text1.Text    For i = 1 To Len(Hex)        Select Case Mid(Hex, Len(Hex) - i + 1, 1)            Case "0": B = B + 16 ^ (i - 1) * 0            Case "1": B = B + 16 ^ (i - 1) * 1            Case "2": B = B + 16 ^ (i - 1) * 2            Case "3": B = B + 16 ^ (i - 1) * 3            Case "4": B = B + 16 ^ (i - 1) * 4            Case "5": B = B + 16 ^ (i - 1) * 5            Case "6": B = B + 16 ^ (i - 1) * 6            Case "7": B = B + 16 ^ (i - 1) * 7            Case "8": B = B + 16 ^ (i - 1) * 8            Case "9": B = B + 16 ^ (i - 1) * 9            Case "A": B = B + 16 ^ (i - 1) * 10            Case "B": B = B + 16 ^ (i - 1) * 11            Case "C": B = B + 16 ^ (i - 1) * 12            Case "D": B = B + 16 ^ (i - 1) * 13            Case "E": B = B + 16 ^ (i - 1) * 14            Case "F": B = B + 16 ^ (i - 1) * 15        End Select    Next i    HEX_to_DEC = B    Text2.Text = HEX_to_DECElseIf Option4.Value = True And Option5.Value = True Then '16 to 2Hex = Text1.Text    For i = 1 To Len(Hex)        Select Case Mid(Hex, i, 1)            Case "0": B = B & "0000"            Case "1": B = B & "0001"            Case "2": B = B & "0010"            Case "3": B = B & "0011"            Case "4": B = B & "0100"            Case "5": B = B & "0101"            Case "6": B = B & "0110"            Case "7": B = B & "0111"            Case "8": B = B & "1000"            Case "9": B = B & "1001"            Case "A": B = B & "1010"            Case "B": B = B & "1011"            Case "C": B = B & "1100"            Case "D": B = B & "1101"            Case "E": B = B & "1110"            Case "F": B = B & "1111"        End Select    Next i    While Left(B, 1) = "0"        B = Right(B, Len(B) - 1)    Wend    HEX_to_BIN = B    Text2.Text = HEX_to_BINElseIf Option4.Value = True And Option6.Value = True Then '16 to 8 Hex = Text1.Text For i = 1 To Len(Hex)        Select Case Mid(Hex, i, 1)            Case "0": B = B & "0000"            Case "1": B = B & "0001"            Case "2": B = B & "0010"            Case "3": B = B & "0011"            Case "4": B = B & "0100"            Case "5": B = B & "0101"            Case "6": B = B & "0110"            Case "7": B = B & "0111"            Case "8": B = B & "1000"            Case "9": B = B & "1001"            Case "A": B = B & "1010"            Case "B": B = B & "1011"            Case "C": B = B & "1100"            Case "D": B = B & "1101"            Case "E": B = B & "1110"            Case "F": B = B & "1111"        End Select    Next i    While Left(B, 1) = "0"        B = Right(B, Len(B) - 1)    Wend    HEX_to_BIN = B Bin = HEX_to_BIN If Len(Bin) Mod 3 <> 0 Then        Bin = String(3 - Len(Bin) Mod 3, "0") & Bin    End If        For i = 1 To Len(Bin) Step 3        Select Case Mid(Bin, i, 3)            Case "000": H = H & "0"            Case "001": H = H & "1"            Case "010": H = H & "2"            Case "011": H = H & "3"            Case "100": H = H & "4"            Case "101": H = H & "5"            Case "110": H = H & "6"            Case "111": H = H & "7"        End Select    Next i    While Left(H, 1) = "0"        H = Right(H, Len(H) - 1)    Wend    BIN_to_OCT = H    HEX_to_OCT = BIN_to_OCT Text2.Text = HEX_to_OCTElseIf Option2.Value = True And Option7.Value = True Then '8 to 10  Oct = Text1.Text  For i = 1 To Len(Oct)        Select Case Mid(Oct, Len(Oct) - i + 1, 1)            Case "0": B = B + 8 ^ (i - 1) * 0            Case "1": B = B + 8 ^ (i - 1) * 1            Case "2": B = B + 8 ^ (i - 1) * 2            Case "3": B = B + 8 ^ (i - 1) * 3            Case "4": B = B + 8 ^ (i - 1) * 4            Case "5": B = B + 8 ^ (i - 1) * 5            Case "6": B = B + 8 ^ (i - 1) * 6            Case "7": B = B + 8 ^ (i - 1) * 7        End Select    Next i    OCT_to_DEC = B    Text2.Text = OCT_to_DECElseIf Option2.Value = True And Option5.Value = True Then '8 to 2  Oct = Text1.Text   For i = 1 To Len(Oct)        Select Case Mid(Oct, i, 1)            Case "0": D = D & "000"            Case "1": D = D & "001"            Case "2": D = D & "010"            Case "3": D = D & "011"            Case "4": D = D & "100"            Case "5": D = D & "101"            Case "6": D = D & "110"            Case "7": D = D & "111"        End Select    Next i    While Left(D, 1) = "0"        D = Right(D, Len(D) - 1)    Wend    OCT_to_BIN = D    Text2.Text = OCT_to_BINElseIf Option2.Value = True And Option8.Value = True Then '8 to 16  Oct = Text1.Text  For i = 1 To Len(Oct)        Select Case Mid(Oct, i, 1)            Case "0": D = D & "000"            Case "1": D = D & "001"            Case "2": D = D & "010"            Case "3": D = D & "011"            Case "4": D = D & "100"            Case "5": D = D & "101"            Case "6": D = D & "110"            Case "7": D = D & "111"        End Select    Next i    While Left(D, 1) = "0"        D = Right(D, Len(D) - 1)    Wend    OCT_to_BIN = D    Bin = OCT_to_BIN     If Len(Bin) Mod 4 <> 0 Then        Bin = String(4 - Len(Bin) Mod 4, "0") & Bin    End If        For i = 1 To Len(Bin) Step 4        Select Case Mid(Bin, i, 4)            Case "0000": H = H & "0"            Case "0001": H = H & "1"            Case "0010": H = H & "2"            Case "0011": H = H & "3"            Case "0100": H = H & "4"            Case "0101": H = H & "5"            Case "0110": H = H & "6"            Case "0111": H = H & "7"            Case "1000": H = H & "8"            Case "1001": H = H & "9"            Case "1010": H = H & "A"            Case "1011": H = H & "B"            Case "1100": H = H & "C"            Case "1101": H = H & "D"            Case "1110": H = H & "E"            Case "1111": H = H & "F"        End Select    Next i    While Left(H, 1) = "0"        H = Right(H, Len(H) - 1)    Wend    BIN_to_HEX = H    Text2.Text = BIN_to_HEXElseIf Option1.Value = True And Option5.Value = True Then '2 to 2 Oct = Text1.Text Text2.Text = OctElseIf Option2.Value = True And Option6.Value = True Then '8 to 8 Oct = Text1.Text Text2.Text = OctElseIf Option3.Value = True And Option7.Value = True Then '10 to 10 Oct = Text1.Text Text2.Text = OctElseIf Option4.Value = True And Option8.Value = True Then '16 to 16 Oct = Text1.Text Text2.Text = OctEnd IfEnd SubPrivate Sub Command2_Click()Form2.ShowEnd SubPrivate Sub Command3_Click()Form3.ShowEnd Sub
欢迎参观Visual Basic的家。

下一个版本,进行软件的美化。毕竟窗口还是比较单一。

@ Mayuko

转载于:https://www.cnblogs.com/mayuko/p/4567578.html

你可能感兴趣的文章
jquery的each()详细介绍
查看>>
Tablespace for table '`pomelo`.`bag`' exists. Please DISCARD the tablespace before IMPORT.
查看>>
virt-manager install on CentOS7-mini
查看>>
预攻击 局域网 Windows 查看其它在线设备
查看>>
SPOJ QTREE4 - Query on a tree IV
查看>>
Objective-C中的字符串格式化输出
查看>>
Android开发历程_6(RadioButton和CheckBox的使用)
查看>>
基础学习笔记之opencv(23):OpenCV坐标体系的初步认识
查看>>
POJ 3087 Shuffle'm Up【模拟/map/string】
查看>>
hdu 3786 寻找直系亲属
查看>>
模仿淘宝吸顶条(定时器)
查看>>
Project Euler 29 Distinct powers( 大整数质因数分解做法 + 普通做法 )
查看>>
Eclipse优化集合,Eclipse优化速度,解决Ctrl+C、Ctrl+V卡
查看>>
JavaScript中的this基本问题<转>
查看>>
杭电2040亲和数
查看>>
深入剖析Tomcat(How Tomcat Works)
查看>>
通过月份得到本月有几天周末
查看>>
在PHP语言中使用JSON和将json还原成数组
查看>>
博客园非官方月刊-2014年12月刊
查看>>
电商仓储控制超卖的策略
查看>>