Visual Basic实验.doc_第1页
Visual Basic实验.doc_第2页
Visual Basic实验.doc_第3页
Visual Basic实验.doc_第4页
Visual Basic实验.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Visual Basic环境和程序设计初步一、实验目的1. 了解Visual Basic系统对计算机软、硬件的要求。2. 掌握启动与退出Visual Basic的方法。3. 掌握建立、编辑和运行一个简单的Visual Basic应用程序的全过程。4. 掌握常用控件(文本框、标签、命令按钮)的应用。 二、实验内容1. 启动Visual Basic 6.0,创建一个标准EXE类型的应用程序,要求:在屏幕上显示欢迎您使用Visual Basic,并请输入您的姓名;屏幕设计的界面如图2.1.1,以Sy1-1.frm和Sy1-1.vbp文件名保存在您的软盘上。 提示:(1) 程序中用到2个标签和1个文本框,标签显示所需的文字,文本框用于输入您的姓名,最多输入4个字符,对于2个标签内的字号大小可在标签的属性窗口中选择Font属性改变。(2) 欢迎您使用Visual Basic要在两行显示,只要将Label1控件的宽度缩小一些。 图2.1.1: 实验1.1运行界面2. 模仿教材例题,练习对窗体三个事件过程(Load、Click、DblClick)的编程,三个事件中装入不同的图片,可以是你自己喜欢的任何图片;练习对鼠标指针的改变,改变为Key04.ico图标文件;练习对窗体图标、边框线类型、最大化按钮和最小化按钮的改变。3字号、按钮、随机函数练习。在文本框输入一字符串,对字符格式进行设置,包括字体(FontName) 、字号(FontSize) ;文本框有垂直滚动条,效果见图2.1.3。 图2.1.3: 实验1.3运行界面提示:对字体设置必须将字体在双引号内括住,例如Text1.FontName=宋体 。 4Move方法练习,移动具有浮雕效果的文字。在窗体插入图片,文件名为So02963_.wmf(读者也可插入你所喜欢的图片),窗体上以浮雕效果显示的字符串新年快乐,还有两个命令按钮,文件Point02.ico表示左指向、文件Point04.ico表示右指向,如图2.1.4所示。要求当单击左指向按钮,字符串新年快乐向左移动50;单击右指向按钮,向右移动50。提示:(1) 浮雕效果的实现见教学篇例2.5,也就是建立两个相同属性(大小、文字)的标签,通过设置BackStyle为0(透明) 、ForeColor字颜色、Left和Top位置等属性。(2) 移动利用Move方法,因为浮雕效果的实现通过2个标签来实现,所以移动时也同时进行。例如,对Label1向左移动语句为: Label1.Move Label1.Left - 50Label2.Move Label2.Left - 50 上述用Move方法实现移动,也可利用对属性的改变实现移动,语句为: Label1.Left=Label1.Left - 50 (3) Point02.ico等的图标文件在Visual Basic的.graphicsIconsArrows目录下,读者也可以通过Windows的查找功能来找到。图2.1.4: 实验1.4运行界面 顺序程序设计一、实验目的1. 掌握表达式、赋值语句的正确书写规则。2. 掌握常用函数的使用。 3. 掌握InputBox与MsgBox的使用。 二、实验内容1. 编一个华氏温度与摄氏温度之间转换的程序,运行界面如图2.2.1所示。图2.2.1: 实验2.1运行界面华氏温度与摄氏温度之间转换的公式是: 摄氏温度转化为华氏温度,F为华氏 华氏温度转化为摄氏温度,C为摄氏 要求用按钮实现转换。即单击华氏转按钮,则将摄氏温度转换为华氏温度;同样,单击摄氏转按钮,则将华氏温度转换为摄氏温度。提示:(1)Text文本框存放的String类型,为了程序正常运行,应通过Val()函数将字符串转换为数值类型。(2)上述公式中右边的变量F、C应该是有值的,该值可通过Text1、Text2分别赋值获得。例对文本框1(Text1)输入的华氏温度,要在文本框2显示转换后的摄氏温度,事件过程如下:是即: Private Sub Command1_Click()Dim f!, c! 使用变量f = Val(Text1) f变量有了值c = 5 / 9 * (f - 32)Text2 = cEnd Sub 也可以不用fc变量,直接利用文本框实现,即: Private Sub Command1_Click()Text2 = 5 / 9 * (Val(Text1) - 32) 不使用变量,直接使用文本框End Sub 两者效果相同。对于摄氏温度转化为华氏温度,请读者自行完成。. 2输入半径,计算圆周长和圆面积,见图2.2.2。进一步要求,为了保证程序运行的正确,对输入的半径要进行合法性检查,若发现输入的数中有非法数字(调用IsNumeic函数),参阅教材例2.7,利用MsgBox显示出错信息,通过SetFocus方法定位于出错的文本框处,重新输入;计算结果保留2位小数。图2.2.2: 实验2.2运行界面3我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。提示:已知年增长率r=0.8%,求人数超过26亿的年数n公式为:其中:Log(x)为对数函数.4. 利用计算机解决古代数学问题鸡兔同笼问题。即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只?提示:m,n通过InputBox函数获得;鸡、兔的只数通过已知m,n列出方程可解,但不要求出荒唐的解(例3.5只鸡、4.5只兔,或者求得的只数为负数,也就是对输入的总脚数必须是偶数,并且脚数应是头数的倍数),若出现荒唐的解,要求显示有关信息,并重新输入。5. 窗体上有2个命令按钮,第一个按钮显示文字处理、第二个按钮显示VB6.0,要求单击命令按钮,利用Shell函数执行对应的应用程序。提示:(1)文字处理即Word软件的可执行文件名为WinWord.exe,可通过开始菜单的查找命令,找到该文件,单击鼠标右键在快捷菜单的属性选项中可显示文件的路径,通过复制、粘贴可将文件路径和文件名取到Shell函数中。(2)VB6.0即Visual Basic6.0软件的可执行文件可通过开始菜单的程序子菜单项,然后指向对应的菜单项,单击鼠标右键在快捷菜单的属性选项中可显示文件标识符,通过复制、粘贴可将文件标识符取到Shell函数中。图2.2.3: 实验2.5运行界面 顺序程序设计一、实验目的1. 掌握表达式、赋值语句的正确书写规则。2. 掌握常用函数的使用。 3. 掌握InputBox与MsgBox的使用。 二、实验内容1. 编一个华氏温度与摄氏温度之间转换的程序,运行界面如图2.2.1所示。图2.2.1: 实验2.1运行界面华氏温度与摄氏温度之间转换的公式是: 摄氏温度转化为华氏温度,F为华氏 华氏温度转化为摄氏温度,C为摄氏 要求用按钮实现转换。即单击华氏转按钮,则将摄氏温度转换为华氏温度;同样,单击摄氏转按钮,则将华氏温度转换为摄氏温度。提示:(1)Text文本框存放的String类型,为了程序正常运行,应通过Val()函数将字符串转换为数值类型。(2)上述公式中右边的变量F、C应该是有值的,该值可通过Text1、Text2分别赋值获得。例对文本框1(Text1)输入的华氏温度,要在文本框2显示转换后的摄氏温度,事件过程如下:是即: Private Sub Command1_Click()Dim f!, c! 使用变量f = Val(Text1) f变量有了值c = 5 / 9 * (f - 32)Text2 = cEnd Sub 也可以不用fc变量,直接利用文本框实现,即: Private Sub Command1_Click()Text2 = 5 / 9 * (Val(Text1) - 32) 不使用变量,直接使用文本框End Sub 两者效果相同。对于摄氏温度转化为华氏温度,请读者自行完成。. 2输入半径,计算圆周长和圆面积,见图2.2.2。进一步要求,为了保证程序运行的正确,对输入的半径要进行合法性检查,若发现输入的数中有非法数字(调用IsNumeic函数),参阅教材例2.7,利用MsgBox显示出错信息,通过SetFocus方法定位于出错的文本框处,重新输入;计算结果保留2位小数。图2.2.2: 实验2.2运行界面3我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。提示:已知年增长率r=0.8%,求人数超过26亿的年数n公式为:其中:Log(x)为对数函数.4. 利用计算机解决古代数学问题鸡兔同笼问题。即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只?提示:m,n通过InputBox函数获得;鸡、兔的只数通过已知m,n列出方程可解,但不要求出荒唐的解(例3.5只鸡、4.5只兔,或者求得的只数为负数,也就是对输入的总脚数必须是偶数,并且脚数应是头数的倍数),若出现荒唐的解,要求显示有关信息,并重新输入。5. 窗体上有2个命令按钮,第一个按钮显示文字处理、第二个按钮显示VB6.0,要求单击命令按钮,利用Shell函数执行对应的应用程序。提示:(1)文字处理即Word软件的可执行文件名为WinWord.exe,可通过开始菜单的查找命令,找到该文件,单击鼠标右键在快捷菜单的属性选项中可显示文件的路径,通过复制、粘贴可将文件路径和文件名取到Shell函数中。(2)VB6.0即Visual Basic6.0软件的可执行文件可通过开始菜单的程序子菜单项,然后指向对应的菜单项,单击鼠标右键在快捷菜单的属性选项中可显示文件标识符,通过复制、粘贴可将文件标识符取到Shell函数中。图2.2.3: 实验2.5运行界面 循环结构程序设计一、实验目的1. 掌握For语句的使用。2. 掌握Do语句的各种形式的使用。3. 掌握如何控制循环条件,防止死循环或不循环。 二、实验内容1. 用单循环显示有规律图形,如图2.4.1。 提示:(1)对于特殊字符、通过汉字标准输入的软键盘菜单中的特殊符号命令来实现。(2)循环体内显示n个字符用String函数来实现,例如函数:String(5, )将产生 ;本例要找出循环控制变量i与String函数内个数的关系,即:String(2*i, )。(3)每个 的列宽约为2,要显示如图的图形,必须定好每行的起始位,本例为:Tab(20-2*i) 。 图2.4.1: 实验4.1运行界面图2.4.2: 实验4.2运行界面2. 用单循环实现如图2.4.2。 提示:(2)与实验4.1类似,找出每一行的输出语句的通项表示,形式为:Print Tab(x); ;String(y,); 其中x,y是要与循环变量与关的表达式,请你自己解决。 3. 编一程序,计算100以内的所有7或5的倍数和,并将这些数在文本框每一个为一行显示,如图2.4.3所示。 图2.4.3: 实验4.3运行界面提示:要在文本框每行显示一个,首先设置文本框的MultiLine属性为True和 ScrollBars为非0;然后通过每产生的一个数x执行如下语句在文本框显示: Text1=Text1 & x & vbCrLf 其中:vbCrLf为回车换行的VB符号常数 4.计算当第i项的值 0s1 = s Mod 10s = s 10Print s1; 从右边开始显示分离出每一位Loop 7. 求Sn=a+aa+aaa+aaa+aaaaa(n个a),其中a是一个由随机数产生的19(包括1,9)中的一个正整数,n是一个由随机数产生的510(包括5,10)中的一个数。例如:当a=2,n=5时,Sn=2+22+222+2222+22222。提示:为了得到不断重复a的n位的数Temp,可用如下程序段实现: Temp=0For i=1 To nTemp=Temp*10+aNext i 8. 参阅教材例4.18,用迭代法求 ,求立方根的迭代公式为: 假定x的初值为a,迭代到 为止。迭代的流程图见图2.4.4。显示a=3、27的值,并通过求a(1/3)的表达式加以验证。 图2.4.4: 迭代法求根流程图数 组 一、实验目的1. 掌握数组的声明、数组元素的引用。2. 掌握静态数组和动态数组的使用差别。3. 应用数组解决与数组有关的常用算法。 二、实验内容1. 随机产生10个30100(包括30,100)的正整数,求最大值、最小值、平均值,并显示整个数组的值和结果,如图2.5.1所示。图2.5.1: 实验5.1运行界面2随机产生20个学生的计算机课程的成绩,统计各分数段人数。即059、6069、7079、8089、90100,并显示结果。产生的数据在窗体显示,统计结果在图形框显示,见图2.5.2。 图2.5.2: 实验5.2运行界面提示:声明一个数组mark(1 to 20) ,存放20个学生的成绩;声明一个数组s(5 to 9),分别存放分数段的人数,并且确定分数与s数组的下标关系,即: k=mark (i) 10 i=1 To 20Select Case kCase 0 To 5 不及格的人数s(5)=s(5)+1Case 9 To 10 =90分的人数s(9)=s(9)+1Case 6 To 8 其他三个分数段的人数s(k)=s(k)+1End Select 3. 随机产生15个不重复的AZ包括A,Z的大写字母,存放在字符数组中。提示:(1) 要产生AZ的字母,可通过调用函数Chr、Int、Rnd及找出字母对应的AscII码值的关系获得,即c=chr(int(rnd*26+65)。(2) 要产生不重复的字母,每产生一个,在数组中查找已产生的字母。若找到,刚产生的字母作废,重新产生;找不到,则产生的字母放入数组中,下标加1。假定刚产生的字母存放在c字符变量中,已产生的n个不重复的字母存放在s字符数组中,则产生不重复的有关程序段如下: Dim s(1 to 15) As String * 1, c As String * 1, Found As Booleans(1)=Chr(int(rnd*26+65)n=2do while n=15c=Chr(int(rnd*26+65)Found = False For j = 1 To n - 1If s(j) = c Then Found = TrueNext jIf Not fount Then 没有找到,产生的字母非重复,存放到数组中s(n) = cn = n + 1End If Loop 4. 实行学分制,学生的平均绩点是衡量学生学习的重要依据。成绩等级与绩点的关系见表2.5.1所示。表2.5.1: 成绩等级与绩点的关系等级1009089807970696060以下绩点43210编一程序利用两个一维数组分别输入某学生的5门课程的学分、对应成绩,计算其平均绩点。例如,某学生的5门课程的学分、成绩分别如表2.5.2,求该学生的平均绩点,程序运行结果见图2.5.3。 表2.5.2: 各课程学分与成绩学分32341成绩7898836890图2.5.3: 实验5.4运行界面5. 随机产生10个数2位数,按从递增的次序排列,并将排序结果存放在文本框的控件数组中。提示:(1)本程序有两个事件过程,都要用到存放10个数据的数组,因此在通用声明段声明一个数组,例:Dim a%(0 to 9)。(2)在产生命令按钮的Command1事件过程中随机产生10个数,存放在数组a,并在窗体显示。(3)在排序命令按钮的Command2事件过程中,对a数组排序,并将排序的结果存放在文本框Text1()控件数组中,见图2.5.5。(4)对Text1控件数组的建立,首先在设计时建立一个Text1控件,其Index属性为0,表示是控件数组,见图图2.5.4;在排序后通过如下语句建立其余控件数组元素,并显示: Text1(0) = a(0)For i = 1 To 9Load Text1(i) 产生一个控件数组元素Text1(i) = a(i) 将排好序的对应数组元素放入控件数组元素Text1(i).Left = Text1(i - 1).Left + Text1(i).Width + 10 控件数组元素定位Text1(i).Visible = True 控件数组元素显示Next i 图2.5.4:实验5.5设计界面图2.5.5: 实验5.5运行界面6.完成本使用所配套的教材的第五章第3题,上机验证,见图2.5.6。本题由6个命令按钮的事件过程构成,在4个图形框显示;为了多个事件过程访问A、B矩阵,这两个矩阵应在通用声明段声明。要求:(1) 利用随机数生成两个矩阵(前者3070范围、后者101135)。(2) 将两个矩阵相加结果放入C矩阵中。(3) 将A矩阵转置,即行、列交换。(4) 统计A矩阵中最大值和下标。(5) 以下三角形式显示A矩阵、上三角形式显示B矩阵。(6) 求A矩阵两条对角线元素之和。(a) 产生A、B矩阵(a) A+B矩阵相加(c) A矩阵转置(d) A矩阵中最大值和下标(e) A下三角形式、B上三角形式(f) A矩阵两条对角线元素之和图2.5.6: 实验5.6运行界面7. 输入整数n,显示出具有n行的杨辉三角形。一个具有8行的杨辉三角形运行结果如图2.5.7(a)所示。若要显示如图2.5.7(b)所示的效果,原程序要作如何微小的改动?提示:解决此题的方法有以下要点:(1) 定义一个二维数组如图2.5.7(a),其中上三角各元素均为0,对下三角各元素进行设置:第一列及对角线上均为1,其余每一个元素正好等于它上面一行的同一列和前一列的两个元素之和,即a(i,j)=a(i-1,j-1)+a(i-1,j)。(2) 利用TAB函数定每行显示的起始位,利用两重循环显示上三角各元素。(3) 为了便于控制,显示的内容在图形框(PictureBox)。(a) (b)图2.5.7: 实验5.7杨辉三角形运行界面8. 自定义一个职工类型,包含职工号、姓名、工资。在通用声明段声明一个职工类型的静态数组,可存放5个职工;窗体中设计3个文本框、2个命令按钮和1个图形框控件,文本框分别输入职工号、姓名、工资;当单击添加命令按钮,将文本框输入的内容添加到数组的当前元素中;当单击排序命令按钮,将输入的内容按工资递减的顺序排序,并在图形框显示。程序运行界面见图2.5.8。提示:(1)自定义一个职工类型只能在标准模块内定义,若在窗体通用声明段定义,必须为Private。 (2)为了保存当前输入职工元素的个数,该变量应在通用声明段声明,若在事件过程中声明,每次运行将被初始化为0。图2.5.8: 实验5.8运行界面过 程一、实验目的1. 掌握自定义函数过程和子过程的定义和调用方法。2. 掌握形参和实参的对应关系。3. 掌握值传递和地址传递的传递方式。4. 掌握变量、函数和过程的作用域。5. 掌握递归概念和使用方法。6. 熟悉程序设计中的常用算法。 二、实验内容1编一子过程ProcMin(a(),mina),求一维数组a中的最小值mina。主调程序随机产生10个-300-400之间的数,显示产生的数组中各元素;调用ProcMin子过程,显示出数组中的最小值。2. 参见本实验所对应的教材中的例4.12,编一求两数m,n最大公约数的函数过f(m,n);主调程序在两个文本框输入数据,在图形框显示结果,见图2.6.1。图2.6.1: 实验6.2运行界面提示:为了在Text3文本框每行一组、并整齐地显示结果,利用格式函数来实现,如下表示: Text3 = Text3 & Format(Text1, ) & Format(Text2, ) _& Format(y, ) & vbCrLf 其中:y为求得的公约数;表示输出占5列,显示数据小于5,左边补空;vbCrLf为回车换行的常数符号;注意:为了在文本框显示多行,文本框的MultiLine属性必须设置为True。 3编一个函数过程Mysin(x),求Mysin(x)=。当第n项的精度小于10-5时结束,x为弧度;主调程序同时调用Mysin和内部函数sin,进行验证。提示:关键是找部分级数和的通项,如下表示: i=1,3,5,74.参照实验4.8,用迭代法求X=,求立方根的迭代公式为: 假定x的初值为a,迭代到|xi+1-xi| 为止。 a的值为110,并显示结果;同时,利用运算符检验函数过程的正确性,保留5位小数,效果见图2.6.2。 图2.6.2:实验6.4运行界面5. 编一子过程MaxLength(s,MaxWord),在已知的字符串s中,找出最长的单词MaxWord。假定字符串s内只含有字母和空格,空格分隔不同的单词。程序运行界面如图2.6.3所示。算法思想:(1) 首先利用InStr函数从S中从左开始找第一个出现的空格,利用Left函数分离出空格左边的单词,与最长单词比较; i=InStr(s, ) 找第一个出现的空格 Word=Left(s,i-1) 分离出空格左边的单词 (2)取S中剩余字符串,重复(1),直到S为空。 s=Mid(s,i+1) 取S中剩余字符串 图2.6.3:实验6.5运行界面6. 编一函数过程IsH(n),对于已知正整数n,判断该数是否是回文数,函数的返回值类型为布尔型。主调程序每输入一个数,调用IsH函数过程,然后在图形框显示输入的数,对于是回文数显示一个,见图2.6.4。 图2.6.4:实验6.4回文数程序运行界面提示:(1) 所谓回文数是指顺读与倒读数字相同,即指最高位与最低位相同,次高位与次低位相同,依次类推。当只有一位数时,也认为是回文数。(2) 回文数的求法,只要对输入的数(按字符串类型处理),利用MID函数从两边往中间比较,若不相同,就不是回文数。*7 用递归方法,编写求的函数。对于有如下递归形式: 递归条件:*8 用递归法编函数过程f2(x0,a),求X=,求立方根的迭代公式为: 精度为。主调程序分别调用函数过程,a的值为110,并显示结果;同时,利用运算符检验函数过程的正确性。提示:递归法求根时,形参要有两个,x0为每次递归调用时的初值,假定x0的初值为a。常 用 控 件一、实验目的1. 掌握常用控件的重要属性、事件和方法。2. 初步掌握利用控件创建基于图形用户界面的应用程序的技术。3. 熟练掌握键盘事件、鼠标事件及其事件过程的编写。 二、实验内容1. 设计如图2.7.1所示的计算程序。 图2.7.1: 实验7.1单选按钮、复选框和框架应用示例2. 设计一个如图2.7.2所示的应用程序。它能利用LostFocus事件过程对输入的内存大小进行合法性检查,确保最后两个字符是MB,其余的都是数字字符。当用户单击Ok按钮后,在右边的文本框中显示所选择的信息。 图2.7.2: 实验7.2计算机配置选择界面3 编写一个如图2.7.3所示的程序。用户能从饭店菜单把选定的菜添加到下面的列表框中。要求:饭店菜单列表框支持多项选择。 图2.7.3: 实验7.3点菜程序提示:假定饭店菜单和我点的菜列表框的名称分别为List1和List2。因为需要在List1中能够进行多项选择,所以MultiSelect属性应设为1或2,而且在添加事件过程中不能简单地用List2.AddItem List1.Text语句添加项目。应编写如下的程序: Sub Command1_Click()For I = 0 To List1.ListCount-1If List1.Selected(I) ThenList2.AddItem List1.List(I)End IfNextEnd Sub 4设计一个如图2.7.4所示的应用程序。它包含2个列表框,右边列表框中项目按字母顺序升序排列。当双击某个项目时,该项目从所在的列表框中删除,添加在另一个列表框中。 图2.7.: 实验7.4列表框5. 编写如图2.7.5所示的利息计算程序。当通过滚动条改变本金、月份或年利率时,能立即计算出利息及利息+本金。 图2.7.5: 实验7.5利息计算程序提示:利息+本金=本金*(1+(年利率/100)*(月份数/12)。 .依据图2.7.6所示,使用ProgressBar、Timer、Animation和CommandButton控件设计一个模拟的带动画(blur16.avi)进度条。当用户单击开始计算按钮时开始进行,过30秒后,ProgressBar被填满,动画结束。 图2.7.6: 实验7.6模拟的带动画进度条.编写一个如图2.7.7所示的倒计时程序。单击设置按钮,弹出InputBox对话框,输入倒计时时间(以分为单位);单击开始按钮,开始倒数读秒(MM:SS格式)。 图2.7.7: 实验7.7倒计时程序界 面 设 计一、实验目的1. 掌握使用通用对话框进行编程。 2. 掌握窗口菜单、弹出式菜单的设计方法。 3. 综合应用所学的知识,编制具有可视化界面的应用程序。 二、实验内容1. 设计一个如图 2.8.1 所示的应用程序。当选择“改变标签标题颜色”按钮后,弹出颜色对话框,为标签标题选择一个颜色;当选择“编辑文本文件”按钮后,弹出打开文件对话框,选择一个文本文件后调用记事本程序编辑该文件。 图2.8.1 实验8.1通用对话框提示:(1) 尽管程序中用到了颜色和打开文件两个对话框,但是实际上只需一个通用对话框控件。(2) 可以使用Shell函数运行记事本程序。 2. 设计一个如图2.8.2和图2.8.3所示的菜单系统,并为菜单项编写有关的程序代码。图2.8.2 实验8.2菜单1图2.8.3 实验8.2菜单23 把题2中菜单2中的命令设计成弹出菜单,即当在文本框中单击右键时弹出一个包括菜单2中的命令的弹出菜单。 提示:弹出菜单有两种:内置的弹出菜单和定制的弹出菜单。因为文本框已经含有一个内置的弹出菜单,如图1.8.4所示,所以在文本框上第一次单击鼠标右键时,没有显示菜单,第二次才显示定制的弹出菜单。因此,在窗体的MouseDown事件过程中调用PopupMenu显示定制弹出菜单较好。 4为题2添加一个帮助菜单,在帮助菜单中的关于命令对话框中显示有关该应用程序的版本信息。提示:一般来说,关于对话框是模态的。将窗体作为模态对话框显示应使用如下的语句: frmAbout.Show VisualBasicModal 将frmAbout作为模态对话框显示 5. 把以前做过的实验汇总成一个工程,菜单运行界面参考图2.8.4。当选择实验一菜单下的实验1-3选项,则执行原已编制的实验一中的题3程序。图2.8.4: 实验8.4菜单运行界面提示:(1) 一个工程中可以有若干个窗体,但若干个窗体的Name属性不能有相同的名称。因此,在汇总前,每个工程的窗体名称不能用默认的Form1。(2) 执行了某个实验后,仍要回到如图2.8.4界面。 文 件一、实验目的1. 熟悉掌握文件系统控件。2. 掌握顺序文件、随机文件及二进制文件的特点和使用。3. 文件和目录操作语句和函数的使用。4. 掌握在应用程序的使用文件。 二、实验内容1. 设计一个如图2.9.1所示的文件系统。 要求:(1) 组合框包含所有文件(*.*)、TXT文件(*.TXT)和BMP文件(*.BMP)三个项目,决定文件列表框中显示的文件类型。(2) 单击文件列表框中某个文件,窗体上显示相应的路径和文件名。(3) 单击Ok按钮,调用相应的应用程序(记事本或画图)打开文件。如果选定的文件不是TXT或BMP文件,则屏幕显示文件选择有误,请重新选择!。 图2.9.1: 文件系统控件2. 建立一个具有3个学生三项内容的文本文件。三项内容为姓名、专业和年龄,前2项为字符串,最后一项为整型。分别利用:Print #文件号,输出列表 Write #文件号,输出列表两种格式同时建立两个文件(打开两个文件,以不同的文件号区分),文件名分别为C:T1.txt和C:T2.txt。文件创建后,单击显示按钮,以行读方式分别读入刚建立的两个文件,并显示在两个文本框中。运行结果如图2.9.2所示。 图2.9.2: Print与Write比较3设计如图2.9.3所示的应用程序。要求:(1) 选择打开打开某个文本文件。(2) 选择保存保存文件。(3) 选择统计分类统计出文件中数字字符、英文字符和汉字的个数。统计结果显示另一个窗体上。图2.9.3: 文本文件应用提示:可以根据字符的ASC()函数值判断属于哪类字符。数字字符ASC()函数值为4857之间;英文字母的ASC()函数值为6590(大写)和97122;汉字字符的ASC()函数值为负的。 4设计如图2.9.4所示的应用程序,用于输入学生成绩,存放在随机文件C:S.dat中。如果选择添加,则把当前窗体上的数据作为一条记录添加到文件中。各数据项的长度由读者自己确定。 图2.9.4: 学生成绩输入程序5设计如图2.9.5所示的应用程序,用于从上题建立的C:S.dat文件中读出指定记录。要求:(1) 程序首先计算总的记录数并显示在窗体。(2) 选择显示,指定记录号的记录内容显示的窗体上。 图2.9.5: 显示指定记录6设计如图2.9.6所示的文件复制程序。选择复制命令,将在左边任意选定的文件复制到右边文件系统目录列表框指定的当前文件夹中。图2.9.6: 文件复制图 形 技 术一、实验目的1. 了解Visual Basic的图形功能。2. 掌握建立图形坐标系的方法。3. 掌握Visual Basic的图形控件和图形方法。4. 掌握常用几何图形绘制。 二、实验内容1. 在窗体上放置一个图形框,两个命令按钮,设置标题为画图和返回,如图2.10.1所示。单击画图按钮,在图形框内绘制参数方程x = r Cos4Cos , y = r Cos4 Sin在02之间的图形,其中r为半径,取图形框的高度(或宽度)的一半;当单击返回按钮,结束程序。 图2.10.1: 实验10.1绘制方程图形2. 编一循环程序,用Line控件对象在屏幕上随机产生20条长度、颜色、宽度不同的直线,如图2.10.2所示。提示:使用Line对象的数组控件,BorderWidth属性确定直线宽度,BorderColor属性确定颜色,X1、Y1、X2、Y2属性决定直线的位置。图2.10.2: 实验10.2随机直线3. 用Circle方法绘制如图2.10.3所示图形。提示:要绘制的圆由小到大,只需要在循环中改变圆心坐标x和半径r,圆心的另一坐标y可保持不变,例如,取窗体高度的1/2,半径r取x/2。图2.10.3: 实验10.3螺旋环图形4. 设计一个程序以动画方式显示图2.10.4所示的图形(曲线轨迹为阿基米德螺线)。提示:阿基米德螺线参数方程为x= Cos ,y= Sin 。用Line方法与原点连线产生或用Line数组控件产生轨迹。图2.10.4: 实验10.6阿基米德螺线5. 用Pset方法在窗体上画1000个随机点,点的大小为在单位14之间变化,点的颜色也随机变化。提示:(1)为在窗体内各个点上都能分布到产生的随机点,随机值应与窗体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论