第六章VB的过程设计讲解
- 格式:doc
- 大小:149.50 KB
- 文档页数:10
第六章程序设计初步【本章概述】中小学程序设计教学的目的,是要求学生掌握程序设计的一般方法,发展他们的思维能力、分析问题和解决问题的能力。
VB是一种面向对象的程序设计语言,Visual意为“可视化的”,Basic指的是BASIC语言。
在学习VB时,除了学习界面设计,更要学习灵活运用VB实现各种算法。
教学过程中,教师应注重算法的教学,通过阅读程序、编写和调试程序、使用程序,逐步培养学生的程序设计的能力。
【教学要求】1.本章总的教学要求⑴熟悉Visual Basic窗口的组成,学会建立Visual Basic程序。
⑵理解对象的概念,知道对象的三要素,了解事件驱动的程序设计思想和面向对象的程序设计方法。
⑶理解窗体和控件的概念,掌握四个常用控件——命令按钮、标签、文本框和定时器,学会用可视化的设计工具设计程序界面。
⑷掌握Visual Basic的常量、变量、标准函数和表达式。
⑸掌握Let、End语句及输入输出技术,会用注释符(')为程序添加注释。
⑹掌握程序控制语句。
⑺理解数组、数组元素、下标的概念,掌握数组的简单应用。
⑻掌握算法的概念和一些简单的典型算法,能用流程图描述算法,并能用Visual Basic 语言实现算法。
⑼学会编辑、调试和运行程序。
⑽学会使用Visual Basic的帮助功能,培养通过帮助获取信息的能力。
⑾培养对程序设计的兴趣和用程序设计方法解决实际问题的能力。
⒉教学内容及课时安排本章教学约需23课时(含上机实践),具体安排如下:第一节:程序设计的基本方法1课时第二节:Visual Basic的基本知识2课时第三节:程序的建立和运行3课时(1)第四节:Visual Basic语言基础4课时(1)第五节:分支结构3课时(1)第六节:循环结构6课时(1)第七节:数组4课时(1)【教材分析与教法建议】第一节程序设计的基本方法一、教学要求⑴理解算法的概念,了解描述算法的两种方法——自然语言、流程图,知道各自的优缺点。
vb教案(实用3篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如计划总结、合同协议、管理制度、演讲致辞、心得体会、条据书信、好词好句、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as plan summaries, contract agreements, management systems, speeches, insights, evidence letters, good words and sentences, teaching materials, complete essays, and other sample essays. If you want to learn about different sample formats and writing methods, please pay attention!vb教案(实用3篇)vb教案(1)教案设计学科 vb程序设计授课年级一年级教师姓名李新亮 1. 章节名称:第六章:键盘与鼠标控制第四节:鼠标拖放动画实例设计计划学时:一课时 2. 教学目标:①认识鼠标事件②正确分析题目已确定应当运用哪种鼠标事件课程标准:熟练掌握鼠标事件知识与能力:学会综合运用各种鼠标事件编写程序过程与方法:认识鼠标事件运用鼠标事件完成实例设计 3. 教学重点鼠标事件及其格式,案例程序分析 4. 教学难点几种鼠标事件:Click,Dblclick,DragDrop,DragOver,Drag的区别 5. 教学设计思路一、复习导入键盘事件keypress,keydown,keyup 二、初识鼠标事件三、几种鼠标事件的格式四、几种鼠标事件的区别五、实例程序分析六、界面设计七、程序分析八、程序运行与调试教学反思这节课的主要内容是,以分析鼠标拖拽的实例程序入手,来归纳总结常见的鼠标事件。
第六章对话框的设计6.1 预定义对话框在应用程序中添加对话框最容易的方法是使用预定义对话框,因为不必考虑设计、装载或者显示对话框方面的问题。
然而,其控件在外观上要受到限制。
预定义的对话框总是模式的。
表6.1中列出了在Visual Basic应用程序中添加预定义对话框时所使用的函数。
6.1.1 输入框InputBox函数用来产生要求输入数据的输入框;在输入框中显示提示文本、文本框和按钮;等待用户的输入或按下按钮,并返回用户在文本框中输入的内容。
如图6.1所示的输入框就是使用InputBox函数所产生的,用来提示用户输入要在窗体上显示的内容。
生成该输入框的代码如下所示:Word=InputBox(“请输入要在窗体中显示的内容:”、“输入”)只需再做一点工作就可以将上面的文本输入框使用到程序中了。
实例6.1使用输入框。
在窗体中放置一个按钮控件,并设置它的Caption属性的值为“输入要显示的内容”,双击这个按钮控件打开它的代码窗口,编写如下代码:个参数是指输入框中的用户提示字符串,第二个参数是指输入框的标题:InputBox(prompt[,title][,default][,spos][,ypos][,helpfile,context])InputBox函数语法中的各参数的含义如表6.2所示。
如果同时提供了Helpfile与Context,用户可以按F1键来查看与Context相应的帮助主题。
如果用户单击输入框中的【确定】按钮,则InputBox函数返回文本框中的内容。
如果用户单击【取消】按钮,则此函数返回一个长度为零的字符串(“”)。
如果要省略某些位置参数,则必须加入相应的逗号分界符。
例如,要指定实例6.1中输入框的位置,而缺省输入框的初始值,则语句如下:word =InputBox(“请输入要在窗体中显示的内容:”,“输入”,200,200)。
6.1.2 消息框MsgBox函数用来产生一个消息框。
VB教程:第六章(1)-输入文章来源:vb大世界-我们为什么要设计计算机程序呢,当然是为了计算机能为我们完成工作,但是要完成不同的任务,我们就必须对计算机下达命令,然后计算机在把信息返馈回来――任务是否完成。
以上就是所谓的人机对话或交互功能,尤其是在Windows操作里我们需要进行更多的输入工作,我们需要填写各种各样的表格,设置程序的重要参数,把数据输入给计算机,再又它完成既定的工作就是今天我们本章要重点讨论的问题――在VB中如何建立完整的输入机制。
在VB中提供了一个函数InputBox能帮助我们建立一个最简单的输入窗体,语法如下:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])a$ = InputBox("举荐你最欣赏的网站", "最佳网站投票", "VB小驿")该函数返回一个字符串表达式,其参数含义为:(“[]”表示可缺省)prompt――字符串表达式,最大长度为1024字符,窗体上的提示部分。
Title――字符串表达式,显示标题栏里的文本。
Default――字符串表达式,窗体中文本框的缺省值。
xpos,ypos――数值表达式,以Twips为单位指定窗体出现在屏幕上的位置。
helpfile――字符串表达式,是帮助文件的完整路径。
Context――数值表达式,指定适合的帮助主题。
可能你看了上面的说明并不明白,那么下面我们就用Input语句完成一个最简单的程序。
小知识:屏幕坐标在计算机的屏幕上也有一个类似于我们在中学里常用到的直角坐标系,之不过它的原点不在左下,而是在屏幕的右上角,屏幕的最右上方坐标为(0,0),它的横坐标和我们的习惯是一致的,而纵坐标则是越向下越大,不仅是屏幕,所有的对象里都是一样,需要记清。
见图6-1新建一个项目(project),在Form_load里填写一行代码:a$ = InputBox("举荐你最欣赏的网站", "最佳网站投票", "VB小驿")’不算无耻吧?:->按下F5运行程序,在Form1出现之前先会弹出一个输入对话框,如图6-2。
第一章 Visual Basic介绍第二章用户界面设计第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)第四章 Windows 95的新控件Visual Basic的输入输出第五章 Visual Basic的鼠标事件和绘图第六章 Visual Basic的数据库、报表、预览、打印第七章从文件中存取资料第八章发行应用程序第九章使用Windows API和用Visual Basic建立自己的屏幕保护程序第十章创建ActiveX控件第十一章ActiveX文档第十二章用对象链接与嵌入(OLE)扩展Visual Basic第十三章使用资源文件第十四章用Visual Basic建立ActiveX DLL第十五章用Winsock控件进行Internet通信第十六章 Web浏览控件第一章Visual Basic介绍§2 窗体和命令钮介绍一、窗体窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。
它的主要属性除上面介绍的以外,还包括:1,Appearance属性这个属性用来决定控件是否采用三维效果。
2,BorderStyle属性这个属性决定了窗体的边框形式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。
3,ControlBox属性程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。
4,Font属性程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。
5,Icon属性这个属性是用户经常要使用的一种属性。
当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。
为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。
6,Visible属性该属性决定窗体是否可见。
错误地改变其值是很危险的,窗体会从眼前消失,这种莫名其妙的事情会使用户惊惶失措,所以肩负重任的程序员一定要慎重哟!7,WindowState属性指定窗体在运行时的三种状态:正常、最小化、最大化。
【最新整理,下载后即可编辑】第一章Visual Basic介绍第二章用户界面设计第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)第四章Windows 95的新控件Visual Basic的输入输出第五章Visual Basic的鼠标事件和绘图第六章Visual Basic的数据库、报表、预览、打印第七章从文件中存取资料第八章发行应用程序第九章使用Windows API和用Visual Basic建立自己的屏幕保护程序第十章创建ActiveX控件第十一章ActiveX文档第十二章用对象链接与嵌入(OLE)扩展Visual Basic第十三章使用资源文件第十四章用Visual Basic建立ActiveX DLL第十五章用Winsock控件进行Internet通信第十六章Web浏览控件第一章Visual Basic介绍§2 窗体和命令钮介绍一、窗体窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。
它的主要属性除上面介绍的以外,还包括:1,Appearance属性这个属性用来决定控件是否采用三维效果。
2,BorderStyle属性这个属性决定了窗体的边框形式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。
3,ControlBox属性程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。
4,Font属性程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。
5,Icon属性这个属性是用户经常要使用的一种属性。
当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。
为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。
6,Visible属性该属性决定窗体是否可见。
第六章VB的过程设计1.什么是过程在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。
2.VB中的自定义过程分类(1)以“Sub”保留字开始的子程序过程(包括事件过程和通用过程),不返回值;(2)以“Function”保留字开始的函数过程,返回一个值;(3)以“Property”保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。
6.1 子过程(Sub)的定义与调用1.事件过程(1)窗体事件过程语法:Private Sub Form_事件名([参数列表])[局部变量和常数声明]语句块End Sub注意:1)窗体事件过程名由Form_事件名组成,多文档窗体用MDIForm_事件名;2)每个窗体事件过程名前都有一个Private的前缀,表示该事件过程不能在它自己的窗体模块之外被调用;3)事件过程有无参数,完全由VB提供的具体事件本身决定,用户不可以随意添加。
(2)控件事件过程语法:Private Sub 控件名_事件名([参数列表])[局部变量和常数声明]语句块End Sub注意:其中的控件名必须与窗体中某控件相匹配,否则VB将认为它是一个通用过程。
(3)建立事件过程的方法1)打开代码编辑器窗口(两种方法:双击对象或从工程管理器中单击“查看代码”按钮)2)在代码编辑器窗口中,选择所需要的“对象”和“事件过程”3)在Private Sub ……End Sub之间键入代码4)保存工程和窗体(4)事件过程的调用事件过程由一个发生在VB中的事件来自动调用或者由同一模块中的其他过程显示调用。
2.通用过程通用过程是一个必须从另一个过程显示调用的程序段,通用过程有助于将复杂的应用程序分解成多个易于管理的逻辑单元,使应用程序更简洁、更易于维护。
通用过程分为公有(Public)过程和私有(Private)过程两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一模块中的过程调用。
(1)定义方法:[Private | Public ][ Static] Sub过程名([参数列表])[局部变量和常数声明] ‘用Dim 或Static声明语句块[Exit Sub]语句块End Sub注意:1)缺省[ Private | Public ]时,系统默认为Public ;2)Static 表示过程中的局部变量为“静态”变量;3)过程名的命名规则与变量命名规则相同,在同一个模块中,同一符号名不得既用作Sub 过程名,又用作Function过程名。
4)参数列表中的参数称为形式参数,它可以是变量名或数组名,只能是简单变量,不能是常量、数组元素、表达式;若有多个参数时,各参数之间用逗号分隔,形参没有具体的值。
VB 的过程可以没有参数,但一对圆括号不可以省略。
不含参数的过程称为无参过程。
形参格式为:[ ByVal ] 变量名[()] [As数据类型]式中:变量名[()]:变量名为合法的VB变量名或数组名,无括号表示变量,有括号表示数组。
ByVal:表明其后的形参是按值传递参数(传值参数Passed By Value),若缺省或用ByRef,则表明参数是按地址传递的(传址参数)或称“引用”(Passed By Reference)。
As:数据类型:缺省表明该形参是变体型变量,若形参变量的类型声明为String,则只能是不定长的。
而在调用该过程时,对应的实在参数可以是定长的字符串或字符串数组,若形参是数组则无限制。
5)Sub 过程不能嵌套定义,但可以嵌套调用。
6)End Sub 标志该过程的结束,系统返回并调用该过程语句的下一条语句。
7)过程中可以用Exit Sub提前结束过程,并返回到下调用该过程语句的下一条语句。
(2)建立Sub过程的方法方法一:1)打开代码编辑器窗口2)选择“工具”菜单中的“添加过程”3)从对话框中输入过程名,并选择类型和范围4)在新创建的过程中输入内容方法二:1)在代码编辑器窗口的对象中选择“通用”,在文本编辑区输入Private Sub 过程名2)按回车键,即可创建一个Sub过程样板3)在新创建的过程中输入内容3.Sub子过程的调用(1)用Call语句调用Sub过程语法:Call过程名(实在参数表)实在参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。
例:利用过程编写求三角形面积的程序(2)把过程名作为一个语句来用语法:过程名[实参1[,实参2……]]它与(1)的不同点是:去掉了关键字和实参列表的括号如上例中可以改成:area a,b,c,w6.2 函数过程(Function)的定义与调用1.函数过程的定义有两种方法:(1)在代码窗口中,利用“工具”菜单下的“添加过程”命令,插入一个函数过程模板来定义(2)在代码窗口中,把插入点放在所有现有过程之外,直接输入函数来定义[ Private | Public ][ Static] Function函数名([参数列表])[As 数据类型] [局部变量和常数声明] ‘用Dim 或Static声明[语句块][ 函数名=表达式][ Exit Function]语句块[ 函数名=表达式]End Function2.注意事项(1)函数名的命名规则与变量命名规则相同;函数过程必须由函数名返回一个值。
(2)如果函数体内没有给函数名赋值,则返回对应类型的缺省值,数值型返回0,字符型返回空字符串。
(3)函数过程内部不得再定义Sub过程或Function过程。
例:编写一个计算N!的函数过程3.Function过程的调用调用Function过程与调用VB内部函数的方法一样,即在表达式中写出它的名称和相应的实在参数。
语法:过程名([实参列表])注意:(1)必须给参数加上括号,即使没有参数也不可省略括号;(2)VB中也允许象调用Sub过程一样来调用Function,但这样就没有返回值。
4.调用其他模块中的过程(1)调用窗体中的过程从窗体模块的外部调用窗体中的公有过程,必须用窗体的名字作为调用前缀。
如:Call Form1.Examsub([实参表])(2)调用标准模块中的过程如果在应用程序中,过程名是唯一的,则调用时不必加模块名。
如果有同名的,则在同一模块内调用时可以不加模块名,而在其他模块中调用时必须加模块名。
(3)类模块中的过程调用类模块的公有过程时,要求用指向该类某一实例的变量修饰过程,即首先要声明类的实例为对象变量,并以此变量作为过程名前缀修饰词,不可直接用类名作为前缀修饰词。
如:在类模块Class1中含有过程clssub,变量Democlass是类Class1的一个实例,则调用clssub的方法是:Dim Democlass AS New Class1Call Democlass.clasub例:函数过程与子过程的异同,计算级数的部分和1 + x + x2/2! +……+ x n/n! +……,|x n/n!|<exp6.3 参数的传递1.形参与实参的概念形参:指出现在Sub 和Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。
形参可以是:1)除定长字符串变量之外的合法变量名;2)后面跟()括号的数组名。
实参:是在调用Sub 和Function过程时,传送给相应过程的变量名、数组名、常数或表达式。
在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。
形参与实参的关系:形参如同公式中的符号,实参就是符号具体的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。
2.按值传递参数(定义时加ByVal)按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。
3.按地址传递参数(定义时没有修饰词或带关键字ByRef)按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。
在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。
如果实参是一个常数或表达式,VB会按“传值”方式来处理。
4.数组参数VB允许把数组作为形参出现在形参表中,语法:形参数组名()[As 数据类型]形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。
调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。
在过程中不可以用Dim语句对形参数组进行声明,否则会产生“重复声明”的错误。
但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。
5.对象参数VB中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。
对象的传递只能按地址传递。
6.4 变量、过程的作用域1.VB应用程序的组成:2.过程的作用域3. 变量的作用域4.静态变量用Static声明的静态变量,在每次调用过程时保持原来的值,不重新初始化。
而用Dim声明的变量,每次调用过程时,重新初始化例:显示1到5个数。
5.同名变量对不同范围内出现的同名变量,可以用模块名加以区别。
一般情况下,当变量名相同而作用域不同时,优先访问局限性大的变量。
6.5递归过程1.递归的概念通俗的讲,用自身的结构来描述自身就称为“递归”。
如对阶乘运算的定义就是递归的:n!=n(n-1)! (n-1)!=(n-1)(n-2)!2.递归子过程和递归函数VB 允许一个自定义子过程或函数过程在过程体的内部调用自己,这样的子过程或函数就叫递归子过程和递归函数。
递归过程包含了递推和回归两个过程。
构成递归的条件是:(1)递归结束条件和结束时的值(2)能用递归形式表示,并且递归向结束条件发展。
例:编制程序求fac(n)=n!的函数3.注意事项(1)递归算法设计简单,但消耗的上机时间和占据的内存空间比非递归大(2)设计一个正确的递归过程或函数过程必须具备两点:1)具备递归条件;2)具备递归结束条件(3)一般而言,递归函数过程对于计算阶乘、级数、指数运算有特殊效果。