我自己写的第一个vb程序(原程序)请大家指点指点!帮我看看,有什么错的,对的?

earphone 2000-06-09 09:54:00
form1.Visual Basic Form File文件

VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "计算器"
ClientHeight = 3480
ClientLeft = 5070
ClientTop = 2085
ClientWidth = 3960
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 3480
ScaleWidth = 3960
Begin VB.CommandButton cmd
Caption = "="
Height = 375
Left = 3120
TabIndex = 22
Top = 600
Width = 495
End
Begin VB.CommandButton CmdC
Caption = "C"
Height = 375
Left = 2280
TabIndex = 21
Top = 600
Width = 495
End
Begin VB.CommandButton cmdCE
Caption = "CE"
Height = 375
Left = 1440
TabIndex = 20
Top = 600
Width = 495
End
Begin VB.CommandButton Command2
Caption = "Backspace"
Height = 375
Left = 240
TabIndex = 19
Top = 600
Width = 975
End
Begin VB.TextBox Text1
Alignment = 1 'Right Justify
Height = 285
Left = 240
TabIndex = 0
Top = 120
Width = 3375
End
Begin VB.Frame Frame2
Height = 2175
Left = 2520
TabIndex = 12
Top = 1080
Width = 1215
Begin VB.CommandButton Command3
Caption = "/"
Height = 375
Index = 4
Left = 120
TabIndex = 16
Top = 1680
Width = 975
End
Begin VB.CommandButton Command3
Caption = "*"
Height = 375
Index = 3
Left = 120
TabIndex = 15
Top = 1200
Width = 975
End
Begin VB.CommandButton Command3
Caption = "-"
Height = 375
Index = 2
Left = 120
TabIndex = 14
Top = 720
Width = 975
End
Begin VB.CommandButton Command3
Caption = "+"
Height = 375
Index = 1
Left = 120
TabIndex = 13
Top = 240
Width = 975
End
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 9
Left = 1800
TabIndex = 11
Top = 2280
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 8
Left = 1080
TabIndex = 10
Top = 2280
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 7
Left = 360
TabIndex = 9
Top = 2280
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 6
Left = 1800
TabIndex = 8
Top = 1800
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 5
Left = 1080
TabIndex = 7
Top = 1800
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 4
Left = 360
TabIndex = 6
Top = 1800
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 3
Left = 1800
TabIndex = 5
Top = 1320
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 2
Left = 1080
TabIndex = 4
Top = 1320
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 1
Left = 360
TabIndex = 3
Top = 1320
Width = 495
End
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Index = 0
Left = 360
TabIndex = 2
Top = 2760
Width = 495
End
Begin VB.Frame Frame1
Height = 2175
Left = 240
TabIndex = 1
Top = 1080
Width = 2175
Begin VB.CommandButton Command1
Caption = "."
Height = 375
Index = 11
Left = 1560
TabIndex = 18
Top = 1680
Width = 495
End
Begin VB.CommandButton Command1
Caption = "+/-"
Height = 375
Index = 10
Left = 840
MaskColor = &H80000000&
TabIndex = 17
Top = 1680
Width = 495
End
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 i As Integer
Dim var1, var2 As Double
Dim flag As String
Dim addindex As Integer
Dim jieguo As Variant
Dim fuhao1 As Integer

Private Sub cmd_Click()
yunsuan
Text1.Text = jieguo
var1 = jieguo
End Sub

Private Sub Command1_Click(index As Integer)
Select Case index
Case 0
addindex = index
fuhao
Case 1
addindex = index
fuhao
Case 2
addindex = index
fuhao
Case 3
addindex = index
fuhao
Case 4
addindex = index
fuhao
Case 5
addindex = index
fuhao
Case 6
addindex = index
fuhao
Case 7
addindex = index
fuhao
Case 8
addindex = index
fuhao
Case 9
addindex = index
fuhao
Case 10
zengfuhao
Case 11
If fuhao1 = 1 Then
var2 = Val(Text1.Text)
xiaoshudian2
Else
var1 = Val(Text1.Text)
xiaoshudian1
End If
End Select
End Sub

Private Sub Command3_Click(index As Integer)
var1 = Val(Text1.Text)
Select Case index
Case 1
flag = "+"
yunsuan1
Case 2
flag = "-"
yunsuan1
Case 3
flag = "*"
yunsuan1
Case 4
flag = "/"
yunsuan1
End Select
End Sub

Private Sub Cmdce_Click()
var1 = Val(Text1.Text)
var2 = 0
Text1.Text = 0
End Sub

Private Sub Cmdc_Click()
var1 = 0
var2 = 0
Text1.Text = 0
flag = 0
i = 0
jieguo = 0
fuhao1 = 0
End Sub

Private Sub Form_Load()
Text1.Text = 0
i = 0
For i = 0 To 9
Command1(i).Caption = i
Next
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode >= 48 And KeyCode <= 57 Or KeyCode = 8 Or KeyCode = 46 Then
Text1.Locked = False
Else
Text1.Locked = True
End If
End Sub

Sub fuhao()
If fuhao1 = 0 Then '判断是否点击运算符号
If flag <> "" Then
Text1.Text = 0 '如果点击运算符号文本框清0
fuhao1 = 1 '符值fuhao为是
End If
End If
If fuhao1 = 1 Then
add2
Else
add1
End If
End Sub

Sub add1()
If var1 = 0 Then
Text1.Text = addindex
var1 = Val(Text1.Text)
Else
Text1.Text = Text1.Text & addindex
End If
End Sub

Sub add2()
If var2 = 0 Then
Text1.Text = addindex
var2 = Val(Text1.Text)
Else
Text1.Text = Text1.Text & addindex
End If
End Sub

Sub yunsuan()
Select Case flag '判断运算符进行加减乘除运算
Case "+"
jieguo = var1 + var2
Case "-"
jieguo = var1 - var2
Case "*"
jieguo = var1 * var2
Case "/"
jieguo = var1 / var2
End Select
var2 = 0
End Sub

Sub yunsuan1()
If var2 <> 0 Then
yunsuan
Text1.Text = jieguo
var1 = Val(jieguo)
End If
End Sub

Function zengfuhao()
If Text1.Text > 0 Then
Text1.Text = -Val(Text1.Text)
Else
Text1.Text = -Val(Text1.Text)
End If
End Function

Sub xiaoshudian1()
Dim x, y As String
x = "."
y = Str$(var1)
If InStrRev(x, var1) <> x Then
var1 = var1 & x
Text1.Text = var1
End If
End Sub

Sub xiaoshudian2()
Dim x, y As String
x = "."
y = Str$(var2)
If InStrRev(x, var2) <> x Then
var2 = var2 & x
Text1.Text = var2
End If
End Sub



帮我看看,有什么错的,对的?

...全文
296 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gogogo 2000-06-19
  • 打赏
  • 举报
回复
你的确实是初学者,看看你的select case语句就知道了,一样的内容就不要再写一遍,写这么多次,控件数组的优势都被你吃了,好差!
gogogo
Gansen 2000-06-19
  • 打赏
  • 举报
回复
Private Sub Command1_Click(index As Integer)
Select Case index
Case 0
addindex = index
fuhao
Case 1
addindex = index
fuhao
Case 2
addindex = index
fuhao
Case 3
addindex = index
fuhao
Case 4
addindex = index
fuhao
Case 5
addindex = index
fuhao
Case 6
addindex = index
fuhao
Case 7
addindex = index
fuhao
Case 8
addindex = index
fuhao
Case 9
addindex = index
fuhao
Case 10
zengfuhao
Case 11
If fuhao1 = 1 Then
var2 = Val(Text1.Text)
xiaoshudian2
Else
var1 = Val(Text1.Text)
xiaoshudian1
End If
End Select
End Sub
可以改为
Private Sub Command1_Click(index As Integer)
Select Case index
Case 0,1,2,3,4,5,6,7,8,9
addindex = index
fuhao
Case 10
zengfuhao
Case 11
If fuhao1 = 1 Then
var2 = Val(Text1.Text)
xiaoshudian2
Else
var1 = Val(Text1.Text)
xiaoshudian1
End If
End Select
End Sub

这样子好看多了。
Wonny 2000-06-19
  • 打赏
  • 举报
回复
第一次能写出这样的程序的确不错了。我想您应该也是第一次编程吧。其实一个语句能解决的就不必拉长到十几句(比如说 SELECT 程序段中的)。命名要规范一点,多用点英语其实也无所谓的,能看得了程序的人英语应该不是大问题,用拼音看起来实在太难受。正确与否运行一下便知。
Tyro 2000-06-19
  • 打赏
  • 举报
回复
主要是命名不规范
1 2000-06-19
  • 打赏
  • 举报
回复
我和你一样是初学者,希望能共同探讨。联系方法95828-61077
xuayo 2000-06-18
  • 打赏
  • 举报
回复
这种写法,叫人看的很累,最好培养以下自己的写程序习惯和vb的命名
Janven 2000-06-12
  • 打赏
  • 举报
回复
阁下的命名太不规范了,最好不要用VB默认的,程序一大起来,看都看不清,别说调试了。
yby 2000-06-10
  • 打赏
  • 举报
回复
感谢neulf,你的回答对我也有帮助。
zzj_mjz 2000-06-10
  • 打赏
  • 举报
回复
如想声明两个String变量,
Dim x,y as String 这样的写法是不对的,这样x是Variant类型的,应写成:
Dim x as String,y as String
neulf 2000-06-09
  • 打赏
  • 举报
回复
最大的错误就是编程习惯不好!不要用拼音,尽量用英文和英文词组!
aleck 2000-06-09
  • 打赏
  • 举报
回复
有没有错,运行一下不就知道了?
CCL 2000-06-09
  • 打赏
  • 举报
回复
强烈赞同tbmac
tbmac 2000-06-09
  • 打赏
  • 举报
回复
去问计算机
中央广播电视大学“人才培养模式改革与开放教育试点” 软件开发与应用专业 中 期 报 告 题 目:企业数据信息管理系统 学 校:辽宁广播电视大学锦州分校 指导教师:姜巍巍 学生姓名:张惠明 学 号:037040463 完成日期:2006年3月21日 企业数据信息管理系统 中 期 报 告 企业数据信息管理系统是典型的数据库信息管理系统,其开发主要包括数据库的建立、维护以及用户界面应用程序的开发两个方面。在开发程序过程中遇到了一些问题及困难,通过指导老师进行指导及参与相关书籍采用了适当的方法进行解决。 在编制该系统中期以前做了以下工作并对出现的问题进行实际的调试,调试后使该系统能够无差误安全稳定的运行,具体工作如下:。 1、选题并深入分析课题意义 确定选题和深入分析,选题意义、目的明确,查找有关文献,进程计划安排合理,进行可行性、合理性、科学性分析和论证,最后结合设计任务确定选题。首先确定课题名称及课题的整体设计方案和最后所要达到的目标,通过科学论证后该系统具有可行性、科学性、先进性,通过收集资料、查阅有关文献及技术参数得到了充分的证实。同时确定课题实现所需的技术环境及相应软件工具,设计课题应具备的任务和要求。 2、中期(4月27日以前)具体设计的模块及遇到的问题 在编以下这些模块中的功能模块时遇到了一些困难和问题,例如:(1)在设计系统菜单时要将每一个具体的功能用横线分隔开,这样一个问题通过查询VISUAL BASIC的书籍关于菜单设计的章节中找到了答案,只需将菜单名称设置成-,同时将结果一项设置成菜单项,不要选成命令或过程。同时了解了命令和过程在菜单中的具体方法,对菜单设计有了更进一步的理解。(2)在设计模糊查询时遇到了设置了程序代码后无法进行正确查询,通过检查程序语发现在程序中数据库链接存在问题,在程序设计过程中没有注意到这点,促使在运行程序中产生中断无法进行正确查询。(3)在整体系统编制过程中出现了控件相互混乱的情况,在使用语句时对控件的具体标识不清,产生了一些误。(4)在报表设计过程中出现了打印内容显示不全,同时表格不能连续显示,有的地方有表格,而有的地方无表格。还存在打印时只有第一页有标题,其他页均无标题。在这个问题上询问了指导老师及和同学讨论,参照了相关的书籍,得到了解决. 3、中期(5月10日以前)整体系统调试存在的问题及解决方案 对已编制好的模块进行整体系统调试,采用菜单形式进行总体规划,调用不同表单实现各分模块的功能,对程序进行打包以实现优化。在系统调试过程中采用了两种测试方法:数据驱动和逻辑驱动的测试,第一种方法是数据驱动的方法,它不需要知道关于程序的工作方式方面的知识,而主要集中在对现实世界或虚构的数据进行采样的基础上,挑选出一系列测试数据集合,然后使用这些数据运行程序,看它是否产生了预期的结果。另一种方法是逻辑驱动的方法,这种方法需要程序编码的广泛知识,它试图测试程序可以执行的每个路径,还通过使用接近和超过已知的实际上存在限制的数据,对程序如何处理这些数据限制进行检测。企业数据信息管理系统采用了这两种方法进行测试与分析,采用典型数据进行录入与检测,例举一组数据进行实际操作,在操作过程产生了一些误的代码,并逐步进行了分析与改正,用VB的功能进行实际运行与编译,最终达到无误的运行,同时测试数据所有数据库的表之间的相互关系是否存在矛盾,从而解决实际问题。 4、中期(5月10日以前)论文初稿作过程中存在的困难 根据程序设计的实现和对开发环境的熟悉进行论文初稿作。包括第一章概述。第二章可行性分析。第三章系统需求分析。第四章系统开发工具简介。第五章系统设计。第六章系统具体实现。第七章结束语。通过询问指导老师取得助,确定论文大体应包括那些内容,每一章节中具体包括那些细节内容,格式怎样安排,论文初稿经指导老师指导与指正指出如下毛病,论文摘要中关键字不应过长,要找能体现程序功能和作用的短语来作为关键词,同时应有英文摘要。字数不要过多,要简练。各章节内容要充实,要与该企业数据信息系统有关的编制信息和可行性分析等,软件环境介绍不要过多。通过指导教师的指点进行了相关的改正、完善。 5、中期(5月30日以前) 论文二稿作过程中存在的困难 通过一稿的指导教师指出的意见进行了修改,掌握作的重点章节,重点章节问题重点强调。分项地充分了一章的内容,从全方面出发尽可能地提高档次。如:第三章 系统需求分析,在这一章里,讨论了系统需求分析的目的、并对用户需求从一致性、完整性、现实性、有效性四个方面严格验证这些需求的正确性。第六章系统具体实现,在这一章里,遇到问题较多,没有数据E-R图,没有数据库的设置列表,经过老师指导,全部加上。而且指导教师指出了论文中的图表应有注释并按章节编码排序,论文中应给出重要功能模块的的全部源代码。 6、后期(6月以后)的设计的设想 对指导老师二稿的结论进行综合性分析并进行修订,并询问论文中不足的问题应怎样修改能达到完善,改正所有不足之处,达到完美以求定稿。对论文进行规格化装订,与指导教师进行讨论与咨询,指导教师指导在答辩过程中有可能提出的问题,及所提出的问题应从何种角度进行回答,同时指导教师对答辩的技能、技巧进行指导,并准备答辩演示文稿及相关材料。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧