當前位置:編程學習大全網 - 編程語言 - 用VB編寫計算器的源程序代碼

用VB編寫計算器的源程序代碼

完全版的前後臺代碼...

'請把下面的保存為 form1.frm

VERSION 5.00

Begin VB.Form Calculator

BorderStyle = 1 'Fixed Single

Caption = "計算器"

ClientHeight = 2970

ClientLeft = 2580

ClientTop = 1485

ClientWidth = 3270

ClipControls = 0 'False

BeginProperty Font

Name = "System"

Size = 9.75

Charset = 0

Weight = 700

Underline = 0 'False

Italic = 0 'False

Strikethrough = 0 'False

EndProperty

Icon = "CALC.frx":0000

LinkMode = 1 'Source

LinkTopic = "Form1"

MaxButton = 0 'False

PaletteMode = 1 'UseZOrder

ScaleHeight = 2970

ScaleWidth = 3270

WhatsThisHelp = -1 'True

Begin VB.CommandButton Number

Caption = "7"

Height = 480

Index = 7

Left = 120

TabIndex = 7

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "8"

Height = 480

Index = 8

Left = 720

TabIndex = 8

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "9"

Height = 480

Index = 9

Left = 1320

TabIndex = 9

Top = 600

Width = 480

End

Begin VB.CommandButton Cancel

Caption = "C"

Height = 480

Left = 2040

TabIndex = 10

Top = 600

Width = 480

End

Begin VB.CommandButton CancelEntry

Caption = "CE"

Height = 480

Left = 2640

TabIndex = 11

Top = 600

Width = 480

End

Begin VB.CommandButton Number

Caption = "4"

Height = 480

Index = 4

Left = 120

TabIndex = 4

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "5"

Height = 480

Index = 5

Left = 720

TabIndex = 5

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "6"

Height = 480

Index = 6

Left = 1320

TabIndex = 6

Top = 1200

Width = 480

End

Begin VB.CommandButton Operator

Caption = "+"

Height = 480

Index = 1

Left = 2040

TabIndex = 12

Top = 1200

Width = 480

End

Begin VB.CommandButton Operator

Caption = "-"

Height = 480

Index = 3

Left = 2640

TabIndex = 13

Top = 1200

Width = 480

End

Begin VB.CommandButton Number

Caption = "1"

Height = 480

Index = 1

Left = 120

TabIndex = 1

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "2"

Height = 480

Index = 2

Left = 720

TabIndex = 2

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "3"

Height = 480

Index = 3

Left = 1320

TabIndex = 3

Top = 1800

Width = 480

End

Begin VB.CommandButton Operator

Caption = "X"

Height = 480

Index = 2

Left = 2040

TabIndex = 14

Top = 1800

Width = 480

End

Begin VB.CommandButton Operator

Caption = "/"

Height = 480

Index = 0

Left = 2640

TabIndex = 15

Top = 1800

Width = 480

End

Begin VB.CommandButton Number

Caption = "0"

Height = 480

Index = 0

Left = 120

TabIndex = 0

Top = 2400

Width = 1080

End

Begin VB.CommandButton Decimal

Caption = "."

Height = 480

Left = 1320

TabIndex = 18

Top = 2400

Width = 480

End

Begin VB.CommandButton Operator

Caption = "="

Height = 480

Index = 4

Left = 2040

TabIndex = 16

Top = 2400

Width = 480

End

Begin VB.CommandButton Percent

Caption = "%"

Height = 480

Left = 2640

TabIndex = 17

Top = 2400

Width = 480

End

Begin VB.Label Readout

Alignment = 1 'Right Justify

BackColor = &H0000FFFF&

BorderStyle = 1 'Fixed Single

Caption = "0."

BeginProperty Font

Name = "MS Sans Serif"

Size = 12

Charset = 0

Weight = 700

Underline = 0 'False

Italic = 0 'False

Strikethrough = 0 'False

EndProperty

ForeColor = &H00000000&

Height = 375

Left = 120

TabIndex = 19

Top = 105

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 As Integer ' 小數點仍然存在嗎?

Dim NumOps As Integer ' 操作數個數

Dim LastInput ' 指示上壹次按鍵事件的類型

Dim OpFlag ' 指示未完成的操作

Dim TempReadout

' 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

' 小數點 (.) 按鈕的 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, ".")

End Sub

' 數字鍵 (0-9) 的 Click 事件過程

' 向顯示中的數追加新數

Private Sub Number_Click(Index As Integer)

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

' 運算符 (+, -, 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 "除數不能為 0", 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

' 百分比鍵 (%) 的 Click 事件過程

' 計算並顯示第壹個操作數的百分數

Private Sub Percent_Click()

Readout = Readout / 100

LastInput = "Ops"

OpFlag = "%"

NumOps = NumOps + 1

DecimalFlag = True

End Sub

  • 上一篇:怎麽用python進行web開發
  • 下一篇:妳好,我是廣東工人機器人專業的學生(專科)我想報考專插本,應該報什麽專業,心儀大學佛山科學技術學院
  • copyright 2024編程學習大全網