版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、vb简介:vb是一种面向对象的、图形用户界面的、具有事件驱动编程机制的、新颖的、易用的可视化可视化程序设计工具。vb的7个特点:(1)面向对象的程序设计方法(继承、多态、封装)(2)图形用户界面,编程工作量少(3)事件驱动机制(4)可视化(5)支持第三方开发的vb工具箱(6)具有数据库访问特性(7)支持串口通信vb发展简史vb简介:vb(visual basic)的发展简史:60年代初,dartmouth学院发明了basic(beginners all purpose symbolic interchange code)语言。1976年,microsoft公司开发了basic语言的早期版本。8
2、0年代初, microsoft公司推出了gw-basic。80年代中, microsoft公司推出了qbasic。90年代初, microsoft公司推出了visual basic1.0。98年, microsoft公司推出了vb6.0office系列以及autocad中的二次开发工具vba使用vb,网页脚本语言vbscript是vb的子集2002年诞生了vb.net,是一种web编程语言vb的集成开发环境称ide(intergrated develop environment),包括:标题栏、菜单栏、工具栏、控件箱、窗体设计器窗口、工程管理器窗口、属性窗口、代码窗口、窗体布局窗口等,集成了应
3、用程序设计、编辑、编译、调试、运行等功能。工程:vb中的应用程序。vb通过工程来组织应用程序的开发,用工程来管理工程应用程序的文件。启动vb后就会看到vb集成开发环境界面:1.1.1 集成开发环境vb6.0的启动1.快捷方式(在桌面上): 例如2.开始菜单:开始/程序/microsoft visual basic6.0/ microsoft visual basic6.0例如3.资源管理器:开始/程序/资源管理器c:program filesvbmicrosoft visual basic6.0例如4.我的电脑:c:program filesvbmicrosoft visual basic6.
4、0例如5.开始菜单:开始/运行/输入vb启动文件的名字例如:“c:program filesvbmicrosoft visual basic6.0”例如作用:用来显示打开的工程名和系统的工作状态1.1.2 标题栏新建工程建立新工程,缺省名为“工程1”打开工程打开已有工程添加工程l添加新工程,缺省名依次为“工程2”、“工程3”移除工程移去或删除已有工程保存工程保存工程,扩展名默认为“.vbp”“vbw”工程另存为 现有工程以另一个名字保存保存form1 保存建立的窗体,扩展名为“frm”,“frx”form1另存为将窗体另存打印打印窗体和窗体中的代码生成工程1.exe编译成可执行的exe文件 r
5、eturn当“工程”被关闭后自动创建、自动保存的“工作区(workspace)”文件。return当“窗体”上有图片框或图象框,而且该控件已装入图片或窗体本身的picture属性的图片被装载以后,会自动保存一个与窗体名同名的窗体二进制文件(frx)。return3. 视图菜单作用: vb有7个窗口,视图菜单用于对各窗口进行操作,通过选择视图菜单来显示/打开各窗口。代码窗口打开代码编辑窗口对象窗口打开代码对象设置窗口对象浏览器打开对象浏览器用于查看工程中有效对象立即窗口、本地窗口、监视窗口、调用堆栈打开调试用的窗口属性页打开用户控件的属性页工程资源管理器打开工程资源管理器属性窗口、窗体布局窗口
6、打开相应窗口工具栏打开工具栏visual component manager打开可视化部件管理器工具箱、数据视窗窗口、调色板打开工具箱、数据视窗窗口、调色板returnvb集成开发环境中有7个常用窗口,他们是:主窗口、项目组窗口(工程资源管理器窗口)、属性窗口、窗体布局窗口、窗体窗口、代码窗口、工具箱窗口1.1.6 窗体return讲解(1)主窗口:包括13个下拉菜单,即:文件、编辑、视图、工程、 格式、调试、运行、查询、图表、工具、外接程序、窗口、 帮助和21个常用命令做成的工具按钮放到工具条中。例(2)项目组窗口/工程资源管理器窗口:包括运行正在编写的vb程序所需的文件清单,有3个按钮,查
7、看代码(view code)、查看对象(view object)、查看文件夹(toggle folders)例(3)属性窗口:描述对象性质的表格,用来设置对象的外观行为。(4)窗体布局窗口:确定用户所设计的图形界面在计算机屏幕上的位置(5)窗体窗口:程序运行时用户能看见的图形界面。(6)代码窗口:在该窗口中进行编程。(7)工具箱窗口:设计用户界面所需的各种控件元素。如:按钮、标签、文本框、收音机按钮等。1.2 用vb6.0开发应用程序1.2.1 开发vb应用程序的主要步骤:1.创建应用程序界面:使用控件箱中的控件在窗体中把界面设计出来,应用程序界面一般由窗体、按钮、菜单、文本框、图象框等构成。
8、控件的使用2.设置界面上各个对象的属性:在属性窗口对每个对象的属性进行设置,包括对象的外观、名称、颜色、大小等属性。 注意:先选定要设置属性的对象,然后进行设置先选定要设置属性的对象,然后进行设置3.编写对象事件过程代码:一定要明确哪个对象哪个对象的什么事件什么事件发生时做出哪些响应哪些响应之后才编写代码,这样才能将代码写到正确的位置,否则,代码不被执行。4.保存工程:一个vb程序就是一个工程,设计一个应用时,系统会自动建立一个扩展名为.vbp的工程文件。vb组织文件的方式该工程文件包含了该工程所建立的所有文件的相关信息。vb要保存的文件类型5.运行和调试:通过“运行”菜单中的菜单项或工具栏中
9、的按钮来完成,出现错误时,vb会给出提示信息。6.生成可执行文件:文件/生成工程1.exe来生成可执行文件,此后可以脱离vb环境直接运行该可执行文件。开发实例vb6.0要保存的程序类型vb6.0可以保存两种类型的文件:项目文件和窗体文件,其中:(1)项目文件:以.vbp为扩展名,保存一个项目的窗体及模块目录。(2)窗体文件:以.frm为扩展名,保存窗体代码及显示布局。每个每个工程中可以包含多个窗体。工程中可以包含多个窗体。vb默认先保存窗体,再保存工程。所以保存两次默认先保存窗体,再保存工程。所以保存两次。另外,特殊情况下,要保存以下类型的文件:项目组文件:.vbg,保存由多个项目组成的项目组
10、文件。类文件:.cls,列出所有类模块。basic模块:.bas,列出所有标准模块。属性页文件:.pag,列出所有属性页。用户定义控件文件:.ctl,列出所有用户定义的控件。文档对象文件:.dob,列出所有的文档对象。保存操作:通过菜单和工具条完成。注意注意:养成随时保存文件的习惯。养成随时保存文件的习惯。return工程组工程1工程2窗体1窗体2窗体1窗体2return回251.vb6.0的启动有哪些方式?2.vb主菜单项后的括号中带下划线的字符的作用是什么?如何使用?3.创建vb应用程序的主要步骤有哪些?4.哪一个窗口可以在设计时直观的调整窗体在屏幕中的位置?5.如果向控件箱中添加控件使用
11、哪一个菜单项?6.窗体上带有图片框控件(已装入图片)的vb应用程序有哪些类型的文件?7.工程的属性在哪个菜单项中设置?8.vb要保存的常见的文件类型?每个类型的扩展名?9.工程、工程组、窗体之间的关系是怎样的?4.哪一个窗口可以在设计时直观的调整窗体在屏幕中的位置?5.如果向控件箱中添加控件使用哪一个菜单项?6.窗体上带有图片框控件(已装入图片)的vb应用程序有哪些类型的文件?2.1.1 常量常量类型:数值型、字符型、逻辑型、日期型类型:数值型、字符型、逻辑型、日期型1. 一般常量一般常量123,-456.8,“abc”, “水产学院水产学院”,true,false,#1/3/2004#1 m
12、ar 2004# , #march 1, 2004# ,&o123,-&ha22. 符号常量符号常量语法:语法:public|private|global const 常数名常数名 as 数据类型数据类型=表达表达式式表达式可以是结果为数或字符串的表达式或先前定义过的常量表达式可以是结果为数或字符串的表达式或先前定义过的常量public或或global说明可在整个应用程序中使用,说明可在整个应用程序中使用,private 说明只说明只能在该过程中使用。(全局常量)能在该过程中使用。(全局常量)常量名必须以字母开头,不包含句号或类型说明符,不能超过常量名必须以字母开头,不包含句号
13、或类型说明符,不能超过255个字符。个字符。例:例:const pi=3.14 const e as double =2.718 const n%=782.1常量、变量、运算符和表达式2.1.2 变量变量1. 变量名变量名字母开头字母开头由字母、数字和下划线组成由字母、数字和下划线组成不能包含空格、句号、类型说明符不能包含空格、句号、类型说明符长度不超过长度不超过255不能与关键字重名不能与关键字重名2. 变量类型lll说明说明1:字符串类型有定长和变长,定长字符串的存储空间为串长;:字符串类型有定长和变长,定长字符串的存储空间为串长;变长字符串的存储空间为变长字符串的存储空间为10+串长。串
14、长。return说明说明2:variant有数字类型和字符类型之分。数字类型存储空间为有数字类型和字符类型之分。数字类型存储空间为16;字符串类型为;字符串类型为22+串长。串长。说明说明3:variant包含包含3种特定值:种特定值:empty,null,errorempty:不同于不同于0、零长度字符串、零长度字符串、null的特定值。的特定值。null:未知的数据或丢失的数据,一般用于数据库未知的数据或丢失的数据,一般用于数据库error:已发生的过程中的错误状态。已发生的过程中的错误状态。variant变量赋值之前具有值变量赋值之前具有值empty。包含包含null的表达式,计算结果总
15、是的表达式,计算结果总是nullvariant用于在用户不能确定变量的数据类型时声明变量,用于在用户不能确定变量的数据类型时声明变量,以便计算机为该变量留内存空间。变体根据实际需要可以为以便计算机为该变量留内存空间。变体根据实际需要可以为10种任何数据类型中的任何一种。种任何数据类型中的任何一种。private sub form_activate() dim a as variant a = 1 print a a = this print aend sub输出结果为:输出结果为:1thisprivate sub form_activate() dim a as integer a = 1 p
16、rint a a = this print aend sub将出现编译错误在变量名后加上在变量名后加上“%”或在或在-3276832767之间的整数后加上之间的整数后加上%都表都表示示该变量为整型,例:该变量为整型,例: private sub form_activate() a% = 234.567 c = 234.567 b = 234% print a, b, cend sub将打印出将打印出235 234 234.567整型和长整型的区别:整型和长整型的区别:(1)占内存空间不同占内存空间不同 (2)表示数的范围不同表示数的范围不同单精度最多能保留到小数点后单精度最多能保留到小数点后6
17、位有效数字,双精度可保留到小数位有效数字,双精度可保留到小数点后点后14位位(单精度为单精度为7位有效数字,双精度为位有效数字,双精度为15位有效数字位有效数字)。单精。单精度的类型说明符为!,双精度的类型说明符为度的类型说明符为!,双精度的类型说明符为#。货币类型的必要性:为精确表示财务帐目。类型说明符为货币类型的必要性:为精确表示财务帐目。类型说明符为,它,它的精度高,规定精确到小数点后的精度高,规定精确到小数点后4位,一般的数值型数据在计算机位,一般的数值型数据在计算机中是以二进制进行计算的,计算有误差,而货币类型是以十进制中是以二进制进行计算的,计算有误差,而货币类型是以十进制进行计算
18、的,精确度高。另外,单精度只有进行计算的,精确度高。另外,单精度只有7位有效数字,双精度位有效数字,双精度只有只有15位有效数字,表示大数额的货币时不精确,如:位有效数字,表示大数额的货币时不精确,如:$223 555 868 999 234.65,用单精度数表示为:,用单精度数表示为:$2.235559e14,用双精度数表示为:用双精度数表示为:223 555 868 999 235,用货币类型表示为:,用货币类型表示为:$223 555 868 999 234.65 return3. 变量说明变量说明(1)显式说明)显式说明dim 变量名变量名 as 数据类型数据类型,变量名,变量名 as
19、 数据类型数据类型static 变量名变量名 as 数据类型数据类型,变量名,变量名 as 数据类型数据类型public 变量名变量名 as 数据类型数据类型,变量名,变量名 as 数据类型数据类型private 变量名变量名 as 数据类型数据类型,变量名,变量名 as 数据类型数据类型例:例:dim myname as string dim yourname as string*50 dim objdb as object set objdb=opendatabase(“c:vbtest.mdb”)说明:说明:static 定义静态变量定义静态变量public 定义的变量可以在其他对象的过
20、程中使用定义的变量可以在其他对象的过程中使用private 定义的是局部变量定义的是局部变量(2)隐式说明)隐式说明.用类型说明符声明变量用类型说明符声明变量例:例:no%声明声明no为一个整型变量为一个整型变量 s$声明声明s为一个字符串变量为一个字符串变量 d#声明声明d为一个双精度型变量为一个双精度型变量例:例:no%=90s$=“hello” d#=3.14159265(3)option explicit作用:为避免写错变量名而引起麻烦,可以使作用:为避免写错变量名而引起麻烦,可以使vb只要遇到未声明只要遇到未声明的变量就发出错误警告。使用方法:的变量就发出错误警告。使用方法:在代码窗
21、口中加入在代码窗口中加入option explicit语句(代码窗口的对象语句(代码窗口的对象列表中选列表中选“通用通用”,事件列表中选,事件列表中选“声明声明”)“工具工具”/“选项选项”/“编辑器编辑器”/选中选中“要求声明变量要求声明变量”复选框,会自动在任何新模块中插入复选框,会自动在任何新模块中插入“option explicit”语句语句2.1.3 运算符和表达式运算符和表达式1. 运算符运算符算术运算符:算术运算符:+,-,*,/,mod,关系运算符:关系运算符:,=,=,=,is,like连接运算符:连接运算符:&,+(字符串连接)(字符串连接)逻辑运算符:逻辑运算符:
22、and(与)与),or(或)或),not(非)非),xor(异异或或),imp(包含)包含),eqv(等价)等价)整除运算(整除运算()结果是商的整数部分,结果是商的整数部分,72结果为结果为3.5的整数部分的整数部分mod求两个整数相除以后的余数。在这两种运算中,求两个整数相除以后的余数。在这两种运算中,如果参加运算的是如果参加运算的是实数,则先按四舍五入原则将他们变成整数,然后进行计算。实数,则先按四舍五入原则将他们变成整数,然后进行计算。 除法运算(除法运算(/):):两个整型常量或变量进行除法运算的结果如果两个整型常量或变量进行除法运算的结果如果赋给一个整型量结果为整型,运算结果与整除
23、运算结果一样;如果赋给一个整型量结果为整型,运算结果与整除运算结果一样;如果赋给实型量,结果为实型。赋给实型量,结果为实型。逻辑运算符的运算结果:逻辑运算符的运算结果:aba and ba or ba xor ba equ ba imp bfffffttftfttfttffttffttttftt2. 运算符的优先级:运算符的优先级:其中优先级由高到低运算,同级由左到右其中优先级由高到低运算,同级由左到右有括号先算括号内。有括号先算括号内。运 算 符 * m od + & not and or xor equ im p/ - = = = like is优 先 级高 低2.2.1 赋值语句
24、赋值语句格式:变量名或对象格式:变量名或对象.属性名属性名=表达式表达式表达式可以是常量、变量、对象表达式可以是常量、变量、对象.属性名、属性名、表达式表达式左右两边类型必须一致,否则强制类型转换左右两边类型必须一致,否则强制类型转换字符与数值不能互相赋值字符与数值不能互相赋值例:例:text1.text=“hello!”dim myname as stringmyname=“helen”dim myage as integermyage=myage+12.2赋值与注释语句和一句多行与一行多句赋值与注释语句和一句多行与一行多句2.2.2 注释语句注释语句1.rem注释注释格式:格式:rem 注
25、释内容注释内容2.单引号单引号注释注释格式:格式: 注释内容注释内容两种格式都可以占一整行或半行(写在语句后边对语句两种格式都可以占一整行或半行(写在语句后边对语句注释)前者占半行时需在语句后加上冒号注释)前者占半行时需在语句后加上冒号2.2.3 一句多行与一行多句一句多行与一行多句1.一句多行一句多行在行尾加上在行尾加上 “_”表示续行,即:该行还没完,此时不表示续行,即:该行还没完,此时不能在后边加注释能在后边加注释例:例:text1.text=text1.text+”hello,”_+”大连水产学院大连水产学院”2. 一行多句一行多句语句之间用冒号分隔。语句之间用冒号分隔。例如:例如:a
26、=8:b=9:c=102.3.1 分支结构分支结构2.3基本控制结构基本控制结构1.if then 结构结构语法:语法:if 条件条件 then 语句语句组组end if或或写作写作:if 条件条件 then 语句(必须是单个语句的情况)语句(必须是单个语句的情况)例:例:if a 0 then b = a else b = -a .if then else结构语法:if a then 或 if a1 then bb1else else if a2 then cb2end if else if a3 thenb3 elsebn end ifif a0 thenprint aend ifif a
27、 0 then b = aelse b = -aend if if score 60 then print “fail” elseif score70 then print “pass” elseif score80 then print “middle” elseif score90 then print “good” else print “excellent” end ifselect case语句语句语法:语法:select case 表达式表达式case case case case elseend select例:例:select case scorecase 5print “be
28、st”case 4print “better”case 3print “good”case else print “fail”end select说明:说明:(1)值的形式可以是:)值的形式可以是:具体常数:具体常数:1,2,3,“a”等等连续的数据范围:连续的数据范围:1 to 100, a to z满足某个条件的表达式:满足某个条件的表达式:10多个不同范围,用逗号阁开:多个不同范围,用逗号阁开:1,3 to 5,9(2)select case 结构在开始处计算表达式的值,结构在开始处计算表达式的值,ifthenelse结构在每个结构在每个elseif处计算表达式的值处计算表达式的值(3)
29、如果不止一个如果不止一个case子句与表达式的结果相同则只执行第一个子句子句与表达式的结果相同则只执行第一个子句(4)case else放在放在select case结构的最后结构的最后4.嵌套嵌套嵌套的嵌套的if语句中,语句中,endif语句自动与最靠近的前一个语句自动与最靠近的前一个if语句配对语句配对尽量用缩进的方式书写结构语句和循环语句尽量用缩进的方式书写结构语句和循环语句1 do循环循环无条件循环:无条件循环:do语句组语句组exit do语句组语句组loop有条件循环:条件为有条件循环:条件为true时执行循环体,时执行循环体,条件为条件为false时退出循环体。时退出循环体。do
30、 while 语句组语句组exit do语句组语句组loop条件条件为为false时执行循环体,条件为时执行循环体,条件为true时退出循环体。时退出循环体。do until 语句组语句组exit do语句组语句组loop2.3.2 循环结构循环结构do语句组语句组exit do语句组语句组loop until 当满足条件时执行循环体。当满足条件时执行循环体。while 循环体循环体wenddo语句组语句组exit do语句组语句组loop while 在循环终止时测试循环条件,循环无条件执行一次:在循环终止时测试循环条件,循环无条件执行一次:do循环的循环体中必须有使循环条件变为循环的循环体
31、中必须有使循环条件变为false的语句,否则,循环的语句,否则,循环会永远进行下去。即:产生死循环。会永远进行下去。即:产生死循环。2. for循环循环语法:语法:for =tostep 循环体循环体exit fornext for语句的执行步骤:语句的执行步骤:step 1:设置循环控制变量为循环初值设置循环控制变量为循环初值step2:如果步长为正,判断循环控制变量是否大于循环终值,如果如果步长为正,判断循环控制变量是否大于循环终值,如果步长为负,判断循环控制变量的值是否小于循环终值,如果是,退出步长为负,判断循环控制变量的值是否小于循环终值,如果是,退出循环,否则,执行循环体。循环,否则
32、,执行循环体。step3:循环控制变量循环控制变量=循环控制变量循环控制变量+步长步长step4:goto step2注:步长可以为负,步长缺省时为注:步长可以为负,步长缺省时为1内部函数:内部函数:vb提供的函数提供的函数函数调用:函数名(参数函数调用:函数名(参数1,参数,参数2)2.4.1 算术函数算术函数vb提供的进行算术运算的函数。提供的进行算术运算的函数。2.4常用内部函数常用内部函数2.4.2 字符串函数字符串函数vb提供的进行字符串处理的函数。提供的进行字符串处理的函数。2.4常用内部函数例例:设计一个将输入的字符串反向显示的程序设计一个将输入的字符串反向显示的程序privat
33、e sub cmdstart_click() dim str, strreverse as string dim i,n as integer str = txtinput.text: n = len(str) for i = 1 to n strreverse = strreverse & right(str, 1) str = left(str, len(str) - 1) next i txtoutput.text = strreverseend sub例例:译电文译电文,为了保密为了保密,在电文传输过程中往往将电文加密在电文传输过程中往往将电文加密,收电文时再转换回来。比如收电
34、文时再转换回来。比如:按下列规律译:按下列规律译:a变成变成e,b变成变成f, w变成变成a, x变成变成b, y变成变成c, z变成变成d。private sub cmdstart_click() dim sourcestr, secretstr as string dim i as integer secretstr = sourcestr = txtinput.textfor i = 1 to len(sourcestr) c = mid(sourcestr, i, 1) if c = a and c = a and c = w and c = w and c = z then c =
35、chr(asc(c) + 4 - 26) else c = chr(asc(c) + 4) end if end if secretstr = secretstr & c next itxtoutput.text = secretstrend sub2.4. 3日期与时间函数日期与时间函数作用:用于对日期和时间进行处理的函数。作用:用于对日期和时间进行处理的函数。2.4. 4类型转换函数类型转换函数作用:用于进行不同数据类型之间转换的函数。作用:用于进行不同数据类型之间转换的函数。ascii码与字符串之间的转换码与字符串之间的转换 ascii码转换成字符串:码转换成字符串:chr 如:
36、如:chr$(13)将将ascii码码13转换成转换成“回车回车”, chr$(10)将将ascii码码10转换成转换成“换行换行”。字符串转换成字符串转换成ascii码:码:asc。例:例:private sub form_click()cls 清除窗体清除窗体dim i as integer 声明声明i为整型变量为整型变量for i=asc(“h”) to asc(“z”)print i 打印相应的打印相应的asc值值next iend sub分析执行结果,然后上机看执行结果。分析执行结果,然后上机看执行结果。(2)数与字符串之间的转换)数与字符串之间的转换str$,format$,val
37、将数转换成字符串:将数转换成字符串:str$ ,这些数包括实数、货币、整数。这些数包括实数、货币、整数。将数据进行格式化:将数据进行格式化:format$,将数、日期、时间、字符串按指定将数、日期、时间、字符串按指定 格式进行格式化。例如:格式进行格式化。例如:a=51.8375 b=format(a,”00.000”),则则b=51.838将字符型数转化为数值型数:将字符型数转化为数值型数:val注:文本框的内容、标签上的数为字符串类型,不能直接计算。注:文本框的内容、标签上的数为字符串类型,不能直接计算。(3)一种数据类型转换成另一种数据类型:)一种数据类型转换成另一种数据类型:fix:实
38、数转换成整数,取整。实数转换成整数,取整。int:实数转换成整数,四舍五入。实数转换成整数,四舍五入。inputbox函数一般用于输入,函数一般用于输入,messagebox用于输出:用于输出:2.5.1 inputbox函数函数作用:接受用户从键盘输入的内容作用:接受用户从键盘输入的内容格式:格式:inputbox(提示信息,(提示信息,标题,标题,缺省值,缺省值,xpos,ypos,帮助帮助文件文件名,帮助主题号名,帮助主题号)说明:说明:1. 当按当按“确定确定”按钮时函数的返回值是输入的文本内容,按按钮时函数的返回值是输入的文本内容,按“取取消消”按钮时返回空串。按钮时返回空串。2.
39、提示信息提示信息为在输入对话框中显示的提示信息,长度不超过为在输入对话框中显示的提示信息,长度不超过10243. 标题为输入对话框的标题拦显示的信息,缺省为应用程序名标题为输入对话框的标题拦显示的信息,缺省为应用程序名4. 缺省值为缺省的输入内容缺省值为缺省的输入内容5. xpos,ypos对话框在屏幕上的起始位置对话框在屏幕上的起始位置2.5输入与输出输入与输出例:例:thefile = inputbox(“请输入文件名:请输入文件名:”, “输入对话框举输入对话框举例例”,“file1”)产生的对话框为:产生的对话框为:private sub form_click() text1.text
40、 = inputbox(hello)end sub2.5.2 msgbox函数函数作用:消息框是作用:消息框是vb用用msgbox函数或语句提供的一种对话框,函数或语句提供的一种对话框,它本身不是用控件实现的。当用函数实现时有返回值,通过返回值它本身不是用控件实现的。当用函数实现时有返回值,通过返回值可以继续下一步的工作。主要作用是向用户发布提示信息,要求用可以继续下一步的工作。主要作用是向用户发布提示信息,要求用户做出相应的响应。户做出相应的响应。格式:格式:msgbox(提示信息(提示信息,按钮类型,按钮类型,标题,标题, ,帮助帮助文件文件名,帮助主题号名,帮助主题号 )说明:说明:1.
41、 提示信息和标题均为字符串常量或字符串变量提示信息和标题均为字符串常量或字符串变量2. 提示信息是在消息框中显示的信息提示信息是在消息框中显示的信息3. 标题为消息框的标题显示的信息。标题为消息框的标题显示的信息。4. 按钮类型可以用符号常量,也可以用数字,当为数字时为按钮类型可以用符号常量,也可以用数字,当为数字时为c1+c2+c3+c4的和的和例例1:例例2:5. msgbox函数也有返回值,返回值是由所按的按钮确定的,函数也有返回值,返回值是由所按的按钮确定的,含义含义例:例: result = msgbox(“数据正确吗?数据正确吗?”, 65, “消息框举例消息框举例”) retur
42、n缺省按钮及其对应的值符号常量值缺省的活动按钮vbdefaultbutton10第一个按钮为缺省的活动按钮vbdefaultbutton2256第二个按钮为缺省的活动按钮vbdefaultbutton3512第三个按钮为缺省的活动按钮指定缺省按钮的符号常量和相应数值指定缺省按钮的符号常量和相应数值return按钮的类型及其对应的值符号常量值在消息框上显示出来的按钮vbokonly0“确定”按钮vbokcancel1“确定”和“取消”按钮vbabortretryignore2“终止(a) ” 、 “重试(r) ”和“忽略(i) ”按钮vbyesnocancel3“是(y) ” 、 “否(n) ”
43、和“取消”按钮vbyesno4“是(y) ” 、 “否(n) ”按钮vbretrycancel5“重试(r) ”和“取消”按钮return图标的类型及其对应的值符号常量值在消息框上显示出来的图标vbcritical16见图 1vbquestion32见图 2vbexclamation48见图 3vbinformation64见图 4return消息框的强制返回性消息框的强制返回性return例:想让消息框的按钮为例:想让消息框的按钮为vbyesnocancel类型、第二个按钮为缺省类型、第二个按钮为缺省 按钮而且图标为感叹号则第二个参数值设为:按钮而且图标为感叹号则第二个参数值设为: 307=
44、3+256+48语句为:语句为: text2.text = msgbox(“hello”, 307, “test”)或或 text2.text = msgbox(hello, vbyesnocancel + vbdefaultbutton2 _+ vbexclamation, test)returnmsgbox 函数返回值符号常量值所对应的按钮vbok1“确定”vbcancel2“取消”vbabort3“终止”vbretry4“重试”vbignore5“忽略”vbyes6“是”vbno7“否”例:注册窗口的设计:例:注册窗口的设计:private sub command1_click() if
45、 text1.text = dl then if text2.text = dz then form2.show form1.hide else if msgbox(口令错误!重新输入吗?, 52, 错误信息) = 6 then text2.text = text2.setfocus else end end if end ifelse if msgbox(“用户名错误!重新输入吗?”, 65, “用户名错误信息”) = 1 then text1.setfocus text1.text = else end end if end if end sub2.5.3 print方法方法作用:在窗体、
46、图片框或打印机上输出文本作用:在窗体、图片框或打印机上输出文本格式:格式:对象对象.print 表达式列表表达式列表说明:说明:1. 表达式列表中间的分隔符可以是逗号或分号,分号表示按紧凑表达式列表中间的分隔符可以是逗号或分号,分号表示按紧凑格式输出,逗号表示按标准位置输出。格式输出,逗号表示按标准位置输出。例:例:2. 表达式列表缺省时输出一空行表达式列表缺省时输出一空行例例:3. 行尾可以有逗号、分号和回车,逗号、分号的含义同行尾可以有逗号、分号和回车,逗号、分号的含义同1,表示,表示下一个下一个print语句的输出内容与当前语句的输出内容与当前print语句的最后一个输出语句的最后一个输
47、出项的位置关系,回车表示换行。项的位置关系,回车表示换行。例例:4. 可以用格式函数控制输出格式,这些格式函数包括:可以用格式函数控制输出格式,这些格式函数包括:format、spc、tab例例private sub command1_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, b, c print a; b; cend subreturnprivate sub command1_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, b, c print
48、 print a; b; cend subreturnprivate sub command3_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, print b; print c print a; b; cend subreturn2.6数组数组2.6.1 数组声明数组声明1.数组定义:数组定义:格式:格式:dim |global 数组名(数组元素上下界,数组名(数组元素上下界,) as 类型类型说明:说明:(1)数组元素上下界可以表示为:下界)数组元素上下界可以表示为:下界 to 上界,缺省时数组下上界,缺省时数组下界时序
49、号从界时序号从0开始编号。开始编号。(2)数组元素上下界的个数表示数组的维数)数组元素上下界的个数表示数组的维数(3)数组为变体类型时不同数组元素可以赋不同类型的值。)数组为变体类型时不同数组元素可以赋不同类型的值。(4)数组不同于普通变量,使用前必须先声明。)数组不同于普通变量,使用前必须先声明。2.option base语句语句格式:格式:option base 0|1功能:声明数组的缺省下标功能:声明数组的缺省下标说明:说明:(1)数组的默认缺省下标为)数组的默认缺省下标为0,可以用该语句将其改为,可以用该语句将其改为1(2)一个模块中只能出现一次该语句,且必须放在数组声明语句)一个模块
50、中只能出现一次该语句,且必须放在数组声明语句 之前。之前。2.6.2 静态数组和动态数组静态数组和动态数组1.静态数组:固定大小的数组,维数和大小不能改变。静态数组:固定大小的数组,维数和大小不能改变。 动态数组:运行时可以改变其大小的数组,事前可以不指定数组动态数组:运行时可以改变其大小的数组,事前可以不指定数组的大小,在需要时指定。的大小,在需要时指定。格式:格式:redim preserve 数组名(数组元素上下界,数组名(数组元素上下界,) as 类型类型说明:说明:(1)redim 用于为动态数组重新分配存储空间,只能改变每一维用于为动态数组重新分配存储空间,只能改变每一维的数组元素
51、的个数,不能改变数组的维数。的数组元素的个数,不能改变数组的维数。(2)当改变数组元素最末维的大小时用)当改变数组元素最末维的大小时用preserve可以保留数组中原可以保留数组中原来的数据。来的数据。(3)不能改变数组元素的类型)不能改变数组元素的类型(4)如果将数组元素改小,被删元素的数据就会丢失)如果将数组元素改小,被删元素的数据就会丢失private sub command1_click() dim a() as integer dim x, y as integer x = 5 y = 9 redim a(5, 9) redim a(x + 1, y + 1) redim prese
52、rve a(x + 3, y + 6)end sub例:点击按钮时,用输入对话框输入一个整数例:点击按钮时,用输入对话框输入一个整数n,然后求然后求fabonacci数列:数列:1,1,2,3,5,8,13,21,到第到第n项,并把结果输出项,并把结果输出到窗体上到窗体上fabonacci数列的关系:数列的关系:f1=1f2=1fn=fn-1+fn-2private sub command1_click() dim i, f() as integer dim n as integer n = val(inputbox(please input a integer:, fabonacci, 10
53、) if n 0 then redim f(n) f(0) = 1: f(1) = 1 for i = 2 to n f(i) = f(i - 1) + f(i - 2) next i for i = 0 to n print f(i), if i+1 mod 5 = 0 then print end if next i end if printend sub2.6.3 多维数组:多维数组:1.定义:定义:dim |global 数组名(最大长度,最大长度,数组名(最大长度,最大长度,.) as 类型类型2.使用:使用:用多重循环来使用。例用多重循环来使用。例for i=1 to nfor j
54、=1 to ma(i,j)=0next jnext i2.折半查找法折半查找法在一组已经排好序的数中查找某个数。折半查找是通过在一组已经排好序的数中查找某个数。折半查找是通过每次得到被查数据范围的中间数据,然后与被查数据进每次得到被查数据范围的中间数据,然后与被查数据进行比较,如果该中间数据大于被查数据,则查找前半部行比较,如果该中间数据大于被查数据,则查找前半部分,否则查找后半部分,依此进行排查。分,否则查找后半部分,依此进行排查。例:某物的价钱在例:某物的价钱在11024之间一般的猜法为:之间一般的猜法为:高了512?256?低了320?高了高了384?288?恭喜!答对了!当点击窗体时,
55、用输入对话框输入要查找的数,被查找的范围事先指定,并在窗体被激活时显示在窗体上。const n = 10dim a(n) as integerprivate sub form_activate() dim i, j as integer a(1) = 1: a(2) = 5: a(3) = 8: a(4) = 16: a(5) = 23 a(6) = 31: a(7) = 59: a(8) = 88: a(9) = 96: a(10) = 123 print the array is: for i = 1 to n print a(i), next i printend subprivate
56、sub form_click() dim findnum, curlocation, top, bott as integer dim found as boolean found = false findnum = val(inputbox(please input a number, the number) top = n: bott = 1 do curlocation = bott + int(top - bott) / 2) if findnum = a(curlocation) then found = true exit doelse if findnum a(curlocati
57、on) then bott = curlocation + 1 else top = curlocation - 1 end if end if loop while not found and bott a(j + 1) then temp = a(j) a(j) = a(j + 1) a(j + 1) = temp end if next j next iprint print print the array before sorted: for i = 1 to n print a(i), next i printend sub3.1.1 面向对象的程序设计面向对象的程序设计对象:客观世
58、界的任何一个个体都可以称为一个对象。对象:客观世界的任何一个个体都可以称为一个对象。例:窗体、按钮、菜单项、文本框、标签等。例:窗体、按钮、菜单项、文本框、标签等。面向对象的程序设计是事件驱动的。面向对象的程序设计是事件驱动的。事件:发生在对象上的动作。事件:发生在对象上的动作。例如:例如:点击点击窗体、在窗体上窗体、在窗体上拖动鼠标拖动鼠标、文本框文本框内容改变内容改变、文本框文本框按下键盘按下键盘等。等。3.1基本概念方法:对象能完成的动作方法:对象能完成的动作例如:按钮例如:按钮移动移动、控件、控件获得焦点获得焦点、控件、控件内容刷新内容刷新等等属性:对象所具有的性质属性:对象所具有的性
59、质例如:控件的例如:控件的名字名字、控件的、控件的外观外观、控件的、控件的字体字体、控件的、控件的大小大小、应用程序的、应用程序的图标图标等。等。private sub form_click() print helloend sub面向对象程序设计是事件驱面向对象程序设计是事件驱动的,各对象的事件过程的动的,各对象的事件过程的执行顺序是随机的,是取决执行顺序是随机的,是取决于事件发生的顺序。例:于事件发生的顺序。例:对象是代码和数据的集合,对象必须通过对象来引用,一对象是代码和数据的集合,对象必须通过对象来引用,一个窗体是一个模块,本窗体内部的对象可以直接用名字来个窗体是一个模块,本窗体内部的
60、对象可以直接用名字来访问,在本窗体之外引用窗体内的对象,必须在对象名前访问,在本窗体之外引用窗体内的对象,必须在对象名前加上窗体名。例:加上窗体名。例:有两个窗体:有两个窗体:form1和和form2,各有一个文本框,名字都各有一个文本框,名字都叫叫txt1、一个命令按钮,名字都叫一个命令按钮,名字都叫cmd1,在窗体在窗体form1的的cmd1的的click事件中写代码:事件中写代码:private sub cmd1_click() form2.txt1.text = helloend sub同一个窗体上的两个同类控件属于两个不同的对象,例如:同一个窗体上的两个同类控件属于两个不同的对象,例如:窗体上有两个文本框分别叫:窗体上有两个文本框分别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食堂承包经营员工劳动权益保障协议3篇
- 2025年食堂蔬菜粮油智能化管理系统合作协议3篇
- 2025年度个人房产托管服务合同范本4篇
- 2025版高科技园区门卫值班人员岗位聘用合同协议4篇
- 2025年度个人虚拟现实体验服务合同范本4篇
- 物业服务公司2025年度合同管理制度解读6篇
- 个体损害和解合同格式(2024年版)版B版
- 2025年度生态园林虫害生物防治技术合同范本3篇
- 2025年度数码产品代销合同范本
- 2025年食堂食堂食材采购及加工配送协议3篇
- 割接方案的要点、难点及采取的相应措施
- 2025年副护士长竞聘演讲稿(3篇)
- 2024年08月北京中信银行北京分行社会招考(826)笔试历年参考题库附带答案详解
- 原发性肾病综合征护理
- 2024年高考英语复习(新高考专用)完形填空之词汇复现
- 【京东物流配送模式探析及发展对策探究开题报告文献综述4100字】
- 施工现场工程令
- 药物经济学评价模型构建
- Daniel-Defoe-Robinson-Crusoe-笛福和鲁滨逊漂流记全英文PPT
- 第一章威尔逊公共行政管理理论
- 外科护理(高职护理专业)PPT完整全套教学课件
评论
0/150
提交评论