📄 form1.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form Form1
Caption = "进制转换"
ClientHeight = 5955
ClientLeft = 60
ClientTop = 450
ClientWidth = 11025
Icon = "Form1.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 5955
ScaleWidth = 11025
StartUpPosition = 1 '所有者中心
Begin VB.TextBox Text1
BeginProperty Font
Name = "Times New Roman"
Size = 10.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Left = 8220
TabIndex = 0
Top = 1020
Width = 2175
End
Begin VB.CommandButton Command3
Caption = "退出"
Height = 315
Left = 9420
TabIndex = 7
Top = 2820
Width = 1155
End
Begin VB.CommandButton Command2
Caption = "单数"
Height = 315
Left = 8040
TabIndex = 4
Top = 2820
Visible = 0 'False
Width = 1155
End
Begin MSComctlLib.ListView ListView1
Height = 5475
Left = 60
TabIndex = 3
Top = 60
Width = 7155
_ExtentX = 12621
_ExtentY = 9657
View = 3
LabelEdit = 1
LabelWrap = -1 'True
HideSelection = -1 'True
FullRowSelect = -1 'True
GridLines = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = -2147483643
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "Times New Roman"
Size = 12
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 4
BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Text = "十进制值"
Object.Width = 2540
EndProperty
BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Alignment = 2
SubItemIndex = 1
Text = "二进制值"
Object.Width = 4410
EndProperty
BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Alignment = 2
SubItemIndex = 2
Text = "八进制值"
Object.Width = 2540
EndProperty
BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628}
Alignment = 2
SubItemIndex = 3
Text = "十六进制"
Object.Width = 2540
EndProperty
End
Begin VB.CheckBox Check1
Caption = "十进制数分解"
Height = 255
Left = 60
TabIndex = 2
Top = 5580
Value = 1 'Checked
Width = 1995
End
Begin VB.CommandButton Command1
Caption = "确定"
Default = -1 'True
Height = 315
Left = 8040
TabIndex = 1
Top = 2820
Width = 1155
End
Begin VB.Frame Frame1
BorderStyle = 0 'None
Enabled = 0 'False
Height = 1635
Left = 7320
TabIndex = 8
Top = 1380
Width = 3675
Begin VB.TextBox Text2
Height = 360
Left = 900
TabIndex = 11
ToolTipText = "显示二进制值"
Top = 60
Width = 2175
End
Begin VB.TextBox Text5
Height = 360
Left = 900
TabIndex = 10
Top = 480
Width = 2175
End
Begin VB.TextBox Text6
Height = 360
Left = 900
TabIndex = 9
Top = 900
Width = 2175
End
Begin VB.Label Label5
AutoSize = -1 'True
Caption = "二进制"
Height = 180
Left = 240
TabIndex = 14
Top = 180
Width = 540
End
Begin VB.Label Label6
AutoSize = -1 'True
Caption = "八进制"
Height = 180
Left = 240
TabIndex = 13
Top = 600
Width = 540
End
Begin VB.Label Label7
AutoSize = -1 'True
Caption = "十六进制"
Height = 180
Left = 60
TabIndex = 12
Top = 1020
Width = 720
End
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "十进制"
Height = 180
Left = 7560
TabIndex = 5
Top = 1140
Width = 540
End
Begin VB.Image Image1
Height = 2160
Left = 7500
Picture = "Form1.frx":08CA
Stretch = -1 'True
Top = 3360
Width = 3300
End
Begin VB.Label Label8
BeginProperty Font
Name = "Times New Roman"
Size = 10.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 7380
TabIndex = 6
Top = 180
Width = 3015
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim rox As ListItem
Dim i(15) As Integer
Dim m(15) As Long
Private Sub Command1_Click()
ListView1.ListItems.Clear
If Check1.Value = 1 Then
Dim i As Long
For i = 1 To Val(Text1.Text)
Set rox = ListView1.ListItems.Add(, , i)
rox.SubItems(2) = TenToEighteen(i)
rox.SubItems(1) = TenToTwo(i)
rox.SubItems(3) = TenToSixteen(i)
Next i
Label8.Caption = "总共有:(" & ListView1.ListItems.Count & ")条记录"
ElseIf Check1.Value = 0 Then
Set rox = ListView1.ListItems.Add(, , Val(Text1.Text))
rox.SubItems(2) = TenToEighteen(Val(Text1.Text))
rox.SubItems(1) = TenToTwo(Val(Text1.Text))
rox.SubItems(3) = TenToSixteen(Val(Text1.Text))
End If
Call Command2_Click
End Sub
Public Function TenToEighteen(ByVal ten As Long) As String '十进制转八进制
Dim i, j, x As Integer '除8后的商
Dim ix As Integer '除8后的余数
Dim iy As Integer '余数除以8后的商
Dim iz As Integer '除数除以8后的余数
If ten >= 64 Then
j = Int(Int(ten / 64) / 8)
x = Int(ten / 64) Mod 8
If j Mod 8 = 0 Then
i = (j / 8) * 10 * 10 + x
Else
i = (Int(j / 8) * 10 + j Mod 8) * 10 + x
End If
ix = ten Mod 64
iy = Int(ix / 8)
iz = ix Mod 8
TenToEighteen = i * 100 + iy * 10 + iz
ElseIf 8 < ten < 64 Then
iy = Int(ten / 8)
iz = ten Mod 8
TenToEighteen = iy * 10 + iz
Else
TenToEighteen = ten
End If
End Function
Public Function TenToSixteen(ten As Long) As String '十进制转十六进制
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -