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

📄 calc.frm

📁 vb6.0编程实例详解,很详细的介绍,对学习VB有帮助
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "计算器"
   ClientHeight    =   2415
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   3270
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2415
   ScaleWidth      =   3270
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox Result 
      Alignment       =   1  'Right Justify
      Height          =   270
      Left            =   120
      TabIndex        =   19
      Top             =   120
      Width           =   3015
   End
   Begin VB.CommandButton Calc 
      Caption         =   "="
      Height          =   375
      Left            =   2520
      TabIndex        =   18
      Top             =   1920
      Width           =   615
   End
   Begin VB.CommandButton Command3 
      Caption         =   "C"
      Height          =   375
      Left            =   2520
      TabIndex        =   17
      Top             =   1440
      Width           =   615
   End
   Begin VB.CommandButton Command2 
      Caption         =   "CE"
      Height          =   375
      Left            =   2520
      TabIndex        =   16
      Top             =   960
      Width           =   615
   End
   Begin VB.CommandButton Command1 
      Caption         =   "<"
      Height          =   375
      Left            =   2520
      TabIndex        =   15
      Top             =   480
      Width           =   615
   End
   Begin VB.CommandButton Operate 
      Caption         =   "+"
      Height          =   375
      Index           =   3
      Left            =   1920
      TabIndex        =   14
      Top             =   1920
      Width           =   495
   End
   Begin VB.CommandButton Operate 
      Caption         =   "-"
      Height          =   375
      Index           =   2
      Left            =   1920
      TabIndex        =   13
      Top             =   1440
      Width           =   495
   End
   Begin VB.CommandButton Operate 
      Caption         =   "*"
      Height          =   375
      Index           =   1
      Left            =   1920
      TabIndex        =   12
      Top             =   960
      Width           =   495
   End
   Begin VB.CommandButton Operate 
      Caption         =   "/"
      Height          =   375
      Index           =   0
      Left            =   1920
      TabIndex        =   11
      Top             =   480
      Width           =   495
   End
   Begin VB.CommandButton Dot 
      Caption         =   "."
      Height          =   375
      Left            =   1320
      TabIndex        =   10
      Top             =   1920
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "9"
      Height          =   375
      Index           =   9
      Left            =   1320
      TabIndex        =   9
      Top             =   480
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "8"
      Height          =   375
      Index           =   8
      Left            =   720
      TabIndex        =   8
      Top             =   480
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "7"
      Height          =   375
      Index           =   7
      Left            =   120
      TabIndex        =   7
      Top             =   480
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "6"
      Height          =   375
      Index           =   6
      Left            =   1320
      TabIndex        =   6
      Top             =   960
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "5"
      Height          =   375
      Index           =   5
      Left            =   720
      TabIndex        =   5
      Top             =   960
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "4"
      Height          =   375
      Index           =   4
      Left            =   120
      TabIndex        =   4
      Top             =   960
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "3"
      Height          =   375
      Index           =   3
      Left            =   1320
      TabIndex        =   3
      Top             =   1440
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "2"
      Height          =   375
      Index           =   2
      Left            =   720
      TabIndex        =   2
      Top             =   1440
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "1"
      Height          =   375
      Index           =   1
      Left            =   120
      TabIndex        =   1
      Top             =   1440
      Width           =   495
   End
   Begin VB.CommandButton Number 
      Caption         =   "0"
      Height          =   375
      Index           =   0
      Left            =   120
      TabIndex        =   0
      Top             =   1920
      Width           =   1095
   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 s_Number1 As String '字符串1
Dim s_Number2 As String '字符串2,文本显示由s_Number1和s_Number2
                        '共同组成
Dim Number1 As Single '操作数1
Dim Number2 As Single '操作数2,用于保存参加计算的数字
Dim Oper As Integer '操作数指示,含义如下:
                        '1:正在输入第一操作数
                        '2:正在输入第二操作数
                        '0:正完成一次计算
Dim OperCode As Integer '运算符代码,含义如下:
                            '0:除法
                            '1:乘法
                            '2:减法
                            '3:加法
Dim IsNumber As Boolean '输入数字标志,含义如下:
                            'TRUE:正在输入数字
                            'FALSE:输入运算符

Private Sub Calc_Click()
'计算结果
    If Oper < 2 Then
    '操作数少于两个
        Exit Sub
    End If
    
    Select Case OperCode
    Case 0
        Number1 = Number1 / Number2 '应加入容错处理,判断Number2不为零
    Case 1
        Number1 = Number1 * Number2
    Case 2
        Number1 = Number1 - Number2
    Case 3
        Number1 = Number1 + Number2
    End Select
    
    Oper = 0
    IsNumber = False
    s_Number2 = ""
    s_Number1 = Str(Number1)
    Result = s_Number1
End Sub

Private Sub Command1_Click()
    If IsNumber And Oper = 1 And Len(s_Number1) > 0 Then
    '正在输入数字1,且数字1长度大于0
        s_Number1 = Left(s_Number1, Len(s_Number1) - 1) '截去数字1的字符串最后一位
        Number1 = Val(s_Number1) '重新保存数字1
        Result = s_Number1 '显示结果
    ElseIf IsNumber And Oper = 2 And Len(s_Number2) > 0 Then
    '正在输入数字2,且数字1长度大于0
        s_Number2 = Left(s_Number2, Len(s_Number2) - 1) '截去数字2的字符串最后一位
        Number2 = Val(s_Number2)
        Result = s_Number1 + s_Number2
    End If
End Sub

Private Sub Command2_Click()
    If IsNumber Then
    '正在输入数字
        If Oper = 1 Then
        '输入数字1
            s_Number1 = "0"
            Number1 = 0
            Result = s_Number1
        ElseIf Oper = 2 Then
        '输入数字2
            s_Number2 = ""
            Number2 = 0
            Result = s_Number1 + s_Number2
        End If
    End If
End Sub

Private Sub Command3_Click()
    Form_Load
End Sub

Private Sub Dot_Click()
'输入小数点程序
    If IsNumber Then
    '正在输入数字
        If Oper = 1 Then
        '数字1
            If Not InStr(s_Number1, ".") > 0 Then
            '数字中无小数点
                s_Number1 = s_Number1 + "."
                Result = s_Number1
            End If
        ElseIf Oper = 2 Then
        '数字2
            If Not InStr(s_Number2, ".") > 0 Then
                s_Number2 = s_Number2 + "."
                Result = s_Number1 + s_Number2
            End If
        End If
    End If
End Sub

Private Sub Form_Load()
'初始化数据
    Oper = 1
    IsNumber = True
    s_Number1 = ""
    s_Number2 = ""
    Number1 = 0
    Number2 = 0
    Result = ""
End Sub

Private Sub Number_Click(Index As Integer)
'输入数字程序
    If IsNumber Then
    '正在输入数字
        If Oper = 1 Then
        '输入数字1
            s_Number1 = s_Number1 + Right(Str(Index), 1) '加入一个字符
            Number1 = Val(s_Number1) '保存当前数字1的数值
            Result = s_Number1 '显示数字1(字符串形式)
        ElseIf Oper = 2 Then
        '输入数字2
            s_Number2 = s_Number2 + Right(Str(Index), 1)
            Number2 = Val(s_Number2)
            Result = s_Number1 + s_Number2
        End If
    ElseIf Not IsNumber Then 'And Oper <> 0 Then
    '当用户按运算符按钮(包括等号)后,IsNumber变为FALSE
    '只有开始输入第二个数字时,才会执行如下程序
        IsNumber = True
        s_Number1 = s_Number1 + s_Number2 + " " '保存运算符显示
        Oper = 2
        Number2 = Index
        s_Number2 = Right(Str(Number2), 1)
        Result = s_Number1 + s_Number2 '显示公式
    End If
End Sub

Private Sub Operate_Click(Index As Integer)
    If IsNumber And Oper = 1 Then
    '刚才在输入数字1并输入第一个运算符
        IsNumber = False
        Oper = 2
    ElseIf IsNumber Then
    '输入第二个运算符
    '必须首先计算上一次的结果再开始下一次计算
        Call Calc_Click
        Oper = 2
        IsNumber = False
    End If
    s_Number2 = " " + Operate(Index).Caption '取运算符字符
    Result = s_Number1 + s_Number2
    OperCode = Index '保存运算符标志
End Sub

⌨️ 快捷键说明

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