VB试验报告参考

更新时间:2024-03-24 05:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1页共31页

福建农林大学计算机与信息学院

(程序设计类课程)

实验报告

课程名称: 姓 名:

系:

专 业: 年 级: 学 号: 指导教师: 职 称:

2007年 6月 2 日

实验项目列表

实验项目名称 Visual Basic环境和程序设计初步 顺序程序设计 选择结构程序设计 循环结构程序设计及数组的运用 过 程 窗体和常用控件(一) 常用控件(二) 循环结构程序设计及动态数组的应用 综合实例(一) 综合实例(二) Visual Basic程序设计教程 洪景泉

计算机与信息学院 计算机应用技术 05级

051893067 黄红兵 讲师

序号 1 2 3 4 5 6 7 8 9 10

成绩 指导教师 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 黄红兵 1

第2页共31页

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、3、28 实验地点: 综南附307 指导教师签字: 黄红兵

实验一 Visual Basic环境和程序设计初步

一、实验目的和要求

1、 了解Visual Basic系统对计算机软件、硬件的要求。 2、 掌握启动与退出Visual Basic的方法。 3、 熟悉Visual Basic的集成开发环境(IDE)。 4、 掌握在窗体上添加控件的各种方法。

5、 掌握建立、编辑、运行和保存一个简单的Visual Basic应用程序的全过程。

二、实验内容和原理

1、 熟悉工具箱上的标准控件以及窗体设计器和工程管理器窗口、属性窗口、代码窗口的功能、组成以及它们各种不同的打开方法。

2、 在窗体上画一文本框个一个命令按钮,在文本框中显示“VB程序设计”,然后执行如下操作:

(1) 编写适当事件过程,当单击命令按钮时,文本框内容消失。

(2) 单击“文件”—“生成工程”并退出。在windows环境下运行该工程。 用户界面:

实验代码:

Private Sub Command1_Click() Text1.Text = \End Sub

3、 创建一个“标准EXE”类型的应用程序。要求:程序运行时在屏幕上显示“欢迎您的到来!”,并输入您的名字,当按回车键时弹出如下对话框:

2

第3页共31页

用户界面:

代码:

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

MsgBox \欢迎\的到来\ End If End Sub

4、 创建如图所示的应用程序,要求:单击“确定”按钮后,第一个文本框显示系统日期,第二个文本框显示星期。单击“退出”按钮则退出应用程序。 用户界面:

实验代码:

Private Sub Command1_Click() Dim num As Integer num = Weekday(Now) Text1.Text = Date Select Case num Case 1

Text2.Text = \日\Case 2

Text2.Text = \一\Case 3

3

第4页共31页

Text2.Text = \二\Case 4

Text2.Text = \三\Case 5

Text2.Text = \四\Case 6

Text2.Text = \五\Case 7

Text2.Text = \六\End Select

End Sub

Private Sub Command2_Click() End End Sub三、总结

通过本次实验熟悉了Visual Basic的集成开发环境(IDE)。掌握在窗体上添加控件的各种方法。掌握建立、编辑、运行和保存一个简单的Visual Basic应用程序的全过程。

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、4、4 实验地点: 综南附307 指导教师签字: 黄红兵

实验二 顺序程序设计

一、实验目的和要求

1.掌握常用内部函数的使用

2.掌握表达式 赋值语句的正确书写规则 3.掌握InpueBox和MsgBox的使用 二、实验内容和原理

1.创建如图所示的应用程序,要求:单击窗体显示如图所示的图形。 用户界面:

4

第5页共31页

实验代码:

Private Sub Form_click() Dim i As Integer Dim j As Integer For i = 1 To 9 For j = 1 To i

If i = 9 Or j = 1 Or i = j Then Print \※\ Else

Print Spc(2); End If Next j Print Next i End Sub

2.创建如图所示的应用程序,要求:单击“放大”按钮后,将文本中显示的字符串放大2--3倍;若单击按钮“还原”按钮。则将文本框显示的字符串大小返原。 用户界面:

实验代码:

Dim x as integer Dim y as integer

5

第6页共31页

Private Sub Command1_Click() y = Text1.FontSize

Text1.FontSize = Int(Rnd * 2 + 2) * y End Sub

Private Sub Command2_Click() Text1.FontSize = y End Sub

3.创建如图的应用程序,要求:单击“确定”按钮后,弹出“是否继续”,若单击“是”,则文本框显示:“您按下的按钮是‘是’”;若单击按钮“否”,则文本框显示:“您按下的是‘否’”。单击“结束”,则退出应用程序。 用户界面:

实验代码:

Private Sub Command1_Click() Dim x As Integer

x = MsgBox(\是否继续?\信息显示窗口\ If x = vbYes Then

Text1.Text = \您按下的按钮:\是\ Else

Text1.Text = \您按下的按钮:\否\ End If End Sub

Private Sub Command2_Click() End End Sub 三、总结

通过本次实验掌握常用内部函数的使用,表达式 赋值语句的正确书写规则以及InputBox和MsgBox的使用

6

第7页共31页

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、4、11 实验地点: 综南附307 指导教师签字: 黄红兵

实验三 选择结构程序设计

一、实验目的和要求

1、掌握If条件语句的使用。

2、掌握情况语句的使用,以及情况语句与多分支条件语句的使用区别。 二、实验内容和原理

1、请编一程序用于在期未时根据学生总分情况给予奖励,条件如下:四门总分不低于360(含360分),特等奖;四门总分320分(含320分)~360分(不含360分),优秀奖;单科成绩不低于95分,特别奖。 用户界面:

实验代码:

Private Sub Command1_Click()

Dim t1 As Integer, t2 As Integer, t3 As Integer, t4 As Integer, sum As Integer If IsNumeric(Text1.Text) And IsNumeric(Text2.Text) And

7

第8页共31页

IsNumeric(Text3.Text) And IsNumeric(Text4.Text) Then t1 = Val(Text1.Text) t2 = Val(Text2.Text) t3 = Val(Text3.Text) t4 = Val(Text4.Text) sum = t1 + t2 + t3 + t4 Label3.Caption = sum If (sum >= 360) Then

MsgBox \您获得了特等奖\获奖通知\ ElseIf (sum >= 320) And (sum < 360) Then MsgBox \您获得了优秀奖\获奖通知\

ElseIf (t1 >= 95) And (t2 >= 95) And (t3 >= 95) And (t4 >= 95) Then MsgBox \您获得了特别奖\获奖通知\ Else

MsgBox \您要努力了!\通知\ End If Else

MsgBox \请输入数字\ Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ Text1.SetFocus End If

End Sub

Private Sub Form_Activate() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ Text1.SetFocus End Sub

2. 输入X,Y,Z三个数,按从小到大的次序显示出来,要求:程序中不得使用循环结构和转向语句;掌握两个数交换的方法 程序界面:

8

第9页共31页

实验代码:

Dim x as double, y as double , z as double , t as double Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = \

x = Val(Trim(Text1.Text)) Text2.SetFocus End If

Text4.Text = x End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = \

y = Val(Trim(Text2.Text)) If x > y Then t = x x = y y = t End If

Text3.SetFocus End If

Text4.Text = x Text5.Text = y End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = \

z = Val(Trim(Text3.Text)) If z < y And z >= x Then Text5.Text = z Text6.Text = y ElseIf z < x Then Text4.Text = z Text5.Text = x Text6.Text = y

9

第10页共31页

Else

Text6.Text = z End If End If End Sub

315页简易计算器:

然后输入代码,代码如下所示: Private Sub Command1_Click() Dim a As Double, b As Double Dim operator As String a = Val(Text1.Text)

operator = Trim(Text2.Text) b = Val(Text3.Text)

Select Case operator Case \

Text4.Text = a + b Case \

Text4.Text = a - b Case \

Text4.Text = a * b Case \

If b = 0 Then

MsgBox (\分母出错为零,出错\ Else

Text4.Text = a / b End If Case Else

MsgBox (\运算符出错,请重新输入!\End Select

End Sub

10

第11页共31页

Private Sub Form_Activate() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \ Text1.SetFocus End Sub

三、总结

通过本次实验掌握If条件语句的使用,情况语句的使用以及情况语句与多分支条件语句的使用。

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、4、18 实验地点: 综南附307 指导教师签字: 黄红兵

实验四 循环结构程序设计及数组的运用

一、实验目的和要求

1、 掌握FOR语句的使用。

2、 掌握DO语句的各种形式的使用。

3、 掌握如何控循环条件,防止死循环或不循环。 4、 掌握数组的声明以及数组元素的使用差别。 5、 掌握静态数组和动态数组的使用差别。 6、 应用数组解决与数组有关的常用算法问题。 二、实验内容和原理

1、 编程计算1-2+3-4+5-6+??+n的值,其中n由文本框输入,要求掌握FOR语句的正确使用。 用户界面:

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim n As Integer, i As Integer, s As Integer s = 0

If KeyAscii = \

11

第12页共31页

n = Val(Trim(Text1.Text)) For i = 1 To n

If i Mod 2 = 0 Then s = s - i Else

s = s + i End If Next

Label1.Caption = \End If

End Sub

2.随机产生10个1~10的正整数(包括1,10),求最大值、最小值和平均值,并显示整个数组的值。 用户界面:

实验代码:

Option Base 1

Private Sub Form_Click() Dim a(10) As Integer

Dim i As Integer, max As Integer, min As Integer Dim sum As Integer Randomize

For i = 1 To 10

a(i) = Int(Rnd * 10) + 1 Print Spc(3); a(i); Next i

max = a(1) min = a(1)

For i = 2 To 10

If max < a(i) Then max = a(i)

12

第13页共31页

End If

If a(i) < min Then min = a(i) End If

sum = sum + a(i) Next

Text1.Text = max Text2.Text = min

Text3.Text = sum / 10

End Sub

4.在窗体上显示给定行的杨辉三角形。 用户界面:

Private Sub Command1_Click()

FontSize = 22 FontBold = True

Dim i%, j%, n As Integer Dim a() As Integer n = Val(Text1.Text)

ReDim a(n, n) As Integer ' 将定义为n×n的数组

For i = 1 To n ' 给第一列和主对角线上的元素赋值1 a(i, i) = 1 a(i, 1) = 1 Next i

For i = 3 To n

For j = 2 To n - 1

a(i, j) = a(i - 1, j - 1) + a(i - 1, j) ' 计算除第一列和主对角线上之外元素的值 Next j Next i

For i = 1 To n

Rem Print Tab(30 - i * 3); ' 定位每一行第一个元素输出位置

For j = 1 To i

Print a(i, j);

If a(i, j) < 10 Then ' 打印格式的设置 Print Space(3); Else

13

第14页共31页

Print Space(2); End If Next j Print Next i

End Sub

三、总结

通过本次实验掌握循环语句的使用,数组的声明以及数组元素的使用。掌握了静态数组和动态数组的使用差别。 系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、4、25 实验地点: 综南附307 指导教师签字: 黄红兵

实验五 过程

一、实验目的和要求

1、 掌握自定义函数过程和子过程的定义和调用方法。 2、 掌握形参和实参的对应关系。

3、 掌握值传递和地址传递的传递方式。 4、 掌握递归的概念和使用方法。 二、实验内容和原理

1. 编程计算1+X+X^2+??+X^n的子过程和函数过程,并分别调用。要求:其中X和N的值由用户给定。 用户界面:

14

第15页共31页

实验代码:

Option Explicit

Private x As Integer, n As Integer Private Function f(n, x) As double Dim i As Integer, sum As double For i = 0 To n

sum = sum + x ^ i Next i f = sum End Function

Private Sub Form_Click()

Label1.Caption = \┅+\\

Text1.Text = f(n, x) End Sub

Private Sub Form_Load()

x = CInt(InputBox(\请输入底数X\n = CInt(InputBox(\请输入指数n\Form_Click

End Sub

2. 编写函数S(M AS Integer,N AS Integer )as Long ,此函数返回m+mm+mmm ……+mm??m(n个m)的值。 用户界面:

15

第16页共31页

实验代码:

Option Explicit

Private Sub Form_Load()

Dim m As Integer, n As Integer n = InputBox(\请输入个数n\m = InputBox(\请输入m\

Label1.Caption = m & \Text1.Text = s(m, n) End Sub

Function s(m As Integer, n As Integer) As Long Dim i As Integer, k As Long, sum As Long k = m sum = 0

For i = 1 To n sum = sum + k k = k * 10 + m Next i s = sum

End Function

3用递归函数求和1+2+3+?+n,其中n的值由用户输入 Private Function fac(n As Integer) As long If n = 1 Then fac = 1 Else

fac = n + fac(n - 1) End If End Function

4 用(PI)2/6=1/12+1/22+1/32+?+1/N2近似公式PI的值.当1/N2<0.00001时

16

第17页共31页

不再累加.要求: 掌握Do语句的各种形式的正确使用。

(1)启动Visual BASIC,在窗体上双击。打开代码窗口,在Form_Click()事件中输入如下代码:

Private Sub Form_Click()

Dim n As Integer Dim s As Single s = 0 n = 1

Do While 1 / n ^ 2 >= 10 ^ -5 s = s + 1 / n ^ 2

n = n + 1 Loop s = s * 6

PI = Str(Sqr(s)) Print \End Sub

三、总结

通过本次实验掌握了自定义函数过程和子过程的定义和调用方法,掌握值传递和地址传递的传递方式以及递归的概念和使用方法。

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、5、9 实验地点: 综南附307 指导教师签字: 黄红兵

实验六 窗体和常用控件(一)

一、实验目的和要求

掌握窗体与常用控件的重要属性、事件和方法。 二、实验内容和原理

1、在窗体上建立3个文本框和一个命令按钮。程序运行后,单击命令按钮,在第一个文本框中显示由Command1_click事件过程设定的内容,同时在第二、第三个文本框中分别用大写字母和小写字母显示第一个文本框中的内容。

用户界面:

17

第18页共31页

实验代码:

Option Explicit

Private Sub Command1_Click()

Text1.Text = \Text2.Text = UCase(Text1.Text) Text3.Text = LCase(Text1.Text) End Sub

3. 设计一个界面程序,要求程序能实现界面上所指示的编辑操作和字体设置功能。

用户界面:

实验代码:

Option Explicit

Private Sub Check1_Click(Index As Integer) If Check1(0).Value = vbChecked Then Text1.FontName = \黑体\ Else

Text1.FontName = \宋体\ End If

If Check1(1).Value = vbChecked Then

18

第19页共31页

Text1.FontItalic = True Else

Text1.FontItalic = False End If

If Check1(2).Value = vbChecked Then Text1.FontUnderline = True Else

Text1.FontUnderline = False End If End Sub

Private Sub Option1_Click(Index As Integer) Dim k As String k = Text1.Text

If Option1(0).Value Then Clipboard.Clear

Clipboard.SetText k End If

If Option1(1).Value Then Clipboard.Clear

Clipboard.SetText k Text1.Text = \End If

If Option1(2).Value Then

Text1.Text = Text1 + Clipboard.GetText End If End Sub

2、设计一个界面程序,要求程序运行时选中组合框中的某一项,将弹出如下对话框加以说明。 用户界面:

实验代码:

Option Explicit

Private Sub Combo1_Click() Dim exp1 As String

19

第20页共31页

exp1 = \我的兴趣爱好是\MsgBox exp1, , \兴趣爱好\End Sub

Private Sub Form_Load() Combo1.AddItem \音乐\Combo1.AddItem \美术\Combo1.AddItem \体育\Combo1.AddItem \上网\Combo1.AddItem \旅游\End Sub

3、在窗体上画一个名称为HIS的水平滚动条和三个名称分别为c1,c2,c3,标题分别为“左端”、居中、右端的命令按钮。请编写适当的事件过程,使得在运行后,如果单击“左端”,命令时则滚动框位于滚动条最左端处;如果单击“右端”则滚动框位于滚动条最右端处;如果单击“居中”则滚动框位于滚动条中间处 用户界面:

实验代码:

Option Explicit

Private Sub Command1_Click() HScroll1.Value = 0 End Sub

Private Sub Command2_Click() HScroll1.Value = 50 End Sub

Private Sub Command3_Click() HScroll1.Value = 100 End Sub 三、总结

通过本次实验掌握了窗体与常用控件的重要属性、事件和方法。

20

第21页共31页

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、5、16 实验地点: 综南附307 指导教师签字: 黄红兵

实验七 常用控件(二)

一、实验目的和要求

掌握常用控件的重要属性、事件和方法 二、实验内容和原理

1.在窗体上画一个图片框和两个命令按钮。程序运行后,如果单击“显示图

片”命令按钮,则在图片框装入一个用图形编辑软件画的简单图形。单击“清除图片”命令按钮,则清除图片框的图形。 用户界面:

实验代码:

Option Explicit

21

第22页共31页

Private Sub Command1_Click()

Image1.Picture = LoadPicture(\End Sub

Private Sub Command2_Click()

Image1.Picture = LoadPicture(\End Sub

2. 在窗体上画4个图像框和一个文本框,在每个图像框中装入一个箭头图形,分为4个不同的方向,把文本框的Multiline属性设置为TRUE。编写程序,当单击某个图像框时,在文本框中显示相应的信息。 用户界面:

实验代码:

Option Explicit

Private Sub Form_Load()

Image1.Picture = LoadPicture(\ Image2.Picture = LoadPicture(\ Image3.Picture = LoadPicture(\ Image4.Picture = LoadPicture(\End Sub

Private Sub Image1_Click() Text1.Text = \单击向左箭头\End Sub

Private Sub Image2_Click() Text1.Text = \单击向右箭头\End Sub

Private Sub Image3_Click() Text1.Text = \单击向下箭头\End Sub

Private Sub Image4_Click() Text1.Text = \单击向上箭头\End Sub

22

第23页共31页

3. 编写一个模拟秒表操作的程序,运行时的界面,程序运行后,单击“启动”按钮,该按钮变灰,在上面的标签中显示开始时间。过一会儿,单击停止按钮,该按钮变灰,同时“启动”按钮可用,并在中间标签中显示当前时间,在下面的标签中显示经过的时间。 用户界面:

实验代码:

Option Explicit

Private Sub Command1_Click() Label4.Caption = Now

Command1.Enabled = False Command2.Enabled = True Timer1.Enabled = True Label5.Caption = \Label6.Caption = \Timer1_Timer End Sub

Private Sub Command2_Click() Label5.Caption = Now

Command2.Enabled = False Command1.Enabled = True Timer1.Enabled = False End Sub

Private Sub Timer1_Timer() Static count As Long

Label6.Caption = count & \秒\ count = count + 1 End Sub

23

第24页共31页

4. 设计一个简易面板,在窗体上画一个图片框、一个命令按钮和一组单选按钮。 用户界面:

实验代码:

Option Explicit

Dim flag As Boolean

Dim px As Integer, py As Integer Private Sub Command1_Click() Picture1.Cls End Sub

Private Sub Form_Load() flag = False End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)

If Option1(0).Value = True Then '画直线 If Button = 1 Then flag = True px = x py = Y End If

ElseIf Option1(1).Value = True Then '画矩形 If Button = 1 Then flag = True px = x py = Y End If

ElseIf Option1(2) = True Then '画圆

24

第25页共31页

If Button = 1 Then flag = True px = x py = Y End If

ElseIf Option1(3) = True Then '画椭圆 If Button = 1 Then flag = True px = x py = Y End If End If End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single) Dim R As Single Dim rate As Single Randomize

If Round(Rnd) = 1 Then rate = Int(5 * Rnd) Else

rate = 1 / Int(5 * Rnd + 1) End If

If Option1(0).Value = True Then '画直线 If flag = True Then

Picture1.Line (px, py)-(x, Y) End If

ElseIf Option1(1).Value = True Then '画矩形 If flag = True Then

Picture1.Line (px, py)-(x, Y), , B End If

ElseIf Option1(2) = True Then '画圆 If flag = True Then

R = Sqr((x - px) ^ 2 + (Y - py) ^ 2) Picture1.Circle (px, py), R End If

ElseIf Option1(3).Value = True Then '画椭圆 If flag = True Then

R = Sqr((x - px) ^ 2 + (Y - py) ^ 2) Picture1.Circle (px, py), R, , , , rate End If End If End Sub

25

第26页共31页

三、总结

通过本次实验熟练掌握了常用控件的重要属性、事件和方法。

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、5、23 实验地点: 综南附307 指导教师签字: 黄红兵

实验八 循环结构程序设计及动态数组的应用

一、实验目的和要求

1.熟练掌握动态数组的使用。 2.进一步提高编程技巧。 二、实验内容和原理

1.声明一个二维动态数组a(1 to n,1 to n)代表一个n*n的方阵。编程给数组元素赋值,

使之成为如图所示的螺旋方阵。要求:n由文本框输入。 用户界面:

实验代码: Option Base 1

Private Sub Command1_Click()

Dim a() As Integer, a1%, a2%, a3%, a4%, m%, n%, i%, j% n = Val(Trim(Text1.Text)) ReDim a(n, n) k = Fix(n / 2) m = 1

For i = 1 To k '矩阵圈数 For a1 = i To n - i '左边部分 a(a1, i) = m m = m + 1 Next a1

For a2 = i To n - i '下面部分

26

第27页共31页

a(a1, a2) = m m = m + 1 Next a2

For a3 = n - i + 1 To i + 1 Step -1 '右面部分 a(a3, a2) = m m = m + 1 Next a3

For a4 = n - i + 1 To i + 1 Step -1 '上面部分 a(a3, a4) = m m = m + 1 Next a4 Next i

If n Mod 2 = 1 Then '如果n为奇数 a((n + 1) / 2, (n + 1) / 2) = n * n End If

For i = 1 To n '输出螺旋方阵 For j = 1 To n

If a(i, j) < 10 Then

Print Space$(1); a(i, j); Else

Print a(i, j); End If Next j Print Next i End Sub

Private Sub Command2_Click() Form1.Cls

Text1.Text = \Text1.SetFocus End Sub 三、总结

通过本次实验熟练掌握了动态数组的使用,.进一步提高了用动态数组解决相关问题的能力。

27

第28页共31页

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、5、30 实验地点: 综南附307 指导教师签字: 黄红兵

实验九 综合实例(一)

一、实验目的和要求

进一步提高编程技巧。 二、实验内容和原理

1.编写一个简单的计算器。要求:能实现简单的基本运算,以及实现八进制、十六进制的转换。用户界面:

实验代码:

Dim op1, op2 As Single Dim firstinput As Boolean

Dim opflag, lastinput, disp As String Private Sub clea_Click() disp = Format(0, \op1 = 0:op2 = 0 firstinput = True lastinout = \Text1.Text = \End Sub

Private Sub Form_Load() Text1.Text = \ firstinput = True disp = Format(0, \op1 = 0:op2 = 0 firstinput = True lastinout = \Text1.Text = \

28

第29页共31页

End Sub

Private Sub num_Click(Index As Integer) If lastinput <> \ disp = num(Index).Caption Else

disp = disp + num(Index).Caption End If

lastinput = \Text1.Text = disp End Sub

Private Sub operator_Click(Index As Integer) If firstinput = True Then op1 = Val(disp) firstinput = False Else

op2 = Val(disp) Select Case opflag Case \

op1 = op1 + op2 Case \

op1 = op1 - op2 Case \

op1 = op1 * op2 Case \

If op2 = 0 Then MsgBox \ Else

op1 = op1 / op2 End If End Select

If operator(Index).Caption = \ disp = op1

Text1.Text = op1 End If

firstinput = True End If

lastinput = \

opflag = operator(Index).Caption End Sub

Private Sub tran_Click(Index As Integer) Select Case Index Case 0

Text1.Text = Hex(Val(Text1.Text)) Case 1

29

第30页共31页

Text1.Text = Oct(Val(Text1.Text)) End Select End Sub 三、总结

通过本次实验进一步提高了编程技巧

系: 计算机与信息学院 专业: 计算机应用技术 年级: 05级 姓名: 洪景泉 学号: 051893067 计算机号 67 实验时间: 2007、6、6 实验地点: 综南附307 指导教师签字: 黄红兵

实验十 综合实例(二)

一、实验目的和要求

进一步提高编程技巧。 二、实验内容和原理

1. 编写一个应用程序实现画圆,要求:在文本框中输入半径和圆的个数,单击绘图命令按钮实现画肾形的效果,用户界面:

实验代码:

Private Sub Command1_Click() Dim x, y As Integer Dim i, j As Integer Dim th As Single

Dim X0, Y0, R, N, r1 As Integer

30

第31页共31页

X0 = Val(TextX.Text) Y0 = Val(TextY.Text) R = Val(TextR.Text) N = Val(TextN.Text) th = 3.1415926 * 2 / N Picture1.Cls For i = 0 To N

x = R * Cos((i - 1) * th) y = R * Sin((i - 1) * th) r1 = Abs(x)

Picture1.Circle (x, y), r1 Next End Sub

Private Sub Form_Load()

'初始化绘图环境将Picture1定制成一个中心点坐标为(0,0)的坐标系 Picture1.Scale (-200, 200)-(200, -200) End Sub 三、总结

通过本次实验进一步提高了编程技巧。

31

第31页共31页

X0 = Val(TextX.Text) Y0 = Val(TextY.Text) R = Val(TextR.Text) N = Val(TextN.Text) th = 3.1415926 * 2 / N Picture1.Cls For i = 0 To N

x = R * Cos((i - 1) * th) y = R * Sin((i - 1) * th) r1 = Abs(x)

Picture1.Circle (x, y), r1 Next End Sub

Private Sub Form_Load()

'初始化绘图环境将Picture1定制成一个中心点坐标为(0,0)的坐标系 Picture1.Scale (-200, 200)-(200, -200) End Sub 三、总结

通过本次实验进一步提高了编程技巧。

31

本文来源:https://www.bwwdw.com/article/cz78.html

Top