《VB总复习要点》由会员分享,可在线阅读,更多相关《VB总复习要点(54页珍藏版)》请在金锄头文库上搜索。
1、VB程序设计复习要点程序设计复习要点计算机教研室计算机教研室第一章第一章 VB VB概述概述属性属性(Property)(Property):指对象的性质、特征。指对象的性质、特征。方法方法(Method)(Method):指对象能执行的动作。指对象能执行的动作。事件事件(Event)(Event):指能够被对象识别的动作。指能够被对象识别的动作。l程序代码中使用如下格式的语句来改变属性值:程序代码中使用如下格式的语句来改变属性值: 对象名对象名. .属性属性值属性属性值l通过如下格式为变量赋值:通过如下格式为变量赋值: 变量对象名变量对象名. .属性属性l使用方法的格式:控件名使用方法的格式
2、:控件名.方法方法lVB采用事件驱动的编程方式,事件过程的一般格式:采用事件驱动的编程方式,事件过程的一般格式: Private Sub 控件名控件名_事件名(事件名(参数表参数表) (程序代码)(程序代码) End Sub 第三章第三章 创建用户界面创建用户界面窗体类的相关属性、方法和事件:窗体类的相关属性、方法和事件: 属性属性 方法方法 事件事件NameCaptionBackcolor ForecolorEnabledVisibleFontLeft TopWidth HeightShow HidePrintClsLoadUnloadEndClickInitializeLoadActiva
3、teGotFocusUnload第三章第三章 创建用户界面创建用户界面控件类名控件类名属性属性方法方法事件事件文本框文本框TextBoxNameTextPasswordCharMultiLineScrollbarsAlignmentSetFocusChangeKeyPress标签标签LableCaptionAutoSize命令按钮命令按钮Command ButtonCaptionEnabledSetFocusClick第三章第三章 创建用户界面创建用户界面控件类名控件类名属性属性方法方法事件事件列表框列表框ListBoxListListCountListIndexTextAddItemClea
4、rRemoveItemClick组合框组合框ComboBoxStyleTextAddItemClearRemoveItemClick图片框控件图片框控件PictureBoxPictureAutosizePrintClsClick第三章第三章 创建用户界面创建用户界面控件类名控件类名属性属性方法方法事件事件选项按钮选项按钮OptionButton复选框复选框CheckBoxCaptionValueClick框架框架FrameCaption水平滚动条水平滚动条Hscrollbar垂直滚动条垂直滚动条VscrollbarValueMax和和MinLargeChangeSmallChangeChang
5、eScroll计时器计时器TimerIntervalEnabledTimer第四章第四章 VB VB语言基础语言基础VBVB应用程序应用程序窗体模块窗体模块标准模块标准模块通用声明通用声明通用过程通用过程事件过程事件过程通用声明通用声明通用过程通用过程类模块类模块第四章第四章 VB VB语言基础语言基础l语句:语句:VBVB程序的最基本成分程序的最基本成分一个语句可通过一个语句可通过续行续行符号符号“ _”“ _”(一个空格加一(一个空格加一个下划线)分成多行写;个下划线)分成多行写; 多个语句也可通过多个语句也可通过分行分行符号符号“:”(冒号)写(冒号)写在一行上。在一行上。l注释语句:注
6、释语句: 格式一格式一 :Rem Rem 格式二格式二 : 第四章第四章 VB VB语言基础语言基础整型数整型数浮点型数浮点型数整型整型长整型长整型单精度数单精度数双精度数双精度数l程序运行中取值始终保持不变的数据称为程序运行中取值始终保持不变的数据称为“常量常量”l数值常量:数值常量:l八进制数(数字前加八进制数(数字前加&O) ; 十六进制(数字前加十六进制(数字前加&H)lE或或D,其中以,其中以E分隔的数为单精分隔的数为单精度数,以度数,以D分隔的数为双精度数分隔的数为双精度数l字符常量:用引号括起来的一串字符字符常量:用引号括起来的一串字符l逻辑型常量:只有逻辑型常量:只有True(
7、真)和(真)和False(假)两个取值(假)两个取值l日期型常量:用日期型常量:用#作为界定符,作为界定符,mm/dd/yy表示日期,表示日期, hh:mm:ss表示时间表示时间l符号常量:以符号形式表示的常量符号常量:以符号形式表示的常量 Public|Private Const As Type=第四章第四章 VB VB语言基础语言基础l以符号形式出现在程序中,且取值可以发生变化的以符号形式出现在程序中,且取值可以发生变化的数据称为数据称为“变量变量”,变量名的命名规则如下:,变量名的命名规则如下:l变量名只能是字母、数字和下划线组成变量名只能是字母、数字和下划线组成l变量名必须以字母开头,
8、最后一个字符可以是类型说明符变量名必须以字母开头,最后一个字符可以是类型说明符l字符串内不得包含点号和用于类型说明的符号字符串内不得包含点号和用于类型说明的符号、&、!、!、$,也不能有空格,也不能有空格l不超过不超过255255个字符个字符l在作用域内必须唯一在作用域内必须唯一l不得使用系统保留字(如不得使用系统保留字(如End Private SubEnd Private Sub)。)。l变量名不区分大小写。变量名不区分大小写。第四章第四章 VB VB语言基础语言基础l变量的说明语句变量的说明语句v局部变量局部变量( (包括静态变量)包括静态变量)在过程中声明在过程中声明 Static|D
9、imStatic|Dim As As v窗体窗体/ /模块级变量模块级变量在模块的在模块的“通用通用”部分声明部分声明 Private|DimPrivate|Dim As As v全局变量全局变量在模块的在模块的“通用通用”部分声明部分声明 Public Public As As 第四章第四章 VB VB语言基础语言基础变量初始值变量初始值:当对一个变量进行说明后,系统会自动:当对一个变量进行说明后,系统会自动为其赋一个默认的初始值。为其赋一个默认的初始值。S数值数值型数据的初值为型数据的初值为0 0;S字符型数据的初值为空串字符型数据的初值为空串“”“”;S逻辑型数据的初值为逻辑型数据的初值
10、为FalseFalse;S日期型数据的初值为日期型数据的初值为1899-12-301899-12-30,0 0:0000:0000一条语句声明多个变量:一条语句声明多个变量:必须对每个变量都逐个声明必须对每个变量都逐个声明例:例: Dim x, y as IntegerDim x, y as Integer第四章第四章 VB VB语言基础语言基础l隐式说明隐式说明类型说明符类型说明符(P47(P47,表,表3-4)3-4)例:例:k k% %=1 =1 :CountryCountry$ $=“China”=“China”定长字符串的说明:定长字符串的说明:Private|Dim|Static|
11、PublicPrivate|Dim|Static|Public As String As String * * 例:例:Dim String1 As StringDim String1 As String* *1010常量、定长字符串、数组不能在窗体的通用声明中常量、定长字符串、数组不能在窗体的通用声明中用用Public进行声明!进行声明!第四章第四章 VB VB语言基础语言基础lOption ExplicitOption Explicit语句语句l功能:系统自动检查模块中所有未加功能:系统自动检查模块中所有未加显式说明显式说明的变的变量,一旦发现便产生出错信息提示使用者改正错误。量,一旦发现
12、便产生出错信息提示使用者改正错误。该语句应在模块的通用说明部分输入该语句应在模块的通用说明部分输入l强制显式说明的好处:强制显式说明的好处:S一个变量如果不被定义,会被当作一个变量如果不被定义,会被当作变体类型变体类型来进行来进行处理,从而降低程序的效率;处理,从而降低程序的效率;S变量定义之后,若事后使用了错误的变量名,则系变量定义之后,若事后使用了错误的变量名,则系统检测到错误的变量名时会发现其没有被声明,便统检测到错误的变量名时会发现其没有被声明,便会提示用户输入错误。会提示用户输入错误。第四章第四章 VB VB语言基础语言基础l算术运算符算术运算符E加(加(+ +)、减()、减(- -
13、)、乘()、乘(* *)、除()、除(/ /)、整除()、整除( )、)、取余(取余(ModMod)、乘方()、乘方( )、字符串连接()、字符串连接(& &)E优先级优先级: - -(负号)(负号) * *和和/ / Mod Mod + +和和 - - & &l关系运算符:、关系运算符:、 、 =、=、l逻辑运算符:非(逻辑运算符:非(NotNot)、与()、与(AndAnd)、或)、或(OrOr)、异或()、异或(XorXor)l优先级:优先级:Not Not And And Or Or XorXorl运算规则:运算规则:先先算术运算算术运算,再,再关系运算关系运算,最后,最后逻辑运算逻辑
14、运算()可用来改变运算的优先顺序()可用来改变运算的优先顺序不同数据类型的数据进行运算:结果为不同数据类型的数据进行运算:结果为存储长度较存储长度较长长的数据类型,但的数据类型,但除法运算的结果都为双精度型除法运算的结果都为双精度型要注意表达式可能溢出的情况要注意表达式可能溢出的情况第四章第四章 VB VB语言基础语言基础l 赋值语句:变量名赋值语句:变量名/ /属性名属性名 = = 表达式表达式 不同类型数据的赋值将进行转换,无法转换将出错。不同类型数据的赋值将进行转换,无法转换将出错。v公共函数:公共函数:VBVB系统已预先定义好的完成某特定功能的系统已预先定义好的完成某特定功能的程序段,
15、公共函数可供编程者直接调用使用。程序段,公共函数可供编程者直接调用使用。l算术函数(算术函数(P52 表表4-6)sqr(x) exp(x) rnd(x) l字符函数(字符函数(P53 表表4-7)len(x) left(x,n) right(x,n) mid(x,n1,n2) ucase(x) instr(n,x,y)l转换函数(转换函数(P54 表表4-8)fix(x) int(x) cint(x)l日期与时间函数(日期与时间函数(P55 表表4-9)date time now第四章第四章 VB VB语言基础语言基础第四章第四章 VB VB语言基础语言基础格式化函数格式化函数 format
16、 $ ( format $ (,fmt$) ,fmt$) 格式控制字符格式控制字符 : 数位控制符数位控制符: # #、0 0 标点控制符标点控制符: . . 、 , 指数输出控制符指数输出控制符: E+ E+、E-E- 符号控制符符号控制符: % %、$ $、- -、+ +例:例: X = 123456.78Print Format(x,”00000000.0000”)Print Format(x,”#,#,#.#”)l00123456.7800l123,456.8lInputBox函数函数 v = InputBox (,)lMsgBox函数函数 MsgBox (Prompt ,Button
17、 ,Title)1. 等同为一个方法使用等同为一个方法使用,不加括号;不加括号;例:例: MsgBox 非法数据!非法数据!, , 警告警告 2.需要用户的响应结果,将函数返回结果需要用户的响应结果,将函数返回结果(P58 表表411)赋给一)赋给一个变量个变量例:例: Response=MsgBox(真的删除该项吗?真的删除该项吗?, 4+48, 提示提示信息信息)3. 使用使用Print 方法方法例例: Print MsgBox(非法数据!非法数据!, , 警告警告)第四章第四章 VB VB语言基础语言基础第五章第五章 算法基础及算法基础及VBVB的基本语句的基本语句l任何算法都可由以下三
18、种基本结构实现:任何算法都可由以下三种基本结构实现: 顺序结构、分支结构、循环结构顺序结构、分支结构、循环结构语句语句1语句语句2条件满足条件满足?语句块语句块1语句块语句块2TrueFalse语句块语句块TrueFalse条件条件第五章第五章 算法基础及算法基础及VBVB的基本语句的基本语句分支结构分支结构:If 条件成立条件成立 Then A组语句组语句Else B组语句组语句End If注意:注意:1.语句体和语句体和Then或或Else不能够写在同一行不能够写在同一行2. 当分支结构中当分支结构中A组或者组或者B组语句仅有一条时,可省略组语句仅有一条时,可省略“End If”,但必须将
19、所有语句写在同一行:,但必须将所有语句写在同一行: If 条件成立条件成立 Then Else 3. 分支嵌套注意缩进分支嵌套注意缩进第五章第五章 算法基础及算法基础及VBVB的基本语句的基本语句多分支结构多分支结构: If 条件条件1 Then 语句块语句块1 ElseIf 条件条件2 Then 语句块语句块2 ElseIf 条件条件n Then 语句块语句块n Else 语句块语句块n+1 End IfSelect Case 测试表达式测试表达式 Case 测试项测试项1 语句块语句块1 Case 测试项测试项2 语句块语句块2 Case Else 语句块语句块n1End SelectSe
20、lect Case 结构注意点结构注意点:(1 1)测试表达式可以是算术表达式或字符表达式;)测试表达式可以是算术表达式或字符表达式;(2 2)测试条件有四种形式:)测试条件有四种形式: 具体取值,如具体取值,如2 2,3 3,“A A”等等 闭区间闭区间,如,如3 To 783 To 78,“B B” ” ToTo“H H”等等 必须把比较小的值写在前面,把比较大的值写在后面,字符常必须把比较小的值写在前面,把比较大的值写在后面,字符常量的范围必须按字母顺序写出量的范围必须按字母顺序写出 ISIS关系运算表达式,如关系运算表达式,如Is20Is20,Is“P”Is“P”等等 只能是简单的条件
21、,不能用逻辑运算符把两个或多个简单条件只能是简单的条件,不能用逻辑运算符把两个或多个简单条件组合在一起组合在一起 以上三种形式的组合,以逗号间隔,条件组合是或的关以上三种形式的组合,以逗号间隔,条件组合是或的关系,不能表示与的关系系,不能表示与的关系 (3 3)Case ElseCase Else语句部分可以省略;语句部分可以省略;(4 4)以)以End SelectEnd Select语句结束;语句结束;(5 5)该结构是一个单出口的结构,即只会执行一个语句块,若该结构是一个单出口的结构,即只会执行一个语句块,若 条件中有两个成立,则按语句的顺序执行前面的语句块。条件中有两个成立,则按语句的
22、顺序执行前面的语句块。第五章第五章 算法基础及算法基础及VBVB的基本语句的基本语句条件?条件?循环体循环体TrueFalse条件?条件?循环体循环体FalseTrue Do While LoopDo Loop While “当当(while)型型”循环循环条件成立时,执行循环条件成立时,执行循环体体:第五章第五章 算法基础及算法基础及VBVB的基本语句的基本语句 条件?条件?循环体循环体FalseTrue条件?条件?循环体循环体TrueFalse“直到直到(Until)型型”循环循环条件成立时,结束循环条件成立时,结束循环: Do Until LoopDo Loop Until 第五章第五章
23、 算法基础及算法基础及VBVB的基本语句的基本语句For-Next循环循环:For = To Step 循环体循环体Next 注意:注意:计数变量应为计数变量应为整型或单精度型整型或单精度型,初值、终值和步长值为相应类型,初值、终值和步长值为相应类型的表达式;的表达式;步长值可以为正,也可为负,省略时步长值可以为正,也可为负,省略时默认步长值为默认步长值为1 1;语句语句Exit For可以无条件退出计数循环可以无条件退出计数循环语句语句Exit Do可以无条件退出可以无条件退出Do-Loop循环循环第六章第六章 数组数组l数组:一组具有数组:一组具有相同类型相同类型的有序变量的集合的有序变量
24、的集合l数组必须数组必须先定义后使用先定义后使用。数组的定义。数组的定义: : Public|Private|Static|Dim 数组名数组名( 下界下界1 To 上界上界1 , ) As 类型类型说明:说明:1. TO 决定了每一维的大小,下界指下标的最小值,决定了每一维的大小,下界指下标的最小值,上界指下标的最大值,默认下界是从上界指下标的最大值,默认下界是从0开始,若想使下标从开始,若想使下标从1开开始,可在模块的始,可在模块的“通用通用”部分中使用语句部分中使用语句“Option Base 1”2.上、下界必须是上、下界必须是常量常量或或常量表达式常量表达式,不得是变量不得是变量,上
25、、下界应上、下界应是整数,若不是,则自动四舍五入是整数,若不是,则自动四舍五入第六章第六章 数组数组v返回上、下界函数:返回上、下界函数:UBoundUBound( (数组名数组名,dd):返回数组某维的维上界值):返回数组某维的维上界值LBoundLBound( (数组名数组名,dd):返回数组某维的维下界值):返回数组某维的维下界值vErase:初始化固定大小数组的元素(根据数组类型给元:初始化固定大小数组的元素(根据数组类型给元素赋初值),或释放动态数组的存储空间。素赋初值),或释放动态数组的存储空间。vFor Each Element In For Each Element In 语句
26、组语句组Exit ForExit For语句组语句组Next ElementNext Element说明:说明:ElementElement必须是个必须是个VariantVariant变量,它逐个代表数组中变量,它逐个代表数组中的每一个元素。的每一个元素。第六章第六章 数组数组v数组元素的赋值数组元素的赋值v通过循环逐一给数组元素赋值(用通过循环逐一给数组元素赋值(用InputBox函数)函数)v变体变量名变体变量名=Array(n1,n2,.)v数组元素的输出数组元素的输出v按矩阵格式输出数组到图片框和文本框按矩阵格式输出数组到图片框和文本框v数组元素的引用数组元素的引用v通过数组名和下标来
27、引用,但元素的下标一定要通过数组名和下标来引用,但元素的下标一定要在定义的上下界范围之内,否则便会报出在定义的上下界范围之内,否则便会报出“数组数组越界越界” 的错误。的错误。第六章第六章 数组数组l动态数组动态数组lDim 数组名数组名() as 类型类型lReDim Preserve (维界定义维界定义)l控件数组:由一组具有相同名称的同类型控件控件数组:由一组具有相同名称的同类型控件组成,每个控件共享同一事件过程组成,每个控件共享同一事件过程l控件数组中的每个控件都由其下标属性控件数组中的每个控件都由其下标属性Index标识标识l控件数组的第一个元素下标为控件数组的第一个元素下标为0第六
28、章第六章 数组数组lLoad object(index) lUnload object(index)l用于添加和删除控件数组中的控件,但添加和删除用于添加和删除控件数组中的控件,但添加和删除控件只能针对现有控件数组操作控件只能针对现有控件数组操作lindexindex可以跳序;可以跳序;lUnloadUnload语句只能删除由语句只能删除由LoadLoad语句添加的控件;语句添加的控件;l由由LoadLoad语句添加的控件,其语句添加的控件,其Visible Visible 属性为属性为False,False,所以要在程序中将刚装载控件的所以要在程序中将刚装载控件的VisibleVisible
29、属性设置属性设置为为TrueTrue,才能在窗体上可见;另外,新控件的大小、,才能在窗体上可见;另外,新控件的大小、位置与原控件一样,隐藏在其背后,所以还要重新位置与原控件一样,隐藏在其背后,所以还要重新设置它的设置它的TopTop、LeftLeft等属性;等属性;第六章第六章 数组数组l排序排序l选择法排序选择法排序 P.106l直接法排序直接法排序 P.107l冒泡法排序冒泡法排序 实验指导书实验指导书 P.65l直接插入排序直接插入排序 P.164l查找查找l顺序法查找顺序法查找 P.108l二分法查找二分法查找 P.109第六章第六章 数组数组l选择法排序:选择法排序:For i=1
30、to N-1 For j= i+1 to N If A(i) A(j) Then TEMP=A(i) A(i)=A(j) A(j)=TEMP End If Next jNext i第六章第六章 数组数组l冒泡排序冒泡排序For i=1 to n-1 For j=1 to n-i If a(j) a(j+1) Then TEMP=A(j) A(j)=A(j+1) A(j+1)=TEMP End If Next jNext i 将待排序的将待排序的N N个数据存放在数组个数据存放在数组SORTSORT中,首先将中,首先将SORTSORT(1 1)认)认为已排序子序列,然后依次将为已排序子序列,然后
31、依次将SORTSORT(2 2)、)、 SORT SORT(3 3)、)、 SORTSORT(N N)插入到已排好序的子数列中。每插入一个元素都依次)插入到已排好序的子数列中。每插入一个元素都依次进行以下三个操作。进行以下三个操作。 1. 1.先将待插元素先将待插元素SORTSORT(I I)放入变量)放入变量TempTemp中;中; 2. 2.寻找插入位置:将寻找插入位置:将temptemp依次与依次与SORTSORT(I-1I-1)、)、 SORT SORT(I-2I-2)、)、 进行比较,一旦进行比较,一旦SORTSORT(k k) temp temp,则停止比较,插入位置即,则停止比较
32、,插入位置即是是SORTSORT(K K)之后;)之后; 3. 3.空出位置,将元素插入:将空出位置,将元素插入:将SORTSORT(k+1k+1) 至至SORTSORT(I-1I-1)的)的元素依次后移一位,再将变量元素依次后移一位,再将变量temptemp的值放入的值放入SORTSORT(K+1K+1)中;)中;注注意:为避免元素值丢失,必须先将意:为避免元素值丢失,必须先将SORTSORT(I-1I-1)赋给)赋给SORTSORT(I I),), SORTSORT(I-2I-2)赋给)赋给 SORT SORT(I-1I-1),),直至,直至 SORT SORT(K+1K+1)赋给)赋给
33、SORTSORT(K +2 K +2 ). . 重复上述操作,将每个元素都插入到指定位置中。重复上述操作,将每个元素都插入到指定位置中。 例例7-147-14:直接插入排序法:直接插入排序法从小到大的顺序。从小到大的顺序。361543615461656546 3Temp2265432排序前排序前排序后排序后直接排序示例直接排序示例Private Sub insertion(sort( ) As Integer) Dim k As Integer, i As Integer, temp As Integer,Ub As Integer Ub = UBound(sort) For i = 2 To
34、 Ub temp = sort (i) k = i - 1 Do While temp sort(k) sort(k + 1) = sort(k) k = k - 1 If k = 0 Then Exit Do Loop sort (k + 1) = temp Next iEnd Sub取待排序的元素取待排序的元素一边比较一边比较一边后移一边后移temp比已排序的所比已排序的所有元素都小则结束有元素都小则结束寻找第一个比寻找第一个比temp小的元素的位置小的元素的位置 为为temp的插入位置的插入位置K指向前一个元素指向前一个元素分析分析:二分查找是一种快捷有效的查找方法,使用二分查找:二分查
35、找是一种快捷有效的查找方法,使用二分查找的前提是数据序列已排好序。的前提是数据序列已排好序。 假设有假设有n个数已经按照从小到大的顺序排列,并存放在数个数已经按照从小到大的顺序排列,并存放在数组组A中,设中,设Left为查找区间的下界为查找区间的下界下标,初值为下标,初值为1;Right为为查找区间的上界,初值为查找区间的上界,初值为n;设需要查找的数为;设需要查找的数为x;二分查找的;二分查找的算法如下:算法如下:(1)求出查找区间的中间位置)求出查找区间的中间位置Mid=Int(Left+Right)/2)(2)若)若A(Mid)=x,则找到,结束比较,则找到,结束比较(3)若)若A(Mi
36、d)x,则表明,则表明x在在A(Left)到)到A(Mid-1)区)区间内,查找区间缩小一半,设置间内,查找区间缩小一半,设置Right=Mid-1(5)重复执行以上操作)重复执行以上操作(6)结束循环的条件有两个:已经找到;)结束循环的条件有两个:已经找到;找不到找不到-LeftRight 二分查找二分查找341111059678x=8LeftRightMidLeftRightMidRightLeftMid231111049678x=5LeftRightMidMidRightLeftMidLeftLeftMidLeftMid Left = LBound(a) Right = UBound(a
37、) x = InputBox(请输入要查找的数据请输入要查找的数据) Do While Left = Right Mid = Int(Left + Right) / 2) If a(Mid) = x Then Exit Do ElseIf a(Mid) x Then Left = Mid + 1 ElseRight = Mid - 1 End If Loop If Left = Right ThenPrint 要查找的要查找的; x; 是是A(; Mid; ) ElsePrint 没找到!没找到!; x End If二分查找二分查找第七章第七章 过程过程事件过程事件过程Sub过程过程通用过程通
38、用过程子程序过程子程序过程Sub函数过程函数过程Function窗体事件过程窗体事件过程 :Initialize Load Activate Gotfocus第七章第七章 过程过程l窗体事件过程的一般形式如下:窗体事件过程的一般形式如下:Private Sub Form_事件名(事件名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块End Sub窗体的事件过程名窗体的事件过程名中不使用其具体名中不使用其具体名称,而固定用称,而固定用FormForm窗体事件固定为窗体事件固定为“Private”“Private”,说明它是模块级的,说明它是模块级的第七章第七章 过程过程l
39、控件事件过程的一般形式如下:控件事件过程的一般形式如下:Private Sub 控件名控件名_事件名(事件名(参数列表参数列表) 局部变量和常数声明局部变量和常数声明 语句块语句块End Sub控件的事件过程名中必控件的事件过程名中必须使用其具体名称须使用其具体名称控件事件固定有控件事件固定有“Private”“Private”关键字,说明它是模块级的关键字,说明它是模块级的第七章第七章 过程过程l通用通用sub过程过程Private|Public Static Sub () End Subl缺省作用域声明时,系统默认为缺省作用域声明时,系统默认为PublicPublic;l在一个窗体模块中调
40、用另一窗体模块的公有过程时,需以在一个窗体模块中调用另一窗体模块的公有过程时,需以“窗体名窗体名. .公有过程名公有过程名”的形式调用;的形式调用;lExit SubExit Sub可以提前退出过程调用可以提前退出过程调用l过程不能嵌套定义过程不能嵌套定义第七章第七章 过程过程lFunctionFunction过程的特点是返回一个值,过程的特点是返回一个值,FunctionFunction过程的过程的形式如下:形式如下: Private|Public Function Private|Public Function (参数列表参数列表) As ) As End Function End Fun
41、ctionl函数体中一定要有对函数名赋值的语句函数体中一定要有对函数名赋值的语句 函数名函数名= =表达式表达式l函数体内可有函数体内可有Exit FunctionExit Function语句语句无条件退出函无条件退出函数过程数过程第七章第七章 过程过程lSubSub过程的调用过程的调用Call Call ( (实参表实参表) )过程名过程名 实参实参11,实参,实参2 2,l调用调用FunctionFunction过程的一般形式如下:过程的一般形式如下:var = var = ( 实在参数表实在参数表 )Call Call ( 实在参数表实在参数表 ) 实在参数表实在参数表 第七章第七章
42、过程过程l形参:指过程定义时出现过程或函数名后括号中的形参:指过程定义时出现过程或函数名后括号中的参数参数l形参为形参为ByVal,指明参数传递方式是传值;,指明参数传递方式是传值;l形参为形参为ByRef,指明参数传递方式是传地址,指明参数传递方式是传地址.l实参:指调用过程函数时,出现在过程的函数名后实参:指调用过程函数时,出现在过程的函数名后括号中的参数括号中的参数l在调用一个有参数的过程时,首先进行在调用一个有参数的过程时,首先进行“形实结合形实结合”,实参按,实参按“位置位置”向形参传值或传地址向形参传值或传地址;l实在参数和形式参数,要求实在参数和形式参数,要求个数个数相同,相同,
43、位置位置对应,对应,类型类型一致,否则会出错;一致,否则会出错;第七章第七章 过程过程l若调用过程时实参为若调用过程时实参为常量或表达式常量或表达式,则无论形,则无论形参定义的是按值传递还是按地址传递,系统都参定义的是按值传递还是按地址传递,系统都是按是按传值方式传值方式传递传递l调用函数或过程时,将单个变量转换成表达式调用函数或过程时,将单个变量转换成表达式的方法:将变量放在一对括号中。的方法:将变量放在一对括号中。第七章第七章 过程过程l数组作为形式参数,声明数组的格式为:数组作为形式参数,声明数组的格式为: ()() As l数组参数只能数组参数只能按地址传递按地址传递,即不能用,即不能
44、用ByVal来来说明数组参数说明数组参数l定义数组形参时不能说明数组的维数和下标变定义数组形参时不能说明数组的维数和下标变化范围;化范围;l调用过程时,对应的实参也必须是数组,但只调用过程时,对应的实参也必须是数组,但只需要数组名,无须后跟括号,且数据类型也要需要数组名,无须后跟括号,且数据类型也要一致;一致;第七章第七章 过程过程l递归过程:在过程中通过调用自身来完成某一递归过程:在过程中通过调用自身来完成某一特定任务的过程特定任务的过程l递归过程的执行过程:逐层调用,逐层返回递归过程的执行过程:逐层调用,逐层返回第七章第七章 过程过程l变量的作用域变量的作用域作用域作用域关键字关键字声明位
45、置声明位置全局变量全局变量Public在模块的通用部分在模块的通用部分模块级变量模块级变量Private和和Dim在模块的通用部分在模块的通用部分局部局部|过程级过程级变量变量Dim在过程中在过程中静态变量静态变量Static在过程中在过程中第八章第八章 文件文件l三种文件类型三种文件类型l顺序文件的操作顺序文件的操作l打开打开 Openl写操作写操作 Print、Writel读操作读操作 InputlEOF函数函数l关闭关闭 Close第九章第九章 调试调试l 三种错误类型三种错误类型l 设置自动语法检查的方法设置自动语法检查的方法l 各调试按钮的功能各调试按钮的功能l 三种调试窗口的使用三种调试窗口的使用l 中断状态的进入与退出中断状态的进入与退出l 断点的设置及单步调试断点的设置及单步调试常考算法:常考算法:l字符串处理字符串处理l穷举穷举l排序排序l查找查找l素数素数l最大公约数最大公约数l进制转换进制转换l递归递归