您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > VisualBasic教程第6章VisualBasic应用程序的结构与调试
人民邮电出版社第6章VisualBasic应用程序的结构与调试人民邮电出版社6.1模块6.2过程6.3过程的使用6.4常见标准函数6.5程序的调试人民邮电出版社6.1模块6.1.1VCR应用程序的结构VCR是一个对电视机和录像机组合体进行模拟的应用程序。它具有播放电视,选电视频道,对电视节目录像,显示时间等功能。图6-1VCR程序包含的模块人民邮电出版社VCR应用程序的主窗体(frmVCR)是VCR与电视屏幕组合的可视图像。它包括几个对象,这些对象以现实世界中的图景为模型。一组命令按钮(cmdPlay、cmdRecord等等)模仿的是操作VCR的按钮。图6-2VCR应用程序的主窗体人民邮电出版社6.1.2各种模块类型VB代码存储在模块中。模块有三种类型:窗体模块、标准模块和类模块。(1)声明。可将常数、类型、变量和DLL(动态链接库)过程的声明放在窗体、类或标准模块的模块级。(2)过程。子过程、函数过程或者属性过程,过程包含可以作为单元来执行的代码片段。人民邮电出版社1.窗体模块窗体模块(文件扩展名为.FRM)是大多数VB应用程序的基础。2.标准模块标准模块(文件扩展名为.BAS)是应用程序内其他模块访问的过程和声明的容器。人民邮电出版社(1)使用标准模块当编写较长的程序时,很可能会遇到一些使用相同变量和例程的窗体及事件过程。(2)创建标准模块要在程序中创建新的标准模块,那么单击工具条“添加窗体”(AddForm)按钮上的下箭头并单击“模块”(Module),或者单击“工程”菜单中的“添加模块”(AddModule)菜单项。人民邮电出版社6.1.3使用“代码编辑器”1.自动完成编码VB能自动填充语句、属性和参数,这些性能使编写代码更加方便。2.书签在“代码编辑器”中书签可用来标记代码的某些行,以便以后可以很容易地返回这些行。3.模块级别在模块的声明部分中描述代码。人民邮电出版社6.2过程6.2.1过程概述将程序分割成较小的逻辑部件就可以简化程序设计任务,称这些部件为过程,它们可以变成增强和扩展VB的构件。人民邮电出版社VB中有如下的过程:函数过程。子过程。属性过程。通用过程。用过程编程有如下的好处:消除了重复语句行。使程序更易阅读。简化了程序开发。其他程序可重复使用该通用过程。扩展VB语言。人民邮电出版社6.2.2Sub过程1.子过程的语法(1)子过程语法说明[Private|Public|Friend][Static]SubName[(Arglist)][语句][ExitSub][语句]EndSub(2)调用子过程在程序中调用子过程需要指明该过程的名称,然后列出该子过程所要求的参数。人民邮电出版社2.通用过程通用过程告诉应用程序如何完成一项指定的任务。3.事件过程当VB中的对象对一个事件的发生做出认定时,便自动用相应事件的名字调用该事件的过程。人民邮电出版社6.2.3Function(函数)过程1.函数过程的语法在Sub过程与Function过程之间有三点区别:(1)一般说来,让较大的语句或表达式的右边包含函数过程名和参数(returnvalue=function),这就调用了函数。(2)与变量完全一样,函数过程有数据类型。(3)给procedurename自身赋一个值,就可返回这个值。人民邮电出版社2.调用函数过程在事件过程中调用函数TotalTax时,使用与下文相类似的语句:lblTaxes.Caption=TotalTax(500)(一般来说,函数都赋值给某些变量或属性)。该语句计算价值500美元的货物应纳税额的总计,然后将结果赋值给lblTaxes对象的标题(Caption)属性。人民邮电出版社3.递归函数过程递归是函数直接调用自己或函数之间相互调用的一种算法。递归能使程序变的简洁易读。人民邮电出版社6.3过程的使用6.3.1过程的创建与使用1.创建新过程要创建新的通用过程,在代码编辑窗口输入过程头,并按下“回车”键。2.选择现有过程如果想在当前模块中查看过程,在代码编辑窗口的“对象框”中选择“通用”,然后在“过程框”中选择过程。3.调用过程调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。人民邮电出版社4.使用标准模块中的过程如果过程名是唯一的,则不必在调用时加模块名。5.GoSub…Return过程GoSub...Return语句,在一个过程中跳到另一个子程序中执行,执行后再返回。人民邮电出版社6.3.2向过程传递参数过程中的代码通常需要某些关于程序状态的信息才能完成它的工作,信息包括在调用过程时传递到过程内的变量,当将变量传递到过程时,称变量为参数。1.参数的数据类型过程的参数缺省为Variant数据类型,不过,也可以声明参数为其他数据类型。2.按值传递参数按值传递参数时,传递的只是变量的副本。人民邮电出版社3.按地址传递参数按地址传递参数是让过程用变量的内存地址去访问实际变量的内容。4.使用可选的参数在过程的参数列表中列入Optional关键字,就可以指定过程的参数为可选的。人民邮电出版社5.传值参数在讨论子过程时,已经介绍了传递给过程的参数的两种传递方式:按地址传递和按值传递。6.ByVal关键字避免上述问题的一个明显做法是在过程中对所传递的变量不做修改,但是这一解决方案会增加程序代码长度,并且当多名程序员一同工作时这种方法也被证明是不可靠的。人民邮电出版社6.4常见标准函数6.4.1数学函数6.4.2日期函数6.4.3字符串操作函数人民邮电出版社6.4.4数据转换函数asc(s):将字符串的第一个字母的代码返回。Chr(n):根据字符代码n返回相应的字符构成的字符串.例如:chr(65)的结果为A.Format(e,s):e代表字符串,s代表格式指令,根据s的指令将e格式化。Hex(n):返回n的16进制的字符串。Oct(n):返回n的8进制的字符串。RGB(n,n,n):返回一个代表RGB颜色的常整数。Str(n):返回数字表达式n相等的字符串。Val(string):返回一个string所代表的数字串的数字。人民邮电出版社6.4.5用户交互式函数1.Inputbox许多应用程序要求用户输入数据,Inputbox()函数提供了一种较好的方法,在前面的章节中已经提到过,现在对Inputbox函数进行详细说明。图6-27Inputbox函数建立的输入对话框人民邮电出版社2.Msgbox函数Inputbox是输入函数,Msgbox是输出函数。(1)Msgbox函数的语法说明Msgbox函数的语法如下:Msgbox(Prompt,[ButtonsasVbmsgboxstle=Vbokonly],[Title],[Helpfile],[Context])_asVbmsgboxresult(2)Msgbox函数举例人民邮电出版社6.4.6其他常用函数1.Array()返回含有数组的变体。2.Callbyname()执行对象的一个方法或设定返回对象的属性。3.Choose()在参数列表中选择一个数据,并返回该数据。4.Command()返回启动VB系统或用VB开发的可执行程序的命令行中的参数。人民邮电出版社5.Dir()返回指定模板或文件属性的文件,目录文件夹的名称,或驱动器的卷标。6.Filter()基于指定的过滤标志,返回字符串数组的子集。7.Getobject()返回ActiveX组件提供对象的引用。8.Getsetting()返回应用程序项目的所有注册表设置及其对应值。人民邮电出版社9.Input()返回字符串变量,包含的字符串取自以input或binary方式打开的文件。10.Ismissing()返回布尔型数据,表示是否已经把可选的参数传递给某个过程。11.Int()返回数值的整数部分,这个函数结合Rnd()函数能产生在某个范围的整数。人民邮电出版社12.Join()把包含在数组中的字符串合成一个字符串,并返回这个字符串。13.Loadpicture()把图片装入窗体的某些控件中。14.Partition()返回字符型数据,表示一个数值在一个系列范围中的位置。人民邮电出版社15.Qbcolor()返回长整型,表示对应于指定颜色号的RGB颜色代码。16.Replace()返回一个字符串中指定的子串被另一个子串替换指定次数的结果。17.Round()返回一个数舍入到指定小数位后的结果。18.Rnd()产生0~1随机数。人民邮电出版社19.Shell()运行可执行程序。20.Switch()计算一系列的表达式,并返回与第一个为True的表达式相关的变体数据或表达式。21.Typename()返回字符串型数据,表示变量的信息。22.Isnull()这个函数用来判断指针是否为空。23.Isempty()判断字符串是否为空。人民邮电出版社6.5程序的调试6.5.2VisualBasic6.0中的错误类型在VB6.0中的错误分为三种类型:语法错误;执行错误;逻辑错误。
本文标题:VisualBasic教程第6章VisualBasic应用程序的结构与调试
链接地址:https://www.777doc.com/doc-2854827 .html