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

📄 calc.frm

📁 煤炭销售管理系统.完成煤炭销售的日常管理工作,和重车计量系统空车计量系统配合使用.
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Calculator 
   AutoRedraw      =   -1  'True
   BackColor       =   &H00FF0000&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "计算器"
   ClientHeight    =   3991
   ClientLeft      =   2574
   ClientTop       =   1482
   ClientWidth     =   5109
   ClipControls    =   0   'False
   BeginProperty Font 
      Name            =   "Arial"
      Size            =   10.87
      Charset         =   0
      Weight          =   700
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   Icon            =   "Calc.frx":0000
   LinkMode        =   1  'Source
   MaxButton       =   0   'False
   PaletteMode     =   1  'UseZOrder
   ScaleHeight     =   3991
   ScaleWidth      =   5109
   StartUpPosition =   2  '屏幕中心
   WhatsThisButton =   -1  'True
   WhatsThisHelp   =   -1  'True
   Begin VB.CommandButton Command4 
      BackColor       =   &H00008000&
      Caption         =   "复制"
      Height          =   612
      Left            =   3960
      Style           =   1  'Graphical
      TabIndex        =   23
      Top             =   360
      Width           =   852
   End
   Begin VB.CommandButton Command3 
      Caption         =   "RET"
      Height          =   492
      Left            =   3840
      TabIndex        =   22
      Top             =   2520
      Width           =   732
   End
   Begin VB.CommandButton Command2 
      Caption         =   "MR-"
      Height          =   492
      Left            =   3840
      TabIndex        =   21
      Top             =   1920
      Width           =   732
   End
   Begin VB.CommandButton Command1 
      Caption         =   "MR+"
      Height          =   492
      Left            =   3840
      TabIndex        =   20
      Top             =   1320
      Width           =   732
   End
   Begin VB.CommandButton Number 
      Caption         =   "7"
      Height          =   480
      Index           =   7
      Left            =   600
      TabIndex        =   7
      Top             =   1320
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "8"
      Height          =   480
      Index           =   8
      Left            =   1200
      TabIndex        =   8
      Top             =   1320
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "9"
      Height          =   480
      Index           =   9
      Left            =   1800
      TabIndex        =   9
      Top             =   1320
      Width           =   480
   End
   Begin VB.CommandButton Cancel 
      Caption         =   "C"
      Height          =   480
      Left            =   2520
      TabIndex        =   10
      Top             =   1320
      Width           =   480
   End
   Begin VB.CommandButton CancelEntry 
      Caption         =   "CE"
      Height          =   480
      Left            =   3120
      TabIndex        =   11
      Top             =   1320
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "4"
      Height          =   480
      Index           =   4
      Left            =   600
      TabIndex        =   4
      Top             =   1920
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "5"
      Height          =   480
      Index           =   5
      Left            =   1200
      TabIndex        =   5
      Top             =   1920
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "6"
      Height          =   480
      Index           =   6
      Left            =   1800
      TabIndex        =   6
      Top             =   1920
      Width           =   480
   End
   Begin VB.CommandButton Operator 
      Caption         =   "+"
      Height          =   480
      Index           =   1
      Left            =   2520
      TabIndex        =   12
      Top             =   1920
      Width           =   480
   End
   Begin VB.CommandButton Operator 
      Caption         =   "-"
      Height          =   480
      Index           =   3
      Left            =   3120
      TabIndex        =   13
      Top             =   1920
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "1"
      Height          =   480
      Index           =   1
      Left            =   600
      TabIndex        =   1
      Top             =   2520
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "2"
      Height          =   480
      Index           =   2
      Left            =   1200
      TabIndex        =   2
      Top             =   2520
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "3"
      Height          =   480
      Index           =   3
      Left            =   1800
      TabIndex        =   3
      Top             =   2520
      Width           =   480
   End
   Begin VB.CommandButton Operator 
      Caption         =   "X"
      Height          =   480
      Index           =   2
      Left            =   2520
      TabIndex        =   14
      Top             =   2520
      Width           =   480
   End
   Begin VB.CommandButton Operator 
      Caption         =   "/"
      Height          =   480
      Index           =   0
      Left            =   3120
      TabIndex        =   15
      Top             =   2520
      Width           =   480
   End
   Begin VB.CommandButton Number 
      Caption         =   "0"
      Height          =   480
      Index           =   0
      Left            =   600
      TabIndex        =   0
      Top             =   3120
      Width           =   1080
   End
   Begin VB.CommandButton Decimal 
      Caption         =   "."
      Height          =   480
      Left            =   1800
      TabIndex        =   18
      Top             =   3120
      Width           =   480
   End
   Begin VB.CommandButton Operator 
      BackColor       =   &H000000FF&
      Caption         =   "="
      Height          =   480
      Index           =   4
      Left            =   3120
      MaskColor       =   &H000000FF&
      Style           =   1  'Graphical
      TabIndex        =   16
      Top             =   3120
      Width           =   1440
   End
   Begin VB.CommandButton Percent 
      Caption         =   "%"
      Height          =   480
      Left            =   2520
      TabIndex        =   17
      Top             =   3120
      Width           =   480
   End
   Begin VB.Label Readout 
      Alignment       =   1  'Right Justify
      BackColor       =   &H0000FFFF&
      BorderStyle     =   1  'Fixed Single
      Caption         =   "0."
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12.23
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   492
      Left            =   720
      TabIndex        =   19
      Top             =   360
      Width           =   3000
   End
End
Attribute VB_Name = "Calculator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' ------------------------------------------------------------------------
'               版权所有 (C) 1994 Microsoft Corporation
'
' 您可以免费以任何方式使用、修改、复制并分发您认为有用的
' 示例应用程序文件 (或任何修改过的版本)。Microsoft 对任何
' 示例应用程序文件不做任何保证,不负任何责任和义务。
' ------------------------------------------------------------------------
Option Explicit
Dim Op1, Op2                ' 预先输入操作数。
Dim DecimalFlag, Index As Integer ' 小数点存在吗?
Dim NumOps As Integer       ' 操作数个数。
Dim LastInput               ' 指示上一次按键事件的类型。
Dim OpFlag                  ' 指示未完成的操作。
Dim TempReadout
Dim MR As Long


' C (取消) 按钮的 Click 事件过程
' 重新设置显示并初始化变量。
Private Sub Cancel_Click()
    Readout = Format(0, "0.")
    Op1 = 0
    Op2 = 0
    Form_Load
End Sub

' CE (取消输入) 按钮的 Click 事件过程。
Private Sub CancelEntry_Click()
    Readout = Format(0, "0.")
    DecimalFlag = False
    LastInput = "CE"
End Sub

Private Sub Command1_Click()
MR = MR + Val(Readout.Caption)
 If LastInput <> "NEG" Then
        LastInput = "OPS"
        OpFlag = Operator(Index).Caption
    End If
Readout.Caption = "0."
End Sub

Private Sub Command2_Click()
MR = MR - Val(Readout.Caption)
If LastInput <> "NEG" Then
        LastInput = "OPS"
        'OpFlag = Operator(Index).Caption
    End If
'Readout.Caption = "0."
End Sub

Private Sub Command3_Click()
Readout = Str(MR)
If LastInput <> "NEG" Then
        LastInput = "OPS"
        'OpFlag = Operator(Index).Caption
    End If
End Sub

Private Sub Command4_Click()
Clipboard.SetText Readout.Caption
End Sub

' 小数点 (.) 按钮的 Click 事件过程
' 如果上一次按键为运算符,初始化 readout 为 "0.";
' 否则显示时追加一个小数点。
Private Sub Decimal_Click()
    If LastInput = "NEG" Then
        Readout = Format(0, "-0.")
    ElseIf LastInput <> "NUMS" Then
        Readout = Format(0, "0.")
    End If
    DecimalFlag = True
    LastInput = "NUMS"
End Sub



' 窗体的初始化过程
' 设置所有变量为其初始值。
Private Sub Form_Load()
    DecimalFlag = False
    NumOps = 0
    LastInput = "NONE"
    OpFlag = " "
    Readout = Format(0, "0.")
    'Decimal.Caption = Format(0, ".")
    MR = 0
End Sub

' 数字键 (0-9) 的 Click 事件过程
' 向显示中的数追加新数。
Private Sub Number_Click(Index As Integer)
   On Error Resume Next
    If LastInput <> "NUMS" Then
        Readout = Format(0, ".")
        DecimalFlag = False
    End If
    If DecimalFlag Then
        Readout = Readout + Number(Index).Caption
    Else
        Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")
    End If
    If LastInput = "NEG" Then Readout = "-" & Readout
    LastInput = "NUMS"
End Sub

Private Sub Number_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case KeyAscii
Case Asc("%")
   Percent_Click
   
Case Asc("+")
Operator_Click (1)
Operator(1).SetFocus
Case Asc("-")
Operator_Click (3)
Operator(3).SetFocus
Case Asc("*")
Operator_Click (2)
Operator(2).SetFocus
Case Asc("/")
Operator_Click (0)
Operator(0).SetFocus
Case Asc("0")
  Number_Click (0)
  Number(0).SetFocus
   Case Asc("1")
  Number_Click (1)
  Number(1).SetFocus
   Case Asc("2")
   Number_Click (2)
   Number(2).SetFocus
   Case Asc("3")
   Number_Click (3)
   Number(3).SetFocus
   Case Asc("4")
   Number_Click (4)
   Number(4).SetFocus
   Case Asc("5")
   Number_Click (5)
   Number(5).SetFocus
   Case Asc("6")
   Number_Click (6)
   Number(6).SetFocus
   Case Asc("7")
   Number_Click (7)
   Number(7).SetFocus
   Case Asc("8")
   Number_Click (8)
   Number(8).SetFocus
   Case Asc("9")
   Number_Click (9)
   Number(9).SetFocus
   Case Asc("=")
   Operator_Click (4)
   End Select
End Sub

' 运算符 (+, -, x, /, =) 的 Click 事件过程
' 如果接下来的按键是数字键,增加 NumOps。
' 如果有一个操作数,则设置 Op1。
' 如果有两个操作数,则将 Op1 设置为 Op1 与
' 当前输入字符串的运算结果,并显示结果。
Private Sub Operator_Click(Index As Integer)
    TempReadout = Readout
    If LastInput = "NUMS" Then
        NumOps = NumOps + 1
    End If
    Select Case NumOps
        Case 0
        If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
            Readout = "-" & Readout
            LastInput = "NEG"
        End If
        Case 1
        Op1 = Readout
        If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
            Readout = "-"
            LastInput = "NEG"
        End If
        Case 2
        Op2 = TempReadout
        Select Case OpFlag
            Case "+"
                Op1 = CDbl(Op1) + CDbl(Op2)
            Case "-"
                Op1 = CDbl(Op1) - CDbl(Op2)
            Case "X"
                Op1 = CDbl(Op1) * CDbl(Op2)
            Case "/"
                If Op2 = 0 Then
                   MsgBox "除数不能为零", 48, "计算器"
                Else
                   Op1 = CDbl(Op1) / CDbl(Op2)
                End If
            Case "="
                Op1 = CDbl(Op2)
            Case "%"
                Op1 = CDbl(Op1) * CDbl(Op2)
            End Select
        Readout = Op1
        NumOps = 1
    End Select
    If LastInput <> "NEG" Then
        LastInput = "OPS"
        OpFlag = Operator(Index).Caption
    End If
End Sub

Private Sub Operator_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case KeyAscii
Case Asc("+")
Operator_Click (1)
Operator(1).SetFocus
Case Asc("-")
Operator_Click (3)
Operator(3).SetFocus
Case Asc("*")
Operator_Click (2)
Operator(2).SetFocus
Case Asc("/")
Operator_Click (0)
Operator(0).SetFocus
Case Asc("0")
  Number_Click (0)
  Number(0).SetFocus
   Case Asc("1")
  Number_Click (1)
  Number(1).SetFocus
   Case Asc("2")
   Number_Click (2)
   Number(2).SetFocus
   Case Asc("3")
   Number_Click (3)
   Number(3).SetFocus
   Case Asc("4")
   Number_Click (4)
   Number(4).SetFocus
   Case Asc("5")
   Number_Click (5)
   Number(5).SetFocus
   Case Asc("6")
   Number_Click (6)
   Number(6).SetFocus
   Case Asc("7")
   Number_Click (7)
   Number(7).SetFocus
   Case Asc("8")
   Number_Click (8)
   Number(8).SetFocus
   Case Asc("9")
   Number_Click (9)
   Number(9).SetFocus
     End Select
End Sub

' 百分比键 (%) 的 Click 事件过程
' 计算并显示第一个操作数的百分数。
Private Sub Percent_Click()
    Readout = Readout / 100
    LastInput = "Ops"
    OpFlag = "%"
    NumOps = NumOps + 1
    DecimalFlag = True
End Sub

Private Sub Percent_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc("=") Then
Operator_Click (4)
End If

End Sub

⌨️ 快捷键说明

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