VB语言基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB语言根本之五兆芳芳创作
一、数据类型
1、数值型:取值规模:
Byte(字节型)━占1字节;0~255无符号
Integer(整型)━占2字节;32768~32767
long(长整型)━占4字节;2147483648~2147483647
single(单精度浮点)━占4字节;略
Double(双精度浮点)━占4字节;略
Currency(货泉型)━占8字节小数点左15位,右4位
(精确定点数据类型)
2、逻辑型:
Boolean(布尔型)━占2字节;true或false
3、字符串型:
String¡ª¡ª定长型占字符串长度,变长型再加10
4、日期型:
Date(日期型)━占8字节10011~99991231
5、对象型:
Object━占4字节;任何Object引用
6、变体型:
Variant━变体型数字占16字节,变体型字符占22字节+字符串长
注:此类型还包含三种特定值:
Empty;Null;Error;
•7、用户定义的数据类型:
•用户可以利用Type语句定义自己的数据类型.格局如下•Type 数据类型名
•数据类型元素名As 类型名
•……
• End Type
•用Type可定义类似于C语言中的结构体类型.例如:
•Type Date_Rec
• RYear As Integer
• RMonth As String*3
• RDay As Integer
• End Type
•注:记实类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明.
•数据类型转换函数:
•函数名及书写格局转换结果
•CBool(表达式)布尔型
•CCur(表达式)货泉型
•CByte(表达式)字节型
•CDate(表达式)日期型
•CDbl(表达式)双精度
•CSng(表达式)单精度
•CInt(表达式)整型
•CLng(表达式)长整型
•CStr(表达式)字符串
•Cvar(表达式)变体型
•二.变量
•1.变量名V中变量的命名遵从标识符命名原则:必须以字母开头;变量中间不克不及有空格;不克不及使用VB关头字;
•2.变量的声明VB允许使用不声明的变量,即一个变量未经声明就可以在程序中使用.这种变量使用方法称为隐含变量声明.(使用隐含变量时,VB会自动创建变量,并付与它变体类型.在为其指定值之前,其值为Empty,当为它赋值后,会采取所赋值的类型作为自己的类型.)
•显式声明:
•①用类型说明符:将类型说明符加在变量名的尾部;
•②定义变量时指定其类型:
•格局:Declare 变量名As 类型名
•其中的Declare 可以是Dim ,Static, Redim, Public中之一
•③用Def type语句:Def type 字母规模
•这里的Type是类型标记,Def是系统保存字,它们之间没有空格.例如:DefInt DJ
•该定义声明了D、E、F、G、H、I、J都是整型变量,并且以这些字母开头的变量名也都是整型变量.
•类型说明符:
•%:整型;
•& :长整型;
•!:单精度浮点型;
•# :双精度浮点型;
•@ :货泉型;
•$ :字符串型;
•字节、布尔、日期、对象及变体型没有类型说明符.
•注意:
•①Dim a,b,c As Integer是错误的.只有c被声明成Integer,而a,b缺省为Variant类型.
•②如果使用Dim x As Integer语句声明了变量x为Integer,而
在前面又使用带有类型说明符的该变量,如x$,x!,x@和
x#,程序运行时就会产生“duplicate definition”错误.
•③使用不带As的Dim语句,会被声明成变体类型的变量.•④通过不带长度说明的字符串声明语句可以声明变长字符串.•⑤对于声明布尔型的变量,其缺省值为False ;
•⑥为声明为Date类型的变量赋值时,日期值应放在一对#之间,且多种日期和时间格局在VB中都是有效的.
•3.变量的作用域和生存期:
•变量的作用域——指变量的有效作用规模,也就是变量可以被拜访的规模.按以下三种方法来定义变量的作用规模:•范围说明
•进程在进程内使用Dim或Static
•私有在模块开头加上Dim或Private
•公共在模块开头加上Public
•变量的生存期——指VB保管该变量值的时间,是变量在整个程序运行进程中的有效生存时间
1)进程层变量——进程层变量是指在进程或函数内部定义的变量,这种变量无论是用Dim仍是Static声明,其作用域都只是该进程或函数体,在进程或函数外不克不及引用;
2)窗体层变量——窗体层变量是指在窗体的通用部分声明的变量,即不是在任何一个窗体内的进程或函数中声明的变量.它的作用规模至少是窗体的存在规模,也就是说在窗体内的每个进程或函数中都可以使用窗体层变量.
•窗体层变量的声明有三种方法:
•用Dim语句声明.
•用Private语句声明.
•用Public语句声明.
•对于用Dim和Private声明的窗体层变量,其作用规模都是在所声明的窗体规模内.用Public声明的窗体层变量作为窗体公用数据成员,可以在其他窗体或模块中以“窗体名.变量”方法引用.其作用可以大于当前窗体规模.窗体层变量在本窗体所有进程中都是可见的.
•3)模块层变量——模块(Module)是组成VB工程(Project)的
一部分,是包含数据和进程的荟萃.定义模块层变量只需在
模块的通用部分参加Dim,Private,Global或Public等声明语句便可.用Dim和Private声明的模块层变量作用域为所在模块规模,而用Public和Global定义的模块层变量则可以全局使用.
•注:全局变量必须用Public或Global声明,不克不及用Dim •三.常量
•常量是一个有意义的名字,用来暗示程序运行时不变的数值和字符串.
•Visual Basic中的常量分为文字常量和符号常量两种,文字常量又可分为数字常量和字符串常量.
•符号常量(自定义常量):在程序中程序员用Const声明的常量.•使用常量时应注意:
•(1)用Const声明的常量在程序运行进程中是不克不及被重新赋值的.
•(2)在常量声明的同时赋值.
•(3)可以为声明的常量指定数据类型,如Const conVal As Currency=3.78,缺省时为所赋值的类型.
•(4)在用常量为常量初始化时注意,不成有循环引用.例如:
•模块1中:
•Public const con1=con2+8 ……
•模块2中:
•Public Const con2= con1*3……
•四.数组
•1.数组的定义:
•必须用Global或Dim语句定义.Dim语句的语法格局如下:•Dim 数组名([lower To ] upper,[[lower To ] upper])[As type]•在这里,每对lower和upper为数组的一维,lower是该维下标的下限,upper是该维下标的上限,如不标明lower,其默认值为0.Upper不成省略.
•例如:
•(1)一维数组的定义:
•Dim Record (5) As Integer
•定义了一个有六个数据元素的整型数组
•(2)二维数组的定义
•Dim Matrix(2,3) As Integer
•该数组定义了一个二维数组,可以存储12个整型数,三行四列下标:00,01,02,03,10, (23)
•2.动态数组
•带有空()的Dim可以声明一个动态数组,如:
•Dim dynArray( )
•然后,可用ReDim语句在一个进程或函数中定义动态数组的维数和元素个数.申请或重申请存储空间的一般格局为:•ReDim [Preserve ]数组名([lower TO ] upper [,[lower To] upper]) [As Type]
•其中,Preserve为可选项,暗示是否庇护己有数据.缺省时为不庇护.
•例如:ReDim dynArray(10) //为动态数组申请10个单元
•ReDim Preserve myArray (Ubound(myArray)+10)
•其中,Ubound函数前往数组的指定维的上限.
•这是一个保存原数据的增量分派数组
•五、枚举类型:
•当一个变量只有几种可能的值时,可将这个变量定义为枚举类型.
•枚举类型的声明放在窗体模块、尺度模块或公用类模块中的声明部分,用Enum语句来定义,格局如下:
•[Public|Private] Enum 类型名称
•成员名[=常数表达式]
•成员名[=常数表达式]
• ¡-¡-
• End Enum
•默认情况下,枚举类型中的第一个常数被初始化为0,其后的常数逐项递增1.
•例如:Enum Days
• Saturday
• Sunday
• Monday
• Tuesday
• Wednesday
• Thursday
• Friday
• End Enum
•例如在如上定义的Days枚举类型的根本上,有如下单击某按钮的进程:
•Private Sub Command1_Click()
• Dim MyDay As Days
• MyDay = Saturday
• If MyDay < Monday then
•MsgBox “It’s the weekend !”
• End If
•End Sub
•MyDay是一个枚举变量,Saturday的值为0,而Monday的数值为2,If中的条件成立
•六、运算符与表达式
•1.赋值运算符:Visual Basic中的赋值运算符是“=”.•2.数学运算符:
•优先级运算符说明
•高^指数运算,如2^3=8
•-负号运算符
• * / 乘除运算,其中除法(/)的所得结果
•为实数
•\ 整除.所得结果为实际结果
•的整数部分
•Mod 取模运算符,两数相除取余数
•+ 加、减运算
•低& 连接字符串.
•3.关系运算符:=(等于);<>或><(不等);
•<(小于);>(大于);<=(小于等于);>=(大于等于);like(比较样式);Is(比较对象变量)
•4.逻辑运算符:
•逻辑运算用于判断操纵数之间的逻辑关系.VB提供了非(Not)、与(And)、或(Or)、异或(Xor)、相等(Eqv)和隐含(Imp)逻辑运算.逻辑运算符的优先级低于数学运算符和关系运算
符.逻辑运算符自己也有优先级,其顺序为Not,And,Or,Xor, Eqv,Imp.
•5、表达式的执行顺序::
•1)函数运算;
•2)算术运算;
•3)关系运算;(优先级:=,<,>,<>,<=,>=)
•4)逻辑运算;
•注:乘除法同时出现时,遵循从左到右顺序;括号的运算总是优先;字符串连接(&)不是算术运算符,但其优先顺序在所以算术运算符之后,又优先于其他运算符
•七、输入与输出:
•InputBox函数:InputBox函数可以产生一个对话框,用于将用户从键盘输入的数据作为函数的前往值前往到当前程序中.•①前往数值型数据.格局如下:
•InputBox(prompt [,title][,defualt][,xpos,ypos][,helpfile,context])•②前往字符串型数据.格局如下:
•InputBox$(prompt [,title][,defualt][,xpos,ypos][,helpfile,context])•其中的参数寄义为:
•prompt:一个字符串,显示出现在对话框中的用来提示用户的信息,最大长度为1024个字符.
•Title:一个字符串,显示出现在对话框的顶部的题目信息.•default:一个字符串,用于显示输入缓冲区的默认信息,即用户在执行了InputBox函数后如果没有输入任何信息,则可用此字符串作为默认的输入值.
•xpos:整数值,用于暗示对话框与屏幕左鸿沟的距离.•ypos:整数值,用于暗示对话框与屏幕上鸿沟的距离.•Helpfile:字符串型变量或字符串表达式,用于暗示要用的
帮忙文件的名字.
•context:整数型变量或表达式,用于暗示相关帮忙主题的目录号.
•Print办法——用于输出显示.它既可以用于窗体,也可以用
于其他控件上;它可以在窗体上显示文本字符串和表达式的值,也可以在其他图形对象或打印机上输出信息.格局:•[对象名称.]Print[表达式表][, |;]
•对象名称是一个可选项,可以是窗体、图片框或打印机,如果省略,则在当前窗体上直接输出;
•表达式表是一个或多个字符串或数值表达式,用以原样输出字符串或表达式的值.也是可选项.如果省略,则输出一个空行;
•当需要输出多个字符串或表达式值时,各表达式间用逗号、分号或空格分隔,其中逗号分隔为尺度输出格局,14个字符位为一个输出区段单位,逗号前面的表达式在下一区段输出,分号和空格分隔,则是依照紧凑格局输出;
•Print办法兼有输出和计较双重作用,便可以先计较表达式的值后输出;
•每执行一次Print办法将自动换行,要显示在同一行上,可以在前一Print办法行的末尾加上一个逗号或分号.
•与Print办法相关的还有一些函数和办法:
•(1)Tab函数:可以把光标移动到由参数n指定的位置,并从这个位置开始输出信息.格局为:
•Tab(n)
•其中n为一个整数值,指出下一个输出位置的列号,如果当前位置已经超出n,则自动下移一行,默认最左边的列号为1;
•当n大于行宽时,显示位置为n Mod行宽;
•当一个Print办法对应n个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用逗号分隔.
•(2)空格函数:用空格函数可以前往n个空格,格局为:•Space $ (n)
•(3)Spc函数:在用Print输出时可以用Spc函数跳过n个空格,格局为:
•Spc(n)
•(4)Cls办法:使用Cls办法可以清除Print办法显示在对象上的内容,并将光标移动到对象的左上角(0,0)位置.格局为:
•[对象.]Cls
•其中,“对象”为可选项,如果省略,则清除当前窗体内的内容.
•例1:设计一个程序,输入一组学生信息:学号、姓名、性别、年龄和入学成绩.用窗体单击事件激起.
•解:Private Sub Form_Click( )
•num$ = “请输入学号:”
•msgtitle$ = “学生登记表信息”
•nname$ = “请输入姓名:”
•sex$ = “请输入性别:”
•age$ = “请输入年龄:”
•sco$ = “请输入入学成绩:”
•Studentnum$ = InputBox$(num$,Msgtitle$)
•Studentname$ = InputBox$(nname$,Msgtitle$)
• Studentsex$ = InputBox$(sex$,Msgtitle$)
• Studentage% = InputBox(age$,Msgtitle$)
• Studentsco% = InputBox$(sco$,Msgtitle$)
• Cls
• Print Studentnum$;“,”;Studentname$;
“,”Studentsex$;“,现年”
•Print Studentage%;“岁”;“,入学成绩”; Studentsco%;“分”•Ebd Sub
•(5)MsgBox函数:Visual Basic中除了可以用Print办法在窗体或控件上输出程序执行结果等信息外,还提供了一种在适当的时候可在屏幕上显示一个对话框,让用户进行选择,并按照选择确定后续操纵的功效.
•格局:
•MsgBox(prompt [,buttons] [,title] [,helpfile,context])
•各参数寄义为:
•prompt:一个字符串,最大长度1024字符,输出的提示信息,当一行显示不下时,自动换行;
•buttons: 整数值或符号常量,指示显示按钮的数目及形式,使用的图标样式,默认按钮是什么以及消息框的强制回应等等.如果省略,其缺省值为0;
•title:显示在对话框题目栏中的信息,缺省值为该应用程序名;
•helpfile:字符串表达式,识别用来向对话框提供上下文相关帮忙的帮忙文件,如果有这个选项,则必须有context选项;•context:数值表达式,由帮忙文件的作者指定给适当帮忙主题的帮忙上下文编号,同理,如果有这一选项,则必须有helpfile选项.
•表中的数值分为四类:0~5为对话框中命令按钮的类型和数量,每个数值暗示一种组合方法;16、32、48、64为指定对话框所显示的图标;0、256、512、768指定默认的勾当按钮;0、4096用于应用程序和系统强制前往.Buttons的参数值由这四类数值组成,其组成原则是从每一类中选择一个值,把这几个值加起来就取得了Buttons参数的值,在大多数应用中,只使用前三类,不合的组合会得到不合的结果.例如:•19=3+16+0:显示“是”、“否”和“取消”按钮和“暂停”图标;
•34=2+32+0:显示“终止”、“重试”和“疏忽”按钮和“疑问”图标;
MsgBox的前往值如下表:
•例2 :设计一个窗体单击事件进程,要求程序执行时出现提示信息:“请确认操纵正确否?”,并在消息框的题目上显示“操纵确认”题目,如果答复“是”,则将前往值6付与变量a,并在窗体上显示前往值的平方,不然,如果选择“否”,则前往值为7,在窗体上显示“重新操纵并确认!”
•该程序产生的对话框中有三个按钮即“是”、“否”、“取消”•程序代码如下:
•Private Sub Form_Click()
• Dim Msg As String, title As String
• Dim a As Integer
• Msg = "请确认操纵正确否?"
• title = "操纵确认"
• a = MsgBox(Msg, 19, title)
• If a = 6 Then
• Print a ^ 2
• ElseIf a = 7 Then
• Print "请重新操纵并确认!"
• End If
•End Sub
•八、语句与控制流
•1、注释语句:
•注释用来说明程序中某些语句的功效和作用.在VB 中用“‘”和Rem来标识一条注释语句.VB程序在解释运行或编译进程中,不会处理Rem前面那一行注释语句.
•2、赋值语句:
•目标操纵符=源操纵符
•//操纵符两边的数据类型必须一致!
•3、暂停语句:
•格局:Stop
• //当程序执行到Stop时,自动打开立即窗口
•4、结束语句:格局:End //经常使用于结束程序
•5、条件分支结构
•(1) If…语句的三种格局:
•第一种是单分支格局:
•If 条件Then
• [语句]
•End If // 其中加“[ ]”部分为可选择部分.
第二种是双分支格局:
•If条件Then
•[语句块1]
•[Else
•语句块2]
•End If
这里是双分支,即如果条件满足,执行语句块1,不然,执行语句块2.
注意:语句块中的语句不克不及与其前面的Then在同一行上!
第三种格局:
•If条件1Then
• [语句块1]
•[Else If 条件2 Then
•语句块2]
•……
•Else if 条件n Then
•语句块n
•[Else
•语句块]
•End If
•(2)IIf函数
•VB提供了一种用来执行复杂条件判断的函数IIf,它是“If……Then……Else”结构的复杂版本,格局如下:•Result = IIf(条件,为“True”的执行语句,为“False”的执行语句)
•这里的Result是函数的前往值,括号中的三项均不克不及省略,执行的操纵为首先判断条件,当“条件”为真的时候,执行“为“True”的执行语句”,不然执行“为“False”的执行语句”.•例如有如下判断条件:
•If a > 8 Then
• x = 3
• Else
• x = 0
• End If
•用IIf函数替代,则可简化为:
•x = IIf (a > 8,3,0)
•类似于C语言中的条件表达式:
•表达式1?表达式2:表达式3
•例: Max=(a>b)? a : b;
•2.Select Case…语句
•Select Case…语句很适合多重条件判断.它的书写格局为:•Select case 测试表达式
•Case表达式结果1
•[语句块1]
•[Caset表达式结果2
•语句块2]
•……
•[Casetelse
•语句块n]
•End Select
•测试表达式既可以是数值表达式,也可以是字符串表达式,通常为变量或常量;每个语句块由一行或多行正当的Visual Basic语句组成;表达式结果1、表达式结果2……被称为域值,它可以是:表达式[,表达式]……、表达式To 表达式或Is关系运算表达式(运算符可以是:<,<=,>,>=,<>,=)之一.例如:
•Case 1,3,5,7
•Case 1 To 6
•Case Is >= a -b
•这三种表示形式均正当,但应该注意表达式结果中的表达式必须与测试表达式的类型一致.
•例:从键盘上输入学生考试成绩的等级,然后依照考试成绩的等级显式出百分制的分数段,可以用Select Case…语句来实现:
•Sub Form_click()
•Dim grade As String,Msg
•Msg=”请输入学生的成绩等级:”
•grade =InputBox$(Msg)
•If Not IsNull(grade)Then
•Select Case grade
•Case “A”
•Msg=”85~100”
•Case “B”
•Msg = “70~84”
•Case “C”
•Msg = “60~69”
•Case “D”
•Msg = “ < 60”
•Case Else
•Msg = “error!”
• End Select
• End If
• MsgBox Msg
•End Sub
•6、循环结构:
•1.For…Next语句
•语句格局:
•For 循环变量=初值To 终值[Step步长]
•[语句]
•[Exit For] ’用于在特定条件下退出循环
•[语句]
•Next [计数器]
•其中:
•①循环变量:数值型变量,用于统计循环次数的变量.•②初值:数值型变量,用于设置循环变量的初始值.
•③终值:数值型变量,用于设置循环变量的终结值.
•④步长:数值型变量,用于决定每次循环变量的变更值.可
为正值亦可为负值,默认为1.
•这里遵循:“先查抄、后执行”的原则,循环次数由初值、终值和步长决定;
•For语句和Next语句必须成对出现,且For语句必须在Next语句之前;
•ForNext循环是可以嵌套的,且嵌套层数没有限制,但每个
循环必须有唯一的一个变量名作为循环变量,内层循环的Next语句必须位于外层循环的Next语句之前,不成相互穿插;
•当内循环与外循环有相同的终值时,可以共用一个Next语句,但不克不及省略变量名;
•循环控制值既可以是整型量或单精度数,也可以是双精度数.•例4:设计一个窗体单击事件进程,要求从键盘输入10个数,其中有正数和单数,辨别输出其中的正数、正数的累加和和正数的累加和.
•解:Private Sub Form_Click ( )
• Dim Numx As Integer, i As Integer
• Dim Sumx As Integer,Sumy As Integer
• Sumx=0
• Sumy=0
•For i=1 to 10
•Numx=InputBox(“请输入一个整型数:”)
• If Numx >0 Then
• Print Numx;
•Sumx=Sumx+Numx
• Else
• Sumy=Sumy+Numx
• End If
• Next i
• Print
•Print “已输入的正数累加和为:”;Sumx
•Print “已输入的正数累加和为:”;Sumy
• End Sub
•2.For Each…Next语句
•对荟萃中的每个元素进行一次循环,直到荟萃中无更多元素时,执行Next下面的语句.一般格局为:
•For Each 荟萃中元素in 荟萃
•[语句]
•[Exit For]
•[语句]
•Next [元素]
•3.Do…Loop语句
•(1)当型循环格局:
•格局1:Do
• [语句块]
• [Exit Do]
• Loop[ While 循环条件]
•格局2:Do[ While 循环条件]
• [语句块]
• [Exit Do]
• Loop
•这种结构的功效是当“循环条件”为“真”时,执行循环体语句块,不然,跳出循环体,执行Loop前面的语句.第一种格局的执行顺序是:先执行循环体语句块,然后判断“循环条件”,如果为“真”,则持续执行循环体语句块,不然,跳出循环,执行Loop前面的语句;第二种格局的执行顺序:先判断“循环条件”,如果为“真”,则执行循环体语句块,不然跳出循环,执行Loop前面的语句;
•(2)直到型循环格局:
•格局1:
•Do [Until 循环条件]
•语句块
•[Eixt Do] ’用于在特定条件下退出循环
•Loop
•格局2:
•Do
•语句块
•[Eixt Do] ’用于在特定条件下退出循环
•Loop [Until 循环条件]
•这种结构的功效是直到“循环条件”为“真”时,跳出循环体,执行Loop前面的语句,不然,就一直执行循环体语句块.第一种格局的执行顺序是:判断“循环条件”,如果为“假”,执行循环体语句块,不然,跳出循环体,执行Loop前面的语句;第二种格局的执行顺序是:先执行循环体语句块,然后判断“循环条件”,如果为“假”则持续执行循环体语句块,不然,跳出循环体,执行Loop前面的语句.
•注意:“While循环条件”或“Until循环条件”为可选项,如果缺省,则该循环将成为无限循环.
•4.While…Wend语句
•这种语句是从传统BASIC语言中承继下来的,用Do While…Loop语句功效一样,其语句格局为:
•While条件
•[语句块]
•Wend
•5、在Visual Basic中有以下几种跳出语句:
•①Exit For:用于中途跳出For循环.
•②Exit Do:用于中途跳出Do 循环.
•③Exit Sub:用于中途跳出Sub 进程.
•⑤Exit Function:用于中途跳出Function进程.
•以上几种中途跳出语句都既可以直接使用,也可以用条件判断语句加以限制.且在循环中或进程中出现的次数没有限制.使用它们,可以为某些循环体或进程在需要的时候设置明显的出口.
•九、进程:
•1.Sub进程(子程序)
•一般格局:
•[Static][Private][Public] Sub 进程名[(参数列表)]
• [语句块]
• [Exit Sub]
• End Sub
•参数表列中含有该进程被调用时由主调方传送过去的变量名或数组名,各名字之间用逗号分隔,它们指明了调用时需传送给该进程的参数类型和个数,每个参数的格局为:•[ByVal]变量名[( )][As 数据类型]
•ByVal是可选项,如果有这个选项,则标明该参数是“传值”参数.
•在Visual Basic中应区分通用进程和事件进程这两类子进程.•①通用进程:告知应用程序如何完成一项指定的任务.通常,在应用程序中经常会产生几个不合的事件进程也许要执行同样的动作的情况,这就要求系统提供能够将公共语句放入一个别离开的进程(通用)中.
•②事件进程:当用户对Visual Basic中的对象施以动作并得到系统确认时,便自动用相应事件的名称调用该事件进程.事件名称相当于对象和代码之间的桥梁,事件进程则是附加在窗体或控件上的一段程序代码.
•所有的事件进程使用相同的语法.其格局如下:
•Private Sub 控件名_事件名[(参数表列)]
•[语句块]
•[Exit Sub]
•End Sub
•窗体的事件进程也使用相同的语法.其格局如下:•Private Sub Form或MDIForm_事件名[(参数表列)]
•[语句]
•[Exit Sub]
•End Sub
•2、Function函数
•函数实际是实现一种映射,它通过一定的映射法则,完成运算并前往结果.函数的定义方法与Sub进程的定义很相似,可以说只不过是用Function关头字取代Sub,同时参加前往值类型说明.
•格局:
[Static][Private][Public]Function 进程名[(参数列表)][As类型]•语句块
•[进程名=表达式]
• [Exit Function]
• [语句块]
• End Function
•注意:Function进程与Sub进程的最大区别在于Sub进程无前往值,而Function进程有至少一个前往值;进程不克不及嵌套,因此,不克不及在事件进程中定义通用进程(包含Sub 进程和Function进程),只能在事件进程内调用通用进程.•3、调用进程
•如果要使得程序执行某进程,则必须调用该进程.进程的调用方法有两种:
•第一种方法:
•进程名[(参数1 ,参数2,……)]
•第二种方法用Call调用:
•Call 进程名[(参数1,参数2,……)]
•每次调用进程都会执行Sub(或Function)和End Sub(或Function)之间的语句.可以将子进程放入尺度模块、类模块和窗体模块中.调用Sub进程相当于执行一个语句,不考虑前往值,而调用Function进程则需考虑前往值.
•在工程中的任何地方都可以调用其它模块中的公用进程.大致分为几种调用方法
•(1)调用窗体模块中的进程.所有窗体模块中的外部调用必须指向包含该进程的窗体模块.
•例如,如果窗体模块Form1 中包含SomeSub进程,则可以以下语句调用:
•Call Form1.SomeSub[(参数表)]
•调用尺度模块中的进程.如果进程名是惟一的,则不必在调用时加模块名,无论是在模块内仍是在模块外调用,结果总会这个惟一的进程.如果两个以上的模块都包含同名的进程,那就有需要用模块名来限定了.
•十、经常使用尺度函数:
•CurDir函数——前往一个用来代表当前路径的字符串变量;格局:CurDir[(drive)]
•方括号为可选项,默认为当前驱动器的路径.
•CVErr函数——前往一个包含指定错误号的变体型
•格局:CVErr(errornumber)
•Date函数——前往一个包含系统日期的Variant型或date 格局:Date
•Day函数——前往暗示一个月中某一天的整型数
•格局:Day(date)
•Timer函数¡ª¡ª前往一个从当日午夜零点到当前时刻所经历的秒数(单精度数)。