




已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB6.0程序设计上机实验指导VB6.0程序设计上机实验指导实验一 认识VB6.0 实验目的1.掌握VB集成开发环境的启动和退出2.了解VB集成开发环境的基本组成3.学会在VB集成开发环境中建立应用程序 实验内容一、 VB集成开发环境的启动和退出1. 启动VB集成开发环境想一想:可以通过哪些方法启动VB集成开发环境。2. 在“新建工程”对话框中选择“标准EXE”注意:在“新建工程”对话框中有几个选项卡?它们各有什么作用?在“新建”选项卡中有哪些选项?3. 熟悉VB集成开发环境4. 退出VB集成开发环境想一想:可以通过哪些方法退出VB集成开发环境。二、 VB集成开发环境的基本组成1. 指出VB集成环境中各组成部分的名称。2. 找到并熟悉VB集成环境中的工具箱、工程管理器窗口、属性窗口、窗体设计器窗口、代码窗口;掌握打开和关闭这些窗口的方法。想一想:可以通过哪些方法打开代码窗口。3. 掌握在窗体设计器窗口中添加控件。4. 学会设置窗体、命令按钮、文本框的最常用属性。5. 在代码窗口中找到窗体、命令按钮、文本框的主要事件,学会在对象事件过程中输入代码。想一想:窗体、命令按钮、文本框的缺省事件是什么。三、 建立第一个VB应用程序程序功能:程序界面见下图,要求当按“显示内容”按钮时,文本框中出现红色的“Hello,Visual Basic!”的文字,按“清屏”按钮时,文本框中文字消失,按“结束”按钮后,程序结束。程序中有一个窗体,一个文本框和三个按钮,其属性如下:对象名称属性属性值窗体(名称)CaptionForm1VB,你好!文本框(名称)TextAlignmentFontForeColorText12粗体、14号红色命令按钮(名称)CaptionCommand1显示内容命令按钮(名称)CaptionCommand2清屏命令按钮(名称)CaptionCommand3结束事件代码:Private Sub Command1_Click() Text1.Text = Hello,Visual Basic!End SubPrivate Sub Command2_Click() Text1.Text = End SubPrivate Sub Command3_Click() EndEnd Sub想一想:l 怎样在窗体中添加控件,怎样改变窗体和控件的大小,怎样改变控件的位置。如果要使窗体的高度为4000,宽度为5000,可以用什么方法设置?如果要使文本框的位置为:左边405,上边405,可以使用什么方法设置?l 怎样在属性窗口中为窗体和控件设置属性,试试在属性窗口中设置窗体的大小属性和文本框的位置属性。看一下其他控件的大小、位置属性怎样设置?l 如何在窗体或控件的事件过程中加入程序段,本实验在哪些对象(指出对象名称)的哪些事件(指出事件名称)中加入了程序段(指出Sub过程名称),这些程序段分别有什么功能。l 怎样在程序中使用命令设置对象的属性,本实验对哪些对象的哪些属性进行了设置。试试在窗体的Load事件中设置窗体的大小和文本框的位置。l 怎样保存程序,需要保存哪些文件;怎样运行程序。l 如果将文本框的名称改为“Texthy”,将第一个命令按钮的名称改为“Cmdhy”,将第二个命令按钮的名称改为“Cmdqk”,将第三个命令按钮的名称改为“Cmdtc”,则上述程序要作哪些改动? 选做实验建立程序,功能如下:程序中有一个窗体,一个文本框和四个按钮,三个按钮分别显示“红色”、“绿色”、“蓝色”字样,一个按钮显示“退出”字样。当按“红色”按钮时,文本框中出现红色的文字“红色”;当按“绿色”按钮时,文本框中出现绿色的文字“绿色”;当按“蓝色”按钮时,文本框中出现蓝色的文字“蓝色”。当按“退出”按钮时,结束程序。程序界面如下图所示。提示:l 可使用RGB()函数设置颜色。附:RGB()函数的使用功能:l 返回一个 Long整数,用来表示一个 RGB 颜色值。语法:RGB(red, green, blue)参数:l red必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的红色成份。l green必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的绿色成份。l blue必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的蓝色成份。说明:l 一个 RGB 颜色值指定红、绿、蓝三原色的相对亮度,生成一个用于显示的特定颜色。RGB函数可以产生256256256种不同的颜色。任何需要得到颜色的属性都可以通过RGB函数设置。l 传给 RGB 的任何参数的值,如果超过 255,会被当作 255。l 下面的表格显示一些常见的标准颜色,以及这些颜色的红、绿、蓝三原色的成份:颜色红色值绿色值兰色值黑色000蓝色00255绿色02550青色0255255红色25500洋红色2550255黄色2552550白色25525525569实验二 窗体和标准控件 实验目的1.掌握命令按钮、标签及文本框控件的使用方法2.掌握复选框、单选按钮及框架控件的使用方法 实验内容一、 命令按钮、标签及文本框控件的使用方法程序1:在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示。要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“复制”命令按钮,则在“输出”文本框中输出选定的内容,如右图所示;如果单击“结束”命令按钮,则结束程序的运行。提示:l 文本框中选定内容可以使用文本框的属性SelText(选定文本内容)、SelStart(选定文本起始点)、SelLength(选定文本长度)读取或设置。属性设置和程序代码见附录。想一想:l 如果不用鼠标选定文本,而是通过InputBox函数输入所选文本的起始点和长度,怎样修改程序。l 如果第一个文本框中文本没有被选中,则复制全部内容,如何修改程序。l 如果将“复制”功能改为“移动”功能,如何修改程序。附:InputBox函数的使用功能:l 在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。语法:InputBox(prompt, title , default)参数:l prompt必要,字符串表达式,让对话框显示给用户的一个提示。prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 prompt 包含多个行,则可在各行之间用回车符 (Chr(13)、换行符 (Chr(10) 或回车换行符的组合 (Chr(13) & Chr(10) 来分隔。l title可选,字符串表达式,给对话框指定一个标题。如果省略 title,则把应用程序名放入标题栏中。l default可选,字符串表达式,显示在文本框中的缺省值。如果省略default,则文本框为空。说明:l 如果用户单击 OK 或按下 ENTER,则 InputBox 函数以字符串类型返回文本框中的内容。如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ()。注意:l 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。程序2:建立如下图所示的窗体,要求程序能对输入的“性别”和“邮政编码”、“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中。所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序。提示:l 在过程中间要退出过程可使用命令“Exit Sub”,通过函数Len(字符串)可得到字符串的长度,通过函数IsNumeric(字符串)可检验字符串是否是数值。属性设置和程序代码见附录。想一想:l 如果要求在文本框失去焦点时就对文本框的内容进行校验,则如何编程?l 如果输入的数据不符合要求,或者在按“退出”按钮时还有空白的文本框,在作出处理之前要求给出提示信息,如何修改程序。提示:l 可利用消息框(MsgBox)附: Len()函数的使用功能:l 返回一个长整型数据,其中包含字符串内字符的数目。语法:Len(string)参数:l string任何有效的字符串表达式。附: IsNumeric()函数的使用功能:l 返回布尔类型数据,指出表达式的运算结果是否为数值。语法:IsNumeric(expression)参数:l expression 参数,必要的,是一个包含数值的表达式或字符串表达式。说明:l 如果整个expression 的运算结果为数字,则IsNumeric 返回True;否则返回False。附: 消息框(Msgbox)的使用功能:l 在对话框中显示消息,等待用户单击按钮,并返回一个整型数据告诉用户单击了哪一个按钮。语法:MsgBox(prompt, buttons , title)参数:l prompt必要,字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13)、换行符 (Chr(10) 或是回车与换行符的组合 (Chr(13) & Chr(10) 将各行分隔开来。l buttons可选,数值表达式,是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。l title可选,字符串表达式,在对话框标题栏中显示的内容。如果省略title,则将应用程序名放在标题栏中。二、 复选框、单选按钮及框架控件的使用程序3:在窗体中有一个标签,内有若干文字,要求通过窗体中的复选框或单选按钮确定标签中文字的字体(宋体或黑体)、字号(10号或12号)和字形(是否粗体、是否斜体),请建立应用程序。想一想:l 为了要设置字体、字号和字形,可分别使用复选框或单选按钮,什么时候应使用复选框,什么时候应使用单选按钮。l 在什么时候要根据不同情况执行不同的语句。提示:l 在程序运行时设置字体属性,可使用FontName、FontSize、FontBold、FontItalic属性等。l 可以使用分支结构语句:IfThenElseEnd If建立分支结构的程序,以使程序可以按不同情况执行不同的语句。属性设置和程序代码见附录。附:FontName、FontSize、FontBold、FontItalic属性的使用功能:l FontName属性:返回或设置在控件中或在运行时画图或打印操作中,显示文本所用的字体。l FontSize属性:返回或设置在控件中或在运行时画图或打印操作中,显示文本所用的字体的大小。l FontBold、FontItalic属性:按下述格式返回或设置字体样式:Bold、Italic。语法:object.FontName = fontobject.FontSize = pointsobject.FontBold = booleanobject.FontItalic = boolean参数:l object对象表达式。l font字符串表达式,指定所用的字体名。l points数值表达式,用磅为单位指定所用字体的大小。l boolean布尔表达式,指定字体样式,属性值为True或False两个值之一。说明:l FontName属性的缺省值取决于系统,Visual Basic 中可用的字体取决于系统的配置、显示设备和打印设备。与字体相关的属性只能设置为真正存在的字体的值。l 一般来说,用 FontSize、FontBold、FontItalic、FontStrikethru 和 FontUnderline 属性来设置大小和样式属性前,要先改变 FontName 属性。l 用FontSize属性以所要的字体格式化文本。缺省值由系统决定。要改变缺省值,以磅为单位指定字体尺寸。l FontSize 的最大值为 2160 磅。l 可以通过这些字体属性,在设计时用属性窗口或在运行时使用代码来格式化文本。对于 Picturebox 控件及 Form 和 Printer 对象,设置这些属性不会影响在控件或对象上已经绘出的图片和文本。对于其它控件,改变字体将会在屏幕上立刻生效。附:IfThenElseEnd If功能:l 根据表达式的值有条件地执行一组语句。语法:If condition Then statementElse elsestatement或者If condition ThenstatementsElse elseifstatementsEnd IfIf.Then.Else 语句的语法具有以下几个部分:l condition必要参数。一个或多个具有下面类型的表达式:数值表达式或字符串表达式,其运算结果为 True 或 False。l statements必要参数。一条或多条语句,它们在condition为True时执行。l elsestatements可选参数。一条或多条语句,它们在前面的 condition不为 True 时执行。说明:l 可以使用单行形式(第一种语法)来做短小简单的测试。但是,块形式(第二种语法)则提供了更强的结构化与适应性,并且通常也是比较容易阅读、维护及调试的。注意:l 在单行形式中,按照 If.Then 判断的结果也可以执行多条语句。所有语句必须在同一行上并且以冒号分开,如下面语句所示:If A 10 Then A = A + 1 : B = B + A : C = C + Bl 在块形式中,If块必须以一个End If语句结束。提示:l 根据单一表达式来执行多种可能的动作时,Select Case更为有用。 选做实验综合题:依照“附件”中的计算器,自己编一个计算器。本实验要求:可以使用数字按钮输入数值(整数)。提示:l 将十个数字按钮组成一个按钮数组,统一编程;使用函数CStr(表达式)可以使数值转化成字符串。附: CStr()函数的使用功能:l 强制将一个表达式转换成某种字符型数据类型。语法:l CStr(expression)实验三 VB编程基础 实验目的1. 掌握选择语句的使用2. 掌握循环语句的使用 实验内容一、 VB编程基础练习一:在应用程序的代码窗口中分别输入以下四段代码,当程序运行时在窗体上单击,分别会发生什么情况,为什么?Private Sub Form_Click() I = 10 Print IEnd SubPrivate Sub Form_Click() Dim I% I = 10 Print IEnd SubOption ExplicitPrivate Sub Form_Click() I = 10 Print IEnd SubOption ExplicitPrivate Sub Form_Click() Dim I% I = 10 Print IEnd Sub练习二:在应用程序的代码窗口中分别输入以下三段代码,当程序运行时在窗体上反复单击,分别会发生什么情况,为什么?Private Sub Form_Click() Dim n As Integer n = n + 1 Print nEnd SubPrivate Sub Form_Click() Static n As Integer n = n + 1 Print nEnd SubDim n As IntegerPrivate Sub Form_Click() n = n + 1 Print nEnd Sub练习三:求出下列表达式的值。(通过建立应用程序验证计算结果)Format(6543.21,#,#.000)Str(Int(-2.3)+Sgn(6)+Sqr(25)CHR(ASC(+)Int(-17.8) + Fix(-17.8) + Sgn(-17.8)二、 选择语句程序1:创建应用程序。要求:单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上。程序代码见附录。提示:l 可以使用函数InputBox()输入数据,使用Print方法在窗体上显示数据。想一想:l 排序的算法是怎样的;你能想到的排序算法有哪些?如果要排序的数有很多,应该怎么编程?附:Print方法的使用功能:l 在窗体显示文本。语法:Print outputlist参数:l outputlist可选。要打印的表达式或表达式的列表。如果省略,则打印一空白行,相当于起回车换行的作用。l 在任何一个表达式后面都可以使用分号(;)或逗号(,),或者在最后一个表达式后面不跟任何字符,指定下个字符的输出位置。使用分号 (;) 直接将输出位置定位在上一个被显示的字符之后。使用逗号(,)将输出位置定位在下一个打印区的起始位置。如果省略,则在下一行打印下一字符。l 如果在具有缺省显示空间的模块外使用此方法,则需要 object。如果在窗体模块上进行调用,则会在窗体上显示“outputlist”。程序2:创建应用程序。要求:单击窗体可弹出一输入框,任意输入一个正整数,在窗体上显示该整数是否为素数的字样。提示:l 素数是指这样一种正整数,除了1和它本身外,其他正整数都不能整除它。l 可以使用循环语句,循环初值设为2,终值设为n-1(n为要判别的数;终值是否有更好的选择?),让n除循环变量,有除尽的就不是素数,否则是素数。l 可以使用算术运算符“MOD”来判别一个数是否可以被另一个数整除(算术运算符“MOD”的使用见本实验程序4附的内容)程序代码见附录。想一想:l 判别一个数是否为素数的最佳算法是怎样的。三、 循环语句程序3:创建应用程序。要求:单击窗体可显示一个由“*”组成的平行四边形图案,如下图所示。提示:l 可以通过函数Spc(n)或Tab(n)来定位,或者利用函数Space(n)在输出的内容前加空格,来控制输出的位置。程序代码见附录。想一想:l 如果将显示的平行四边形图案改成如下两图所示,该如何修改程序。说明:l 杨辉三角形中每个位置的值可以用数组求,也可以使用组合(即n!/m!/(n-m)!)求。附:函数Spc(n)、Tab(n)、Space(n)的使用功能:l 函数Spc(n)与Print # 语句或Print方法一起使用,对输出进行定位。l 函数Tab(n)与Print # 语句或Print方法一起使用,对输出进行定位。l 函数Space(n)返回特定数目空格的String。语法:Spc(n)Tab(n)Space(n)参数:l Spc(n)中参数n是在显示或打印列表中的下一个表达式之前插入的空白数。必选参数。l Tab(n)中参数n是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则 Tab 将插入点移动到下一个打印区的起点。这就使 Tab 可用来替换区域中的逗号。可选的参数。l Space(n)中参数n为字符串中想要的空格数。必要参数。l Spc(n)与Space(n)的主要区别:Spc(n)只能与Print方法一起使用,面Space(n)可以作为表达式的一部分,返回一个固定长度字符串数据。程序4:创建应用程序,其功能是显示所有的水仙花数,如下图所示。提示:l 所谓水仙花数,是指一个三位正整数,其各位数字的立方和等于该数本身。l 可以通过算术运算符“MOD”和“”求出一个数各位的值。程序代码见附录。附:算术运算符“MOD”和“”的使用功能:l 算术运算符“MOD”用来对两个数作除法并且只返回余数。l 算术运算符“”用来对两个数作除法并返回商。语法:result = number1 Mod number2result = number1number2组成部分:l result:存放计算结果,即为两数相除后的余数或商,可以是任何数值变量。必要。l number1:被除数,可以是任何数值表达式。必要。l number2:除数,可以是任何数值表达式。必要。说明:l 在进行除法运算之前,如果两数中有一数为浮点数,该数会先被四舍五入转换成 Byte、Integer 或 Long 表达式。例:l 在下列表达式中,A等于5,B等于2。A = 19 Mod 6.7B = 19 6.7 选做实验1 建立应用程序求解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?提示:l 可使用三重循环,每个循环变量分别代表鸡翁、鸡母和鸡雏。l 尽可能找到你认为的最佳算法。2 综合题1:依照“附件”中的计算器,自己编一个计算器。本实验要求:可以使用数字按钮输入数值(包括小数)。提示:可以使用变量保存当前状态信息(例如小数点是否被按下过)。实验四 过程 实验目的1掌握过程的定义和调用的方法2掌握典型问题的算法求解 实验内容一、 过程的定义和调用1、 Sub过程的定义和调用练习一:建立一个只有一个窗体的应用程序,如果在代码窗口中输入以下代码,则当程序运行时在窗体上单击会看到什么现象?要求先分析后实验。Private Sub Change1(ByVal x As Integer, ByVal y As Integer) Dim temp As Integer temp = x: x = y: y = tempEnd SubPrivate Sub Change2(ByRef x As Integer, ByRef y As Integer) Dim temp As Integer temp = x: x = y: y = tempEnd SubPrivate Sub Form_Click() Dim a As Integer, b As Integer a = 8: b = 15 Print a=; a, b=; b Call Change1(a, b) Print a=; a, b=; b Call Change2(a, b) Print a=; a, b=; b Call Change2(a + 3, b) Print a=; a, b=; bEnd Sub练习二:下列二个子程序的功能分别是什么?编写窗体的单击事件过程,通过调用语句分别调用这二个子程序,并将结果用Print方法在窗体上输出。通过逐语句运行方式(调试菜单)运行程序,了解程序运行过程。如果将第一个子程序的变量temp用Factorial1代替,程序运行时会发生什么?Function Factorial1(ByVal n As Integer) As Long Dim i As Integer, temp As Long temp = 1 For i = 1 To n temp = temp * i Next i Factorial1 = tempEnd FunctionFunction Factorial2(ByVal n As Integer) As Long If n = 0 Then Factorial2 = 1 Else Factorial2 = n * Factorial2(n - 1) End IfEnd Function程序1:创建应用程序,要求对输入的非负整数m和n,如果m=n,则显示组合数的值,否则显示数据出错。窗体如下图所示。提示:l 利用函数求解n的阶乘。组合数程序代码见附录。二、 典型问题的算法程序2:利用下列两式求得圆周率的近似值,忽略级数式中绝对值小于0.000001的项。以及提示:l 找出后一项与前一项的关系,通过前一项得到后一项,然后累加起来。程序代码见附录。想一想:l 参照下图,按“开始”按钮,可以实现每隔一秒加上一项,在两个文本框中分别显示已累加项数和圆周率的近似值,按“停止”按钮,结束累加工作,如何编写程序?l 这是一个利用级数求特殊数的值这样一个典型问题的算法,如下图所示,请总结此算法。你是否还能找到其他类似的问题?若能找到,请试着做一下。提示:l 自然对数底e的级数表示如下:e=1+1/1!+1/2!+1/3!+可参照下图编程。程序3:如下图所示,求2-200之间的所有素数,要求每输出五个数据换一行。提示:l 可以通过一个自定义函数来求解某个数是否为素数。程序代码见附录。程序4:利用随机函数产生20个-500到500的随机整数(包括-500和500),单击窗体时,在窗体上输出这20个数,同时在窗体上显示输出从大到小排好序的这些数。要求以每行5个数的格式显示,如下图所示。说明:l 排序算法有很多,其中最典型的算法是冒泡法,请使用冒泡法求解上面的问题。程序代码见附录。想一想:l 在上面的程序中,如果要求由一个Sub过程实现两个数交换,则如何修改程序? 选做实验综合题1:依照“附件”中的计算器,自己编一个计算器。本实验要求:可以实现四则运算。提示:l 可以使用变量保存当前选择的运算符等状态信息。实验五 常用控件 实验目的1. 掌握列表框和组合框控件的使用方法2. 掌握滚动条和定时器控件的使用方法 实验内容一、 列表框和组合框控件的使用程序1:编写程序。要求:程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数移动到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效。单击“左移”按钮,右边列表框中的数又被移到左边的列表框中。单击“退出”按钮或按ESC键,可退出程序。窗体示意图如下。提示:l 将列表框的Sorted属性设置为True,可使列表框中的项目从小到大排序。l 使用“For 循环变量=初值 To 终值Next 循环变量”可实现循环功能l 可使用语句Randomize和函数Rnd()产生随机数。l 移动列表框中的数,相当于将第一个列表框内容通过列表框的AddItem方法加入到第二个列表框,然后通过列表框的RemoveItem方法将第一个列表框内容删除。程序代码见附录。附:For循环语句的使用功能:l 以指定次数来重复执行一组语句。语法:For counter = start To end Step stepstatementsExit ForstatementsNext counter参数:l counter必要参数。用做循环计数器的数值变量。这个变量不能是 Boolean 或数组元素。l start必要参数,counter 的初值。l End必要参数,counter 的终值。l Step可选参数。counter 的步长。如果没有指定,则step的缺省值为 1。l Statements可选参数。放在 For 和 Next 之间的一条或多条语句,它们将被执行指定的次数。说明:l step 参数可以是正数或负数。step 参数值决定循环的执行情况,如果step的值为正数或0,则当counter = end时执行循环。l 当所有循环中的语句都执行后,step 的值会加到 counter 中。此时,循环中的语句可能会再次执行(基于循环开始执行时同样的测试),也可能是退出循环并从 Next 语句之后的语句继续执行。l 循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。 Exit For经常在条件判断之后使用,例如 If.Then,并将控制权转移到紧接在 Next 之后的语句。l 可以将一个 For.Next 循环放置在另一个 For.Next 循环中,组成嵌套循环。不过在每个循环中的 counter 要使用不同的变量名。下面的体系结构是正确的:For I = 1 To 10For J = 1 To 10For K = 1 To 10.Next KNext JNext I注意:l 应避免在循环中改变 counter 的值,否则将会使程序代码的阅读和调试变得更加困难。l 如果省略Next语句中的counter,就像counter存在时一样执行。附: Rnd()和Randomize()函数的使用功能:l Rnd()函数返回一个包含随机数值的 Singlel Randomize初始化随机数生成器语法:RndRandomize返回值:l Rnd生成随机数序列中的下一个随机数。l Randomize用系统计时器返回的值作为新的种子值。说明:l Rnd函数返回小于1但大于或等于0的值。l 对最初给定的种子都会生成相同的数列,因为每一次调用Rnd函数都用数列中的前一个数作为下一个数的种子。l 在调用Rnd之前,先使用无参数的 Randomize语句初始化随机数生成器,该生成器具有根据系统计时器得到Rnd的种子的功能。l 为了生成某个范围内的随机整数,可使用以下公式:Int(upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。注意:l 若想得到重复的随机数序列,在使用Randomize之前直接调用Rnd。使用Randomize后,Rnd就能得到不重复的随机数序列。附: AddItem、RemoveItem方法的使用功能:l AddItem方法用于将项目添加到 ListBox 或 ComboBox 控件。l RemoveItem方法用以从 ListBox 或 ComboBox 控件中删除一项。语法:object.AddItem item, indexobject.RemoveItem index参数:l object必需的。一个对象表达式。l Item必需的。字符串表达式,它用来指定添加到该对象的项目。l Index可选的。整数表达式,用来指定新项目或者要删除的项目在该对象中的位置。对于ListBox或ComboBox控件的首项,index为0。说明:l 如果所给出的index值有效,则AddItem方法会将item放置在object中相应的位置。如果省略index,当Sorted属性设置为True时,AddItem方法会将item添加到恰当的排序位置,当Sorted属性设置为False时,AddItem方法会将item 添加到列表的结尾。程序2:建立应用程序,窗体如下图所示,有一个简单组合框、三个命令按钮、一个文本框和一个标签。要求:l 单击“添加”按钮可将输入的内容添加到组合框中l 单击“删除”按钮可删除组合框中选定的项目l 单击“统计人数”按钮,可将组合框中的项目总数输出到右边的文本框l 单击“退出”或按ESC键退出程序 程序代码见附录。想一想:l 如果去掉“统计人数”按纽,让统计人数的工作在添加人员或删除人员时自动进行,应如何更改程序?l 为了使用户界面更友好,在设计本程序时在哪些方面需要考虑的?二、 滚动条和定时器控件的使用程序3:编写程序,运行时的界面如下图所示。要求:无论是拖动滚动条上的滚动框,还是单击滚动箭头(数值递增或递减1)或滚动条(数值递增或递减10),均可以在相应的标签中反映当前数值,并动态计算出均值;单击“Reset”按钮,可将各滚动条上的滚动框复位。属性设置和程序代码见附录。想一想:l 滚动条的Change事件和Scroll事件有什么区别?,本程序应该在什么事件中编程?程序4:利用定时器控件设计一个数字式时钟应用程序。提示:l 可使用Time函数取得系统时间。属性设置和程序代码见附录。想一想:l 如果要求程序整时报时,该如何修改程序。提示:l 可使用下面程序段实现。 If Second(Time) = 10 And Minute(Time) = 0 Then Beep End If 选做实验1综合题1:依照“附件”中的计算器,自己编一个计算器。本实验要求:在计算器适当的位置显示系统时间(利用某个事件确定是否开启时间显示)。2综合题2:建立学生档案管理信息系统。本实验要求:设计“输入基本资料”窗体界面,在“性别”和“出生年月”输入中,使用组合框;编程,在“邮政编码”和“电话号码”输入中,使用校验。实验六 菜单、工具栏和状态栏的设计 实验目的1. 掌握下拉式菜单的设计方法2. 掌握弹出式菜单的设计方法3. 了解工具栏和状态栏的设计方法 实验内容一、 下拉式菜单的设计程序1:建立一个应用程序,该程序窗口中有一个文本框,设计菜单,菜单项如下图所示。编制程序,完成各菜单项的功能。 提示:l 设置颜色可使用通用对话框,请查阅相关知识,或将此功能留着以后实现。程序代码见附录。程序2:编写程序。要求:程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,相应的动态菜单如下图所示;如果选择“转移”菜单下面的“右移”命令,则左边列表框的10个数移动到右边的列表框中,并由大到小排列;再打开“转移”菜单,则只有“左移”命令可用。 程序代码见附录。二、 弹出式菜单的设计程序3:将程序2中的下拉菜单改成二个弹出式菜单,分别作为两个列表框的快捷菜单,当列表框有数据时,菜单有效,否则无效。窗体如下图所示。 程序代码见附录。三、 工具栏和状态栏的设计程序4:工具栏的设计。设计一个窗口外观如下图所示的程序,在窗口下方的“请输入”文本框中输入一句名言,选择“编辑”菜单中的“名言展示”命令,或按下工具栏中的“名言展示”按钮,可将这句名言添加到窗口中间的“名言展示”文本框中。类似地,此程序还可以用这两种方法实现以下功能:复位、调整“名言展示”文本框中字体颜色、查看本程序信息、退出。提示:l 在文本框中可以使用VB的字符串常量VBCrLf实现强制换行。程序代码见附录。程序5:状态栏的设计。在程序4的基础上,加上状态栏,在状态栏中显示“名言展示”文本框中展示的名言句数和总长度,以及系统日期和系统时间。程序代码见附录。 选做实验1. 综合题1:依照“附件”中的计算器,自己编一个计算器。本实验要求:计算器中加入下拉菜单,并为其中的“编辑”菜单的“复制”和“粘贴”菜单项编制相应的程序。提示:l 可以使用Clipboard对象的SetText方法和GetText方法将文本字符串送到粘贴板或从粘贴板取到文本字符串。附:Clipboard对象的SetText方法和GetText方法的使用功能:l SetText方法用以将文本字符串放到Clipboard对象中。l GetText方法用于取得Clipboard对象中的文本字符串。语法:Clipboard.SetText textClipboard.GetText组成部分:l text必需的。是被放置到剪贴板中的字符串数据。说明:l 如果 Clipboard 对象中没有与期望的格式相匹配的字符串,则返回一个零长度字符串 ()。2. 综合题2:建立学生档案管理信息系统。本实验要求:设计菜单。实验七 对话框、多文档界面设计 实验目的1 掌握预定义对话框的使用方法2 掌握通用对话框的使用方法3 掌握简单的MDI应用程序的设计方法4 了解多文档文本编辑器的设计方法 实验内容一、 对话框的使用程序1:使用预定义对话框输入和输出数据。程序如下图所示,用于管理学生成绩。按输入按钮,使用预定义对话框InputBox输入学生人数及每个学生的成绩;使用预定义对话框MsgBox输出总分和平均成绩。 程序代码见附录。程序2:使用通用对话框进行属性设置。 程序代码见附录。二、 简单的MDI应用程序的设计程序3:建立一个应用程序,程序中有一个MDI窗体,通过MDI窗体的“文件”菜单中的“新建文档”菜单项可建立一个文档窗口作为MDI窗体的子窗体,在此子窗体可进行文本编辑。通过菜单可建立多个文档窗口,也可进行编辑文档内容、关闭文档等操作,如下图所示。 提示:l 菜单应建在MDI窗体中。l 将文档窗体作为对象,在“新建文档”菜单命令中声明一个新的文档窗体类型的变量,对此对象类型的变量进行属性设置,最后将其显示。例:如果文档窗体的名称为MyDocu,则下列程序段可实现新建文档功能:Dim NewForm As MyDocuNewForm.Caption=”我的文档”NewForm.Showl 假如父文档的名称为MDIForm1,则可使用下列语句关闭MDIForm1窗体中的活动文档,实现“关闭文档”功能:Unload MDIForm1.ActiveForml 在文档窗体中加入一个文本框。文本框的Top属性和Left属性均设为0,在文档窗体的Resize事件中加入命令,使文本框的Height属性和Width属性的值分别等于窗体的ScaleHeight属性和ScaleWidth属性,这样可以使文档窗体中文本框保持最大。程序代码见附录。 选做实验在程序3中,为“编辑”菜单下的“剪切”、“复制”、“粘贴”、“全选”命令编写程序;在“文件”菜单下增加“打开文档”和“保存文档”命令,并为它们编写程序。提示:l “剪切”、复制“、粘贴”功能均与粘贴板(Clipboard)对象有关,相关内容可参阅实验六选做实验第一题。l “打开文档”和“保存文档”命令的实现,除了要使用通用对话框控件打开相应的对话框指定文件名及其位置外,还需要使用Input语句和Write语句读入文件的内容或文档中的内容写入文件。例如,可用下面的程序段分别实现“打开文档”、“另存为”功能:CommonDialog1.Filter = 文本文件(*.txt)|*.txt|全部文件(*.*)|*.*CommonDialog1.ShowOpenDim newdocu As New MyDocunewdocu.Caption = CommonDialog1.FileTitlenewdocu.ShowDim LineStr As StringOpen CommonDialog1.FileName For Input As #1Do While Not EOF(1) Line Input #1, LineStr newdocu.RichTextBox1.Text = newdocu.RichTextBox1.Text & LineStr + vbCrLfLoopClose #1CommonDialog1.Filter = 文本文件(*.txt)|*.txt|全部文件(*.*)|*.*CommonDialog1.ShowSaveOpen CommonDialog1.FileName For Output As #1Print #1, MyDocu.RichTextBox1.TextClose #1实验八 文件的基本操作 实验目的1 掌握DriveListBox、DirListBox和FileListBox等文件控件的使用方法2 掌握用传统方式进行文件复制、移动、删除及重命名等基本方法 实验内容一、 使用DriveListBox、DirListBox和FileListBox等控件程序1:建立一个应用程序,该程序利用文件系统控件可以实现文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黄冈师范学院《企业经营活动沙盘模拟》2023-2024学年第二学期期末试卷
- 大连枫叶职业技术学院《会计信息化》2023-2024学年第二学期期末试卷
- 晋中信息学院《电子商务项目管理》2023-2024学年第二学期期末试卷
- 重庆工程学院《电磁场理论》2023-2024学年第二学期期末试卷
- 培训课件制作方法与实施流程
- 邯郸职业技术学院《社会组织管理》2023-2024学年第二学期期末试卷
- 云南工商学院《思想政治教育学方法论》2023-2024学年第二学期期末试卷
- 西安科技大学《行政与行政诉讼法》2023-2024学年第二学期期末试卷
- 西安电力高等专科学校《建筑制图与AutoCAD》2023-2024学年第二学期期末试卷
- 重庆海联职业技术学院《形势政策》2023-2024学年第二学期期末试卷
- 《氢科学技术应用》课件-3-1 氢气的储存
- 智能家居系统设计方案四篇
- 《顶岗实习答辩》课件
- 伊犁将军府课件
- 中医护理不良事件
- 初中常见原子团及其化合价、化学式、化学方程式
- 供应链安全培训教材课件
- 2024年医院考勤的管理制度
- 卡西欧手表5213(PRG-550)中文说明书
- 2024年度北京市安全员之B证(项目负责人)测试卷(含答案)
- 苹果电脑macOS效率手册
评论
0/150
提交评论