




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述1.1VisualBasic语言概述一、VisualBasic的特点1.面向对象的可视化设计平台2.事件驱动的编程机制3.结构化的程序设计语言VisualBASIC是面向对象,结构化的计算机语言,VB的界面由对象(窗体和控件)组成,每个对象有若干属性,程序员的任务就是设计这些对象和对象的“事件”过程1.2VisualBasic6.0的集成开发环境VB的三种工作模式(标题栏总显示当前模式)(1)设计模式:创建应用程序的大多数工作都是在设计时完成的。在设计时,可以设计窗体、绘制控件、编写代码并使用“属性”窗口来设置或查看属性设置值。(2)运行模式:代码正在运行的时期,用户可与应用程序交流。可查看代码,但不能改动它。(3)中断模式:程序在运行的中途被停止执行时。在中断模式下,用户可查看各变量及不是属性的当前值,从而了解程序执行是否正常。还可以修改程序代码,检查、调试、重置、单步执行或继续执行程序。1.3可视化编程的基本概念1.对象对象是现实世界的实体,如人、汽车、电脑等,并且复杂的对象可以由若干简单的对象构成。图1编程中的“对象”图1编程中的“对象”1个“文本框”对象7个“单选框”对象2个“复选框”对象多个“按钮”对象2.对象的三要素:属性、事件和方法(1)属性:即一个对象所具有的性质、特征。(2)事件:发生在该对象上的事情,发生在用户与应用程序交互时,如单击控件、鼠标移动、键盘按下等。事件过程:当在对象上发生某个事件后,就要处理事件,对事件作出反应,处理事件的步骤叫做事件过程。(3)方法:对象所具有的动作和行为。在编程中,对象的方法完成某种特定功能,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用1.4可视化编程的一般步骤VB的对象已经被抽象为窗体和控件,所以简化了应用程序设计,一般需要三个步骤:①创建应用程序界面;②设置属性;③编写代码。第2章窗体与常用控件2.1窗体1.窗体(Form)的属性①Name:对象(窗体或控件)的名称⑴对象名必须以字母开头,不能多于40个字符,可以包含字母、数字和下划线,不能包括标点符号和空格;⑵对象名不能与其他公共对象重名;②:显示在窗体标题栏中窗体图标后面的文字;⑴Visible:设置窗体是否可见,取值为True或False;True-可见False-隐藏注意:Visible属性只有在运行时才生效,设计时可见。⑵Enabled:确定窗体是否对用户事件做出反应;True-响应用户的鼠标或键盘操作False-不响应用户操作通过程序代码为对象的属性赋值赋值语句格式:对象名.属性名=新的属性值例如,将窗体对象frmInput的标题栏文字改为“你好!Vb”frmInput.Caption=“你好!Vb”2.窗体的方法①调用对象方法的一般形式:对象名.方法名[参数](1)Show和Hide(2)Print用于在窗体上输出指定的内容窗体Print方法的语法:对象名.Printstring例如,Form1.Print“Hello”/在窗体上显示“Hello”(3)Move用于移动窗体,并可改变其大小。(4)Cls用于清除运行时窗体上所生成的图形和文字窗体的事件(1)Load√当一个窗体被加载到内存中准备显示时,引发Load事件√此事件由操作系统发送;√常常在Load事件过程中进行窗体或控件的初始化工作。(2)Click◎鼠标单击事件◎Click事件过程的语法结构:PrivateSubForm_Click()程序段EndSub◎注意:窗体对象比较特殊,其事件过程名称为Form_事件名(),不像其他控件,由对象名_事件名组成。(3)DblClick◎鼠标双击事件◎事件过程的语法结构:PrivateSubForm_DblClick()程序段EndSub◎此事件过程没有参数注意:当在窗体上双击鼠标时,首先触发的是窗体的Click事件,然后才是DblClick事件。所以如果两个事件都编写了程序代码,则会被依次执行。(4)GotFocus、LostFocus◎焦点是接收用户鼠标或键盘输入的能力。◎当一个对象处于焦点状态时,可接收用户的输入◎当对象得到焦点时,触发GotFocus事件;失去焦点时,触发LostFocus事件(5)Resize◎在程序运行时,当窗体的大小发生改变或窗体刚刚显示时,会引发此事件(6)Unload◎是从内存中清除一个窗体时触发的事件2.2常用控件1.标签控件
主要用来显示或输出文本信息
常用的属性:Name,Caption,Alignment,AutoSize,BorderStyleAlignment:设置文本的对齐方式:0-左对齐(默认值),1-右对齐,2-中间对齐AutoSize:其值决定标签控件的大小是否随所显示内容而自动调整:True/False(默认)BorderStyle:决定标签是否有边框:0-无边框(默认),1-有边框(固定单线框)2.文本框控件
是一个文本编辑区域,用来接收用户输入的信息
用户可以在该区域输入、编辑、修改和显示正文内容
常用的属性:Name,Text,Alignment,Enabled,Locked,MaxLength,Multiline,PasswordChar,ScrollBars
Text:文本框中的文本内容;
Locked:设置是否锁住文本框的Text属性的内容;
MaxLength:设置文本框输入的最大字符数;
Multiline:设置是否可以输入多行文本;
PasswordChar:此属性可用来创建“密码文本框”;
ScrollBars:当文本框的MultiLine属性值为True时,ScrollBars属性值决定文本框有无水平或垂直滚动条;3.命令按钮控件
用来接收用户的操作信息,触发相应的事件过程;
它是用户与程序进行交互的最直接的手段。
常用的属性:Name,Caption,Default,Cancel,EnabledDefault:设置该命令按钮是否为窗体的默认按钮,即在运行时按回车键与单击该按钮效果相同,取值为True/False。Cancel:设置该命令按钮是否为CancelButton,即在运行时按ESC键与单击该按钮效果相同,取值为True/False。第三章数据类型、常量、变量及表达式3.1VB的字符集及编码规则1.标识符的命名规则(1)VB标识符由字母、数字和下划线组成,且以字母打头;(2)长度不得超过255个字符;(3)不能与VB中的关键字同名;(4)在同一个范围(作用域)内必须是唯一的。2.编码规则(1)大小写——VB代码不区分字符的大小写。(2)语句是程序的基本单位,VB中每条语句--enter键结束(3)一行书写多条语句
一行可以书写多条语句,各语句之间用冒号“:”分隔(4)续行
一行书写不完的语句,可以在该行后加上续行符(由空格+下划线组成),然后换行书写。3.2数据类型1.数值型1)整数(Integer)
在内存中占2个字节
取值范是-32768(-215)~+32767(215-1)。
VB中用±n[%]来表示整数,其中%为整数的类型符,2)长整型(Long)
长整型数占4个字节;
最大值为231-1。
VB中用±n&来表示长整数,其中&为长整数的类型符。2.字符串型(string)
由若干字符组成的字符序列,专门用来存放文字信息的
在VB中有两种类型字符串:定长字符串和变长字符串(1)定长字符串:能够包含字符的个数是可以指定的一定数目的字符,它在程序执行过程中其长度保持不变,如果所赋予的字符长度不够,用空格填补;如果超出则截去超出部分。√字符串变量定义Dim字符串变量名Asstring*长度(2)变长字符串
字符串的长度不确定,它的长度随着赋予的字符串的长度而变化
字符串变量定义Dim字符串变量名Asstring3.布尔型(Boolean)
也称为逻辑型,只有两个值:真(True)和假(False),用2字节二进制数存储,经常用来表示逻辑判断的结果。
布尔型与整型或长整型转换:当把数值型数据转换为逻辑型数据时,0会转换为False,其它非0值转换为True反之,当把逻辑型数据转换为数值型时,False转换为0,True转换为-1。4.日期型(Date)
任何在字面上可以被认作日期的文本都可以赋值给日期变量;日期文字必须用符号“#”括起来。5.变体型(Variant)
Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义3.3变量和常量1.变量程序运行过程中其值可以改变的量称为变量,用于存储程序运行时的临时数据(1)变量的命名规则遵循标识符命名规则:①以字母开头,可以包括数字、字母和下划线;②不能包含标点符号;③不能多于255个字符;④不能与关键字重复;⑤在同一作用域中,变量名不能相互重复。(2)变量声明使用变量前,一般应先声明变量名以及变量的类型,以使系统为变量分配内存单元。如果没有声明,则默认为变体型数据声明变量时可以指定变量名、变量的类型以及变量的作用域。◎定义变量的统一语法格式如下:Public|Private|Dim|Static变量名[As类型[*字符串长度]]其中,“Public|Private|Dim|Static”4个关键字指定变量的作用范围(即作用域);如果省略“As类型”部分,定义的是变体类型变量;当定义定长字符串变量时,需要“*字符串长度”部分指定字符串长度。变量的作用域:指变量生效的范围,即能够对该变量赋值又能读取该变量值的代码范围。在VB中,变量有三种作用域:过程级、模块级和全局级.①过程级变量:又称为局部变量,作用域是定义它的过程(包括事件过程和通用过程),也就是说它在哪个过程中定义就只能在这个过程中使用。定义过程级变量的语句为:Dim|Static变量名[As数据类型名[*字符串长度]]
使用Dim关键字定义的过程级变量,当所在过程执行完毕,变量就会消失,释放所占用的内存;
使用Static定义的变量,被称为“静态变量”,在程序启动时即被分配内存空间,程序结束时清除,每次过程执行完毕变量的值仍被保留,下一次该过程被执行时变量的值仍然可用。②模块级变量:必须在模块开始的通用声明段中定义(位于“代码”窗口的最顶部,所有过程的前面),语法格式为:Private|Dim变量名[As数据类型名[*字符串长度]]其中,关键字Private和Dim是等效的;
作用域是所在的模块,定义变量的这个模块中的所有过程都可以访问该变量;
它在程序启动时被创建,程序结束时被清除。③程序级变量:也称为全局变量或公共变量,指在程序的所有模块中都可以对其值进行存取的变量。
必须在模块开头的通用声明段中定义,语法格式为:Public变量名[As数据类型名[*字符串长度]]
在程序启动时创建,程序结束时被清除。◎用类型说明符表示变量√将类型说明符放在变量名的尾部,可以表示不同的变量,如%表示整型、&表示长整型、!表示单精度型、#表示双精度型、@表示货币型,$表示字符型。◎变量的默认值√一个变量在被定义之后,被首次赋值之前的这一段时间中具有默认值。对于不同的数据类型,默认值不相同。√数值型变量的默认值为0;√逻辑型变量的默认值为False;2.常量常量是指程序运行过程中始终保持不变的常数、字符串等在程序代码中,以数值或字符等形式直接给出的常量。例如:a=3.14Text1.text=“welcome”3.4运算符和表达式一、运算符◎VB提供了5种类型的运算符:1.算术运算符
整除运算和取模运算的操作数一般为整型数,当操作数含有小数时,先四舍五入取整,然后再进行运算;
整除运算的结果取商的整数部分;取模运算的结果取商的余数部分。2.字符串运算符(1)字符串连接运算符:“&”和“+”(2)字符串比较运算符
按照字符串对应字符从左到右逐个进行比较;
结果为真返回True;否则返回False;
英文、数字和半角符号按ASCII码的大小进行比较,汉字和中文符号按汉字国际码的顺序进行比较3.日期时间运算符①两个日期型数据相减,结果为两个日期相差的天数,如:#09/29/2012#-#09/20/2012#‘结果为数值型数据:9②日期型数据加数值型数据,结果为日期型数据(向后推算日期),如:#09/29/2012#+9‘结果为日期型数据:#10/08/2012#③日期型数据减数值型数据,结果为日期型数据(向前推算日期),如:#09/29/2012#-10‘结果为日期型数据:#09/19/2012#4.关系运算符(><>=<==<>)对两个表达式的值进行比较,结果为逻辑值,如果关系成立返回True,否则返回False。在VB中,分别用-1和0表示True和False5.布尔运算符(逻辑运算符)运算符的优先级当表达式中存在多种运算符共存时,按如下优先级的先后进行运算:3.5类型转换3.6常用内部函数◎内部函数是指VB已经定义好的函数,供用户随时调用。◎VB的内部函数可以分为五类:√数学函数√字符串函数√随机函数√转换函数√日期函数◎常用数学函数:Rnd(N):返回[0,1)的随机数√若要返回指定范围的随机数,使用公式:Rnd*(Int(上界值-下界值+1))+下界值Int(N):返回不大于给定数的最大整数Fix(N):返回数的整数部分第4章基本控制结构4.1结构化程序设计概述4.2顺序结构1.赋值语句
程序设计中最基本的语句,它的作用是将指定的值赋给某个变量或对象的某个属性。
语句格式:名称=表达式2.数据输入
程序语言应具备的基本功能,指把要加工处理的原始数据从某种外部设备(例如键盘)输入到计算机中去,以备计算机处理;
在VB中,数据输入的功能可以用文本框和输入框(InputBox)完成;
InputBox函数√作用:在一对话框中显示提示信息,等待用户输入正文或按下按钮,返回文本框中内容,函数值的类型为String类型。√语法格式:<变量>=InputBox(<信息内容>[,<对话框标题>][,<默认内容>])说明:<信息内容>:对话框中出现的文本,用来描述“提示信息”;<对话框的标题>:设置对话框的标题;<默认内容>:输入框中显示的默认文本。例:InputBox("提示信息","标题","输入信息区域")3.数据输出VB中数据输出的方法有:Print方法、文本框控件、标签控件以及消息框(MsgBox)函数;
消息框(MsgBox函数)MsgBox函数在对话框中显示信息,等待用户单击按钮,并返回一个整数以标明用户单击了哪个按钮。语法格式为:MsgBox<消息内容>[,<对话框类型>][,<对话框标题>]说明:<消息内容>为对话框中出现的文本<对话框类型>用来指定对话框中出现的按钮和图标<对话框标题>用来指定对话框的标题。Msgbox()返回的值指明了对话框选择了哪个按钮4.3选择结构一、IF语句
IF语句是最常用的选择结构,它是属于单条件、双分支的选择结构;
IF语句的传统流程图如下:
IF语句的执行过程:所给的条件如果为真,则执行A1块;如果条件为假,则执行A2块。
两种形式:行IF语句和块IF语句1.单行结构条件语句
语法格式:IF<条件>Then<语句组1>[Else<语句组2>]2.块结构条件语句有两种表现形式:一种是单分支,另外一种是双分支(1)单分支语法格式:If<条件>Then<语句组1>EndIf(2)双分支结构语法格式:If<条件>Then<语句块1>Else<语句块2>EndIf二、SelectCase语句
SelectCase语句用来实现多分支条件选择结构;
多条件选择结构的特点:从多个选择条件中选择第一个条件为真的线路作为执行路线。
SelectCase的语法结构形式为:SelectCase<测试表达式>[Case<表达式表1><语句块1>][Case<表达式表2><语句块2>]…[CaseElse<语句块n+1>]EndSelect4.4循环结构循环的基本概念
程序设计中的循环是指在程序中从某处开始有规律的反复执行某一操作块(或程序块)的现象。
被重复执行的操作块(或程序块)称为循环体,循环体的执行与否及次数多少视循环类型与条件而定。
无论何种类型的循环,共同的特点是:必须确保循环体的重复执行能被终止(即非无限循环)。
在VB中的循环结构有:For…nextDo…LoopWhile…Wend一.For…Next语句
For…Next循环语句一般用于循环次数已知的程序中;
语法形式For<循环变量>=<初值>to<终值>[Step步长] [语句块1] [ExitFor] [语句块2]Next[<循环变量>]
说明:①<循环变量>为必要参数,用作循环计数器的数值变量;②<初值>to<终值>都是必要参数。<步长>可以是正数或负数。当步长的值为1时,可以省略。③在循环中的任何位置放置任意个ExitFor语句,随时退出循环(本层)For与Next语句中的循环变量必须是同一变量,Next中的循环变量可以省去。二.Do…Loop循环语句用于控制循环次数未知,或循环的初值和终值不明了的循环。
Do…Loop语句有两种语法形式:①前测型循环结构②后测型循环结构三.循环的嵌套循环嵌套的概念:在一个循环结构中包含另外一个完整的循环结构,就是循环嵌套。要注意以下事项:(1)内循环变量与外循环变量不能同名;(2)外循环必须完全包含内循环,不能交叉;(3)外层循环每执行一次,内层循环就要从头开始执行一轮。例4.13打印输出“九九乘法表”(P105).Fori=1To9Forj=1To9(Forj=1Toi)se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9+1);se;Nextj思考:打印三角程序如何改动?Picture1.PrintNexti四、常用的算法
算法是对某个问题求解过程的描述1.累加、连乘1~100的5或7的倍数的和Sum=0Fori=1To100IfiMod5=0OriMod7=0ThenSum=Sum+iEndIfNextiPrintSum3~10的乘积t=1Fori=3To10t=t*iNextiPrintt2.最小、最大值
在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。
例:随机产生10个100~200之间的数,求最大值。PrivateSubCommand1_Click()Max=100Fori=1To10x=Int(Rnd*101+100)Printx;Ifx>MaxThenMax=xNextiPrintPrint"最大值=";MaxEndSub第五章数组5.1数组的概念一、数组和数组元素◎数组就是一组具有相同类型的有序的数据,其特点:排列有序;个数有限;用一个统一的名字◎数组的命名:命名规则和简单变量的命名规则相同。◎数组的维数:数组中下标的个数为数组的维数,根据维数的不同,数组就分为一维数组、二维数组、三维数组等。◎数组元素:在同一数组中,构成该数组的元素;◎每个数组元素,都可以使用数组名与下标来唯一的确定;5.2静态数组◎数组的形式√静态数组:数组元素的个数固定不变。√动态数组:数组元素的个数在运行时可以改变。静态数组是指在声明时就已经确定了数组元素个数的数组,数组的类型、维数和大小将不得改变。一.静态数组的声明
声明静态数组的语法格式:Dim数组名(下标1[,下标2…])[As类型]说明:①维数:几个下标为几维数组,最多60维;②下标:[下界To]上界省略下界则下界由OptionBase<n>语句控制,默认值为0;
OptionBase语句形式:OptionBase<n>√n只能为0或1;√如果没有使用OptionBase语句,则默认下界为0;√如果使用OptionBase1语句,例如:OptionBase1Dimb(2,1To3,1To4)①每一维大小:上界-下界+1;②数组大小:每一维大小的乘积◎例如Dimb(2,1To3,1To4)等价于Dimb(0to2,1To3,1To4)共有3×3×4个元素◎与数组操作有关的几个函数1.Array函数Array函数可方便地对数组整体赋值,但它只能给声明为Variant的变量或仅由括号括起来的动态数组赋值。赋值后的数组大小由赋值的个数决定。语法格式为:<数组变量名>=Array(<数组元素值>)例如:Dima‘声明一个Variant的变量aa=array(1,2,3,4,5,6,7)b=a(2)2.求数组的上界Ubound()函数、下界Lbound()函数Ubound()函数和Lbound()函数分别用来确定数组某一维的上界和下界值。
使用形式如下:UBound(<数组名>[,<N>])LBound(<数组名>[,<N>])其中:√<数组名>:必选项,表示数组变量的名称;√<N> :可选项,一般是整型常量或变量,指定返回哪一维的上界或下界。1表示第一维,2表示第二维,如此等等。如果省略默认是1二.数组的基本操作1.数组元素的输入(赋初值)(1)赋值语句(2)在运行时通过InputBox函数输入(3)用For循环(元素较多时)(4)Array函数2.数组的输出(可以使用Print方法、文本框、列表框等)【例】输出方阵sc中的下三角元素Dimsc(5,5)AsIntegerFori=0To4Forj=0Toi【Forj=iTo4(输出上三角)】sc(i,j)=i*5+jPrintsc(i,j);"";NextjPrint'换行Nexti1选择排序法基本思想:假设对n个数进行排序,首先从n个数中选出最小的数,然后再从剩余的n-1个数中选出最小的数,依此类推,进行n-1趟选择后,这n个数按照升序排列步骤:①首先从数组a中选出最小的数,与a(1)交换位置;②从a(2)~a(n)中选出最小的数,与a(2)交换位置;③依此类推,直到n个数从小到大排列。④说明:⑤按照上述步骤,若前面(n-1)个数的位置已确定,则剩下的最后一个数的位置也随之确定。所以共进行n-1趟选择,外循环i的值为1to(n-1).⑥第1趟选择选出第1最小数,第2趟选择选出第2最小数…依此类推,第i趟选择选出第i最小数,由于i前面的位置已确定,所以内循环某一i值始终与其后的数比较,因此j的值为(i+1)ton.⑦对于每一趟选择,例如第i趟选择(需选出第i个最小数),采用a(i)与a(i+1)到a(n)中的每个数比较大小,小数始终放在a(i)里。Fori=1Ton-1Forj=i+1TonIfa(i)>a(j)Thent=a(i)a(i)=a(j)a(j)=tEndIfNextjNexti◎例5.3由计算机产生10个0~100之间的随机整数,使用选择法排序,将这些数按照递增的顺序排列(P118)。【解法一】Fori=1To9Forj=i+1To10Ifa(i)>a(j)Thent=a(i)a(i)=a(j)a(j)=tEndIfNextjNexti【解法二】Fori=1To9p=iForj=i+1To10Ifa(j)<a(p)Thenp=jEndIfNextjt=a(i):a(i)=a(p):a(p)=tNexti2、冒泡排序法基本思想(升序):将两两相邻的数进行比较,将较小的调换到前面,则一轮两两比较过后,最大数“沉”在最后面。步骤:①n个数存放在a(n)中,第一趟将每相邻的两个数比较,小的调到前面,经过n-1次两两比较后,最大数“沉底”,放在最后的a(n)中;②第二趟对余下的n-1个数按上述方法比较,经n-2次两相邻比较后,次大的数放在a(n-1)中;依此类推,最终得到升序排列数.◎说明:◎按照上述步骤,若后面(n-1)个数的位置已确定,则剩下的最后一个数的位置也随之确定。所以共进行n-1趟两两比较,外循环i的值为1to(n-1).◎内循环某一i始终与i+1在比较,由于后面的数先沉下来,所以内循环i的值为1to(n-i),始终从第一个数开始比较。Fori=1Ton-1Forj=1Ton-iIfa(j)>a(j+1)Thent=a(j)a(j)=a(j+1)a(j+1)=tEndIfNextjNexti将例5.3使用冒泡法排序,将这些数按照递增的顺序排列(P119)。Fori=1To9Forj=1To10-iIfa(j)>a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=tEndIfNextjNexti5.3动态数组
动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小,但不能改变数组的类型。
动态数组的声明(1)声明一个空维数组Dim数组名()As数据类型(2)在过程中用ReDim语句分配实际大小 ReDim数组名(下标1[,下标2…])例:PrivateSubForm_Load()DimsArray()AsSingle…ReDimsArray(4,8) …EndSub5.4控件数组
控件数组是由一组相同类型的控件组成。它们共用一个控件名,共享同样的事件过程,建立时系统给每个元素赋一个唯一的索引号(Index),通过返回的索引值(或下标值)区分控件数组中的各个元素。
控件数组的建立:1.在设计时建立控件数组:首先,在窗体上添加一个新的控件作为控件数组中的第1个控件,设置控件的Name属性值,为控件命名;第二步,使用下面方法之一创建控件数组:√复制现有的控件√为控件起相同的名字√指定第一个控件的Index属性为02.运行时添加控件数组成员建立的步骤如下:√在窗体上创建某控件,设置该控件的Index值为0,表示该控件为数组,这是建立的第一个元素√在编程时通过Load方法添加其余的若干个元素,也可以通过Unload方法删除某个添加的元素。格式为:Load控件数组名(Index)Unload控件数组名(Index)其中,Index为控件数组元素的下标。第6章过程6.1过程概述VB中的三种过程(1)事件过程对象事件在用户或系统发出动作时被触发,响应事件时执行的过程为事件过程,由VB创建,用户不能增加或删除。(2)通用过程必须由其他过程显式调用的代码块,由用户自己创建。子过程:不返回值函数过程:返回一个值(3)属性过程可以用来返回和设置属性的6.2.1事件过程当用户对某一个对象发生一个动作时,Windows会通知VB产生了一个事件,VB便自动用相应事件的名字调用该事件过程。所以事件过程的名字在对象和代码之间建立了联系。事件过程是依附于窗体和控件上的。1.控件事件过程的语法格式为:PrivateSub<控件名>_<事件名>([形参表])[<语句组>]EndSub2.窗体事件过程的语法格式为:PrivateSubForm_<事件名>([形参表])[<语句组>]EndSub6.2.2子过程◎当有几个不同的事件过程需要执行相同的操作时,为了简化程序,把这些操作写入一个分离开的子过程(通用过程)中,并由事件过程来调用它。◎子过程的调用 Call<子过程名>([<实参表>])或 <子过程名>[实参表]6.3函数过程
函数过程的调用函数过程的调用同标准函数调用,参与表达式运算。①直接调用函数过程名([参数列表])例如:printmyreplace(“a”,”d”,”4”)②用call语句调用,和子过程调用相同,但是vb将放弃返回值callmyreplace(“a”,”g”,”e”)或myreplace“a”,”g”,”e”③无参函数的调用函数可以没有参数,调用无参函数得到一个固定的值。例如:Functionaa=“abcd”EndFunctionPrinta例利用函数过程编写计算圆面积的程序
子过程与函数过程区别(1)函数过程名有值,有类型,在函数体内至少赋值一次;子过程名无值,无类型,在子过程体内不能对子过程名赋值;(2)调用时,子过程调用是一句独立的语句。函数过程不能作为单独的语句加以调用,必须参与表达式运算。
子过程和函数过程最根本的区别是:子过程的过程名不能返回值,而函数过程能够通过过程名返回值。6.5参数传递1、形参和实参形参是在过程定义中出现的变量名,也就是过程中的参数列表;实参是调用过程时传递给过程的常量、变量、表达式或数组,也就是调用过程时的参数列表。2、按值传递与按地址传递①传值:形参得到的是实参的值,形参值的改变不会影响实参的值。数据的传递是单向的!如何实现?调用语句中的实参是常量或表达式,如果实参是变量,则在定义过程的形参之前选用ByVal关键字,②传址:形参得到的是实参的地址,形参和实参使用相同的内存单元,当形参的值改变时,同时也改变实参的值。数据的传递是双向的!如何实现?调用语句中的实参为变量或数组时,定义过程的形参之前选用ByRef关键字6.2.2子过程例写出下列程序的执行结果。PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=12:y=20CallValue(x,y)Printx,yEndSubPrivateSubValue(ByValmAsInteger,ByValnAsInteger)m=m*2:n=n-5Printm,nEndSub第7章用户界面高级编程7.1滚动条控件◎滚动条(ScrollBar):①水平滚动条(HSscrollBars)②垂直滚动条(VSscrollBars)③滚动条常用的属性:√Name属性,Left、Top、Width、Height属性,Enabled、Visible属性,Value、Max、Min、LargeChange、SmallChange属性;√Value:用来返回或设置滚动条的当前位置,其返回值始终介于Max和Min属性值之间,包括这两个值;√Max、Min:用来返回或设置滚动条所能代表的最大值和最小值√LargeChange:用来返回或设置单击滑块和滚动箭头之间的区域时,滚动条控件Value属性值的改变量;√SmallChange:用来返回或设置单击滚动条箭头时,滚动条控件Value属性值的改变量⑴滚动条的常用事件:①Change事件:在程序运行过程中,每当滚动条的Value属性值发生变化时,就会触发Change事件。引起Value属性值发生变化的原因有:拖动滚动条的滚动框部分、单击滚动箭头、单击滚动条两端的空白区域、在程序中通过代码改变Value属性值。②Scroll事件:在拖动滚动条的滚动框的过程中,触发Scroll事件。与Scroll事件不同,Change事件是在拖动滚动条的滚动框的动作结束后被触发。7.2框架控件◎框架(Frame)控件是一个左上角有标题文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务连续性管理体系构建与优化指南
- 边缘计算设备的多模态数据融合威胁检测与防御-洞察及研究
- 华为公关经费管理办法
- 农业项目考核管理办法
- 辣椒种植新技术推广方案指南
- 北京摆摊行为管理办法
- 公共区域职场管理办法
- 酒店员工奖励与处罚制度
- 江苏技能竞赛管理办法
- 互联网企业敏捷组织模式创新研究
- 维修安全生产管理制度
- 《小学生心理健康教育》试题及答案
- 2024年全球及中国神经康复外骨骼机器人行业头部企业市场占有率及排名调研报告
- 某镇“十五五”发展规划编制思路
- 江苏省连云港市2024-2025学年高二年级上册期末调研考试物理试题(选修)解析版
- 免疫初中试题及答案
- 宏观经济学 试题及答案
- GB/T 23454-2025石材台面板
- 科研单位科研诚信自查报告及整改措施
- 加工碎石合作协议书
- 地板拆除合同协议书
评论
0/150
提交评论