.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用vb编一个计算器,需要用到数组,看看下面的代码,欢迎来找碴!

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

这是我的代码,请帮我看看哪有问题:(我是要用数组作个计算器)
 Option Explicit
Dim shu1 As Double, shu2 As Double  '先后输入的两个数
Dim result As Double     '做了运算的结果
Dim process, process0, process1, process2, process3, process4 As Variant '保存数1与各个运算符的过程
Dim judge As Variant    '判断按了那个运算符

Private Sub Command1_Click(Index As Integer)   '0-9数字键
Text1.Text = Text1.Text & Index
Text1.SetFocus
End Sub

Private Sub Command1_KeyPress(Index As Integer, KeyAscii As Integer)    '阻止键盘输入,不过不知为什么没有用
KeyAscii = 0
End Sub

Private Sub Command2_Click(Index As Integer)   ' "."键
Text1.Text = Text1.Text & "."
End Sub

Private Sub Command3_Click()   '退格键
If Text1.Text = "" Then
Exit Sub
End If
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub

Private Sub Command4_Click()    '清除键
Text1.Text = ""
End Sub

Private Sub Command5_Click(Index As Integer)    '做运算,总觉得逻辑上哪有问题
shu1 = Val(Text1.Text)
process = shu1
Text1.Text = ""
 If judge = Command5(0) Then
process0 = shu1 + Command(0)
 ElseIf judge = Command5(1) Then
process1 = shu1 + Command5(1)
 ElseIf judge = Command5(2) Then
process2 = shu1 + Command(2)
ElseIf judge = Command5(3) Then
 process3 = shu1 + Command5(3)
 End If
shu2 = Val(Text1.Text)
End Sub

Private Sub Command6_Click()    '等号
result = process + shu2
Text1.Text = result
If process0 Then
result = shu1 + shu2
ElseIf process1 Then
result = shu1 - shu2
ElseIf process2 Then
result = shu1 * shu2
ElseIf process3 Then
result = shu1 / shu2
End If
End Sub

Private Sub Text1_Change()
If judge = False Then
shu2 = Val(Text1.Text)
End If
Text1.SetFocus
End Sub




相关文章

相关软件