
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:
其实比较简单啦,用一个窗体就可以实现啦!
我自己写的,你可以看看
Option Explicit
Dim strNumber As String
Dim strPoint As String
Dim dblNum1 As Double
Dim intOperator As Integer
'清除结果
Private Sub cmdGT_Click()
txtDisplayText = "0"
strNumber = ""
strPoint = ""
intOperator = 7
End Sub
'输入数字
Private Sub cmdNumber_Click(Index As Integer)
strNumber = strNumber & cmdNumber(Index)Caption
txtDisplayText = strNumber & strPoint
End Sub
Private Sub cmdOnOff_Click()
End
End Sub
'运算过程
Private Sub cmdOperator_Click(Index As Integer)
Dim dblnum2 As Double
'是第一次单击运算符时,将输入的值先赋给第一个数,否则赋值给第二个数进行运算
If intOperator = 7 Then
dblNum1 = CDbl(txtDisplayText)
Else
dblnum2 = CDbl(Val(txtDisplayText))
'根据输入的符号进行运算
'求普通运算
Select Case intOperator
Case 0
dblNum1 = dblNum1 + dblnum2
Case 1
dblNum1 = dblNum1 - dblnum2
Case 2
dblNum1 = dblNum1 dblnum2
Case 3
If dblnum2 <> 0 Then
dblNum1 = dblNum1 / dblnum2
Else
MsgBox "除数不能为“0”!请重新输入除数。", vbOKOnly + vbInformation, "除零错误"
Index = intOperator
End If
Case 6
dblNum1 = dblNum1 dblnum2 / 100
End Select
End If
'取得当前输入的运算符,以做下次运算
intOperator = Index
strNumber = ""
txtDisplay = CStr(dblNum1)
'判断是否为文本框中的数字加点
If Not txtDisplay Like "" Then
txtDisplayText = txtDisplayText & ""
End If
End Sub
Private Sub cmdOtherOper_Click(Index As Integer)
Dim dblNum As Double
'求平方根,平方,
dblNum = CDbl(Val(txtDisplayText))
Select Case Index
Case 0
'验证数据是否有效
If dblNum >= 0 Then
txtDisplayText = CStr(Sqr(dblNum))
Else
MsgBox "负数不能开平方根!", _
vbOKOnly + vbCritical, "开平方根错误"
End If
Case 1
txtDisplayText = CStr(dblNum ^ 2)
End Select
'判断是否为文本框中的数字加点
If Not txtDisplay Like "" Then
txtDisplayText = txtDisplayText & ""
End If
End Sub
Private Sub cmdPoint_Click()
strNumber = strNumber & strPoint
strPoint = ""
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'使被按下的数字键的对应按钮取得焦点
Select Case KeyCode
Case 48 To 57
cmdNumber(KeyCode - 48)SetFocus
Case 96 To 105
cmdNumber(KeyCode - 96)SetFocus
Case Else
'使按下的符号键对应的按钮取得焦点
If KeyCode = 107 Or (Shift = vbShiftMask And KeyCode = 187) Then
cmdOperator(0)SetFocus
cmdOperator_Click (0)
ElseIf KeyCode = 109 Or KeyCode = 189 Then
cmdOperator(1)SetFocus
cmdOperator_Click (1)
ElseIf KeyCode = 106 Or (Shift = vbShiftMask And KeyCode = 56) Then
cmdOperator(2)SetFocus
cmdOperator_Click (2)
ElseIf KeyCode = 111 Or KeyCode = 191 Then
cmdOperator(3)SetFocus
cmdOperator_Click (3)
ElseIf KeyCode = 13 Then
cmdOperator(7)SetFocus
cmdOperator_Click (7)
ElseIf KeyCode = 8 Then
cmdGTSetFocus
Call cmdGT_Click
End If
End Select
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
'将合法的数据输入到文本框
Select Case KeyAscii
Case 48 To 58
'调用数字键点击处理程序
cmdNumber_Click KeyAscii - 48
KeyAscii = 0
Case 46
'调用小数点输入
cmdPoint_Click
KeyAscii = 0
Case 13
'当敲击回车时,不能触发Form的 KeyUp 事件,因此在这里设置文本框的焦点
txtDisplaySetFocus
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplaySetFocus
End Sub
Private Sub Form_Load()
strNumber = ""
strPoint = ""
intOperator = 7
End Sub
加入标签Label1,Caption设置为“你好,请输入你的姓名”
加入文本框Text1,用来输入姓名的
加入标签Label2,按照你的要求设置字体属性,autosize属性设成true
分别加入确定,继续,结束按钮
以下是代码:
Private Sub Form_Load()
Me结束Visible = False
Me继续Visible = False
Label2Visible = False
End Sub
Private Sub 继续_Click()
Me结束Visible = False
Me继续Visible = False
Label2Visible = False
Me确定Visible = True
Label1Visible = True
Text1Visible = True
End Sub
Private Sub 结束_Click()
End
End Sub
Private Sub 确定_Click()
Label2Caption = Text1Text & "同学,你好,祝你学好vb程序设计"
Me结束Visible = True
Me继续Visible = True
Label2Visible = True
Label1Visible = False
Text1Visible = False
Me确定Visible = False
End Sub
VB 程序设计是Visual Basic编程语言,编写计算机程序需要使用计算机编程语言。计算机编程语言是人和计算机“对话”的桥梁,计算机编程语言也有很多。
目前较为广泛使用的语言有“C++”、“Pascal”、“Basic”等。在众多的计算机编程语言中,以BASIC语言最为易学易用。
BASIC是英文Beginner’s All purpose Symbolic Instruction Code的缩写,意思为初学者通用符号指令代码,一直都是程序设计入门的首选语言。
1991年,Visual Basic(简称VB)面世,他是第三代BASIC语言,它不但秉承了BASIC语言的易学易用的优点,而且增加了图形界面设计工具。
它简化了复杂的窗口程序编写过程,让编程者将更多的精力致力于问题的求解过程。
VB程序设计能设计出大部分的Windows平台的软件,不过有些软件虽然能做,但并不适合VB程序设计。
例如用VB做游戏的话,原理上是可行的,也确实有人用VB开发过游戏,但不得不说太麻烦了。还有一些底层控制的程序也不好做。
VB目前主要用途还是用于快速制作不太复杂的、小型的桌面软件。所以要想开发大型的软件,例如Photoshop或是3DMax之类的程序,VB显然是不能胜任的。
扩展资料:
1、VB的基本特点
(1)可视化的设计平台。Visual Basic提供的可视化设计平台,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面的设计而编写大量程序代码。
只需按照设计的要求,用系统提示的工具在屏幕中画出各种对象即可。Visual Basic自动产生界面设计代码,程序员只需要实现程序功能的那部分代码,从而大大地提高了程序设计的效率。
(2)事件驱动的编程机制。VB没有传统意义上的主程序,程序执行的基本方法是由“事件”来驱动子程序的运行。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向。
每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,各个动作之间不一定有联系,使得程序既易于编写又易于维护。
2、VB的优点
(1)强大的数值和字符串处理功能。
(2)丰富的图形指令。
(3)提供静态和动态数组,有利于简化内存管理。
(4)过程可递归调用。
(5)支持随机文件和顺序文件访问。
(6)提供了一个可供应用程序调用的包含多种类型的图标库。
(7)具有完善的运行出错处理。
参考资料来源:百度百科-Visual Basicvb2005中除了ini,还有其他的方法,就是用MySettings。
选择“项目”-“xxx(你的解决法案名)属性”
可以看到一个对话框,有编译,调试,引用,资源等选项,我们选择“设置”,右边出现一个表,项目有“名称”“类型等”,我们创建一个名称为“wt”,类型为“integer”的属性!下面的代码实现保存关闭时的窗体宽,当然可以保存一切你想要的数据(只读属性无法存!):
Private
Sub
Form1_FormClosed(ByVal
sender
As
Object,
ByVal
e
As
SystemWindowsFormsFormClosedEventArgs)
Handles
MeFormClosed
MySettingswt
=
MeWidth
End
Sub
Private
Sub
Form1_Load(ByVal
sender
As
SystemObject,
ByVal
e
As
SystemEventArgs)
Handles
MyBaseLoad
MeWidth
=
MySettingswt
End
Sub
VB60测试通过
'利用随机函数产生60个100~200之间的随机整数,将其中的偶数按由小到大的顺序排列并输出,将奇数按由大到小的顺序排列并输出。
'1.将随机产生的60个整数按每行10个数输出到窗体或文本框中。
'2.将排好序的偶数和奇数分别输出到两个文本框中。
Dim RndArray(6, 10) As Integer
Dim OddArray() As Integer
Dim EvenArray() As Integer
Dim i, j As Integer
Dim m, n As Integer
Private Sub Cmd_Exit_Click()
'销毁数组
Unload Me
End Sub
Private Sub Cmd_Start_Click()
'除数化
MeTxt(0)Text = ""
MeTxt(1)Text = ""
MeTxt(2)Text = ""
ReDim OddArray(60)
ReDim EvenArray(60)
For i = 0 To 5 Step 1
For j = 0 To 9 Step 1
RndArray(i, j) = RndNuN(100, 200)
Next j
Next i
For i = 0 To 5 Step 1
For j = 0 To 8 Step 1
MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + ","
Next j
MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + vbCrLf
Next i
m = 0
n = 0
For i = 0 To 5 Step 1
For j = 0 To 9 Step 1
If RndArray(i, j) Mod 2 Then
OddArray(m) = RndArray(i, j)
m = m + 1
Else
EvenArray(n) = RndArray(i, j)
n = n + 1
End If
Next j
Next i
ReDim Preserve OddArray(m)
ReDim Preserve EvenArray(n)
DwComp OddArray(), m
UpComp EvenArray(), n
m = m - 1
n = n - 1
For i = 0 To m Step 1
MeTxt(1) = MeTxt(1) + Trim(Str(OddArray(i))) + ","
Next i
For i = 0 To n Step 1
MeTxt(2) = MeTxt(2) + Trim(Str(EvenArray(i))) + ","
Next i
End Sub
Public Function RndNuN(ByVal Min As Integer, ByVal Max As Integer)
RndNuN = Min + (Max - Min) Rnd
End Function
Public Function UpComp(ByRef parray() As Integer, ByVal num As Integer)
Dim temp As Integer
num = num - 2
For i = 0 To num Step 1
For j = 0 To num Step 1
If parray(j) > parray(j + 1) Then
temp = parray(j)
parray(j) = parray(j + 1)
parray(j + 1) = temp
End If
Next j
Next i
End Function
Public Function DwComp(ByRef parray() As Integer, ByVal num As Integer)
Dim temp As Integer
num = num - 2
For i = 0 To num Step 1
For j = 0 To num Step 1
If parray(j) < parray(j + 1) Then
temp = parray(j)
parray(j) = parray(j + 1)
parray(j + 1) = temp
End If
Next j
Next i
End Function
'利用随机函数产生100个10~99之间的随机整数,找出其中的素数,并将这些素数求和。
'1 将随机产生的100个整数存入数组,按每行10个数输出到窗体或文本框中。
'2 用Sub子过程或Function函数过程判断随机整数是否为素数。
'3 将素数按每行10个数在窗体或文本框中输出。
'4 将素数的个数以及求和结果出到窗体或文本框中。
Dim RndArray(10, 10) As Integer
Dim PrimArray() As Integer
Dim i, j As Integer
Dim m, n As Integer
Dim num As Integer
Dim sum As Integer
Private Sub Cmd_Click(Index As Integer)
If Index Then
Unload Me
Else
'初始化
MeTxt(0)Text = ""
MeTxt(1)Text = ""
MeTxt(2)Text = ""
MeTxt(3)Text = ""
For i = 0 To 9 Step 1
For j = 0 To 9 Step 1
RndArray(i, j) = RndNuN(10, 99)
Next j
Next i
For i = 0 To 9 Step 1
For j = 0 To 8 Step 1
MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + ","
Next j
MeTxt(0)Text = MeTxt(0)Text + Trim(Str(RndArray(i, j))) + vbCrLf
Next i
m = 0
n = 0
num = 0
sum = 0
ReDim PrimArray(10, 10)
For i = 0 To 9 Step 1
For j = 0 To 9 Step 1
If IsPrime(RndArray(i, j)) Then
PrimArray(m, n) = RndArray(i, j)
MeTxt(1)Text = MeTxt(1)Text + Trim(Str(PrimArray(m, n))) + ","
sum = sum + PrimArray(m, n)
n = n + 1
If n > 9 Then
m = m + 1
n = 0
End If
num = num + 1
End If
Next j
Next i
MeTxt(2)Text = Trim(Str(num))
MeTxt(3)Text = Trim(Str(sum))
End If
End Sub
Public Function RndNuN(ByVal Min As Integer, ByVal Max As Integer)
RndNuN = Min + (Max - Min) Rnd
End Function
Public Function IsPrime(ByVal n As Integer) As Boolean
Dim a, b As Integer
IsPrime = False
If n Mod 2 Then
b = Sqr(n)
For a = 3 To b Step 2
If n Mod a = 0 Then
Exit Function
End If
Next a
IsPrime = True
End If
End Function
变量定义面变量名x,y换别x1y1等
Dim
x1
As
Integer
Private
Sub
Command1_Click()'+按钮
x1
=
x1
+
1
MeCaption
=
x1
End
Sub
Private
Sub
Command2_Click()'-按钮
x1=
x1
-
1
MeCaption
=
x1
End
Sub
Private Sub Command1_Click()
Static n As Long, m As Long
m = Val(Text2)
n = n + 1
If Text1 = "psw123" Then
MsgBox "口令正确", vbExclamation, "登录"
n = 0
Else
If n >= m Then
MsgBox n & "次输入错误,请退出", vbExclamation, "登录"
End
Else
MsgBox "第" & n & "次口令输入错误,请重新输入", vbExclamation, "登录"
Text1SetFocus
End If
End If
End Sub
Private Sub Form_Load()
Label1Caption = "口令:"
Label2Caption = "允许输入口令的次数:"
Command1Caption = "确定"
MeCaption = "登录"
Text1 = ""
Text1PasswordChar = ""
Text2 = 3
End Sub
1 list1clear
2 1
3 C:\student\xstxt xstxt
4 show
5 static
6 3
7 redim
8 vb有这函数吗?我记得只有ubound
9 d出式
以上就是关于怎样用VB编写简单的计算器程序全部的内容,包括:怎样用VB编写简单的计算器程序、怎么用vb做一个简单的程序、什么是VB程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)