1 / 65

Visual Basic 程序设计 本书共有十章,介绍了 VB6.0 基本功能和使用方法。主要内容有: 1.          VB6.0 集成开发环境

Visual Basic 程序设计 本书共有十章,介绍了 VB6.0 基本功能和使用方法。主要内容有: 1.          VB6.0 集成开发环境   2.          程序设计基础   3.          窗体和基本输出、输入 4.          常用控件   5.          工程和程序管理   6.          VB 应用程序的结构   7.          菜单程序设计   8.          窗体设计   9.          文件处理. 第一章 VB 语言概述 学习目标:

Download Presentation

Visual Basic 程序设计 本书共有十章,介绍了 VB6.0 基本功能和使用方法。主要内容有: 1.          VB6.0 集成开发环境

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic 程序设计 本书共有十章,介绍了VB6.0基本功能和使用方法。主要内容有: 1.          VB6.0集成开发环境   2.          程序设计基础   3.          窗体和基本输出、输入 4.          常用控件   5.          工程和程序管理   6.          VB应用程序的结构   7.          菜单程序设计   8.          窗体设计   9.          文件处理

  2. 第一章 VB语言概述 学习目标: 了解:VB程序的基本特点,VB与其他可视化程序的区别 学习要点: 可视化设计,事件驱动编程。 1.1 一个示例 见程序CH1例 1.2 VB应用程序的基本特点 1.  可视化设计 “所见即所得”

  3. 2.  事件驱动编程 由用户编写的代码控制某些事件(如鼠标单击,键盘键入等)的响应,这就是事件驱动编程。 1.3 VB与其他可视化编程工具的区别 1.  VB不支持虚类、多态性和类的继承 2.  VB简单易学,变量定义不太严密,但同样也支持网络编程和数据库编程。

  4. 第二章 VB6.0集成开发环境 学习目标: 1.  掌握主窗口、窗体窗口、工具箱窗口、属性窗口、工程资源管理器窗口的使用; 2.  理解对象与事件驱动的概念 3. 了解应用程序开发示例 学习要点: VB6.0的集成开发环境,对象与事件驱动概念,使用VB6.0开发应用程序的基本方法。

  5. 2.1 VB6.0中文版的启动与退出 2.2 VB6.0 的集成开发环境 工具箱、窗体、工程资源窗口、属性窗口、窗体布局窗口、和代码编辑窗口 1.  菜单栏 2.  工具栏 3.  工具箱 4.  代码编辑器窗口 代码窗口有四部分组成: A. 标题条 B. 对象框 C. 事件框 D.代码框

  6. 1.  工程窗口 2.  属性窗口 3.  窗体 2.3 对象与事件驱动 1.世界上存在的任何具体的事物都可以称之为对象。 2.类:是具有相同性质的对象的集合。 3.前者是具体的,后者是抽象的。

  7. 2.3.1 属性、方法和事件概述 一个具体的对象具有一些特定的属性、方法和事件。 可见P20 的气球事例: 设置气球属性: Balloon.Color=red Balloon.diameter=10 Balloon.inflated=true 在属性窗口中设置 调用气球对象的方法是: balloon.inflate balloon.deflate balloon.rise 5

  8. 气球对一个对象的响应: sub balloon_puncture() balloon.deflate balloon.makenoise”bang” balloon.inflated=false balloon.diameter=1 end sub 2.3.2 事件驱动 1.  窗口、事件和消息 2.  事件驱动模型

  9. 2.4 VB6.0应用的基本开发方法 2.4.1 交互式开发 2.4.2 事件驱动应用程序的工作方式 事件驱动应用程序中的典型事件序列 ●启动应用程序,装载和显示窗体。 ●窗体(控件)接收事件。 ●如果在相应的事件过程中存在代码,就执行代码。 ● 应用程序等待下一次事件。

  10. 2.5 应用程序开发示例 创建VB应用程序有三个步骤: 1.  创建应用程序界面 2.  设置属性 3.  编写代码 见书本上具体程序

  11. 第三章 程序设计基础 学习目标: 1.  掌握数据类型、表达式、操作符的正确使用 2.  理解程序流程的控制、常见标准函数 3.  了解简单的应用程序开发 学习要点: 数据类型、表达式和运算符,程序流程的控制结构,常见标准函数。 VB的程序设计是面向对象的可视化程序设计。 模块分有窗体、类和标准模块三种类型。

  12. 3.1 数据类型 常见的有两种类型:数值和字符串 VB标准数据类型简要说明P33表3-1 VB中的数据以四种形式存储:变量、常量、数组和记录。 名字 能够存储的数据 变量 一个可以改变的值 常量 一个固定的值 数组 多个数据类型(包括VARIANT数据类型)的值 记录 多个不同数据类型的数据值

  13. 3.1.1            变量与常量 1.  变量 变量是指在程序运行中其值可以改变的那些量。 (1)       变量命名规则 ①   第一个字符必须是字母 ②   后接字符可以是字母、数字、下划线。但不可以有小数点、空格以及!,@,#,$,%,和&等变量类型说明符。 ③   最后一个字符可以是类型说明符(!,@,#,$,%,&),当然类型说明符也可以省略。 ④   变量名最长可达255个字符。 ⑤   不能与保留字重名

  14. (1)       声明变量 有两种方法:隐式声明和显式声明(Option Expilicit) (2)       使用DIM语句声明变量 (3)       全局变量的声明 2.  常量 常量指在程序运行过程中,其值不能改变的量。 ①   系统内部常量 ②   符号常量

  15. ②     符号常量 定义语法如下: [Public | Private]Const 变量名 [As 数据类型]=表达式 说明: ①     用CONST声明的常量在程序运行的过程中是不能被重新赋值的; ②     在常量声明的同时要对常量赋值; ③     可以为声明的常量指定类型; 在使用一常量为另一常量初始化时注意循环引会出错。

  16. 3.1.2 整数类型数据 1.  整型(integer) 2.  长整型(long) 3.1.3 浮点类型数据 1. 单精度型(single) 2. 双精度型(double) 3.1.4 布尔型(Boolean) 3.1.5 货币型(currency) 3.1.6 字符串(string) 1. 可变长字符串 2. 定长字符串

  17. 3.1.7 VARIANT 类型数据 它能够表示所有系统定义类型的数据。 注意区分EMPTY和NULL 3.1.8 DATE类型数据 3.1.9 数据类型转换 数据类型转换函数P41表3-4 3.1.10 数组 数组可以用Dim,Private,Public或Static来声明 1.数组定义语法如下: Dim数组名([下标下界 TO] 下标上界])[AS数据类型] 用[]括起的内容可以选择使用。

  18. 2.OPTION BASE语句(用来声明数组下标的缺省下界) OPTION BASE语句的语法如下: OPTION BASE{0 | 1} 说明: ①     数组名命名规则和变量名的相同 ②    数组名后用圆括弧括起来的,不能用方括弧,不同与C语言 ③     下标的下界必须不能大于其上界 可以用变量名或常数名(以及实数)作下标的边界

  19. VB中数组又可分为两种数组:静态数组和动态数组VB中数组又可分为两种数组:静态数组和动态数组 3.静态数组 静态数组是指数组元素的个数是固定不变的。 有一维数组和多维数组 多维数组的语法格式为: DIM数组名([下标边界列表]) [AS 数据类型] 下标边界列表是指用逗号分开的数组各维的下标边界,即 [下标下界 TO]下标上界,[下标下界 TO]下标上界,。。。。。。[下标下界 TO]下标上界

  20. 4.动态数组 在声明时,不给出维数列表就是将数组声明为动态数组。 例如:DIM Myarry()AS integer 在使用动态数组前,必须使用ReDim语句把它重新定义。 把上面声明的重新定义: ReDim MyArry(10,10) ReDim 可重复定义,维数最大是60,但是在重复定义时要注意数组每维的元素可变,但不能改变维数。 Dim MyArry()As Single ‘声明动态数组 ReDim MyArry(30,20,10) ‘重新定义数组 ReDim MyArry(50,23,21) ‘再次重新定义数组

  21. 在使用ReDim重新定义时,会使所有的数组元素的值消失,而使用Preserve可以保留数据。但要注意只有在一维数组和多维数组只改变最后一维的大小的这一类是,才能保留全部数据,否则出错。 在使用ReDim重新定义时,会使所有的数组元素的值消失,而使用Preserve可以保留数据。但要注意只有在一维数组和多维数组只改变最后一维的大小的这一类是,才能保留全部数据,否则出错。 如:ReDim MyArry(50,23,21) ReDim Preserve MyArry(50,23,50)

  22. 5.LBound函数和Ubound函数 两者都是返回一个LONG型的数据,前者得到的值为指定数组维数可用的最小下标,后者是最大下标。 语法是: LBound(数组名[,指定的维数]) UBound(数组名[,指定的维数]) 1,  表示第一维,2,表示第二维,如此类推。

  23. 如: DIM A(1 TO 100,3,-3 TO 4)AS INTEGER 若Lbound(A,1) 返回为 1 Lbound(A,2) 0 Lbound (A,3) -3 Ubound(A,1) 100 Ubound(A,2) 3 Ubound(A,3) 4

  24. 6.数组的高级功能 数组的内容可复制 可通过每次复制一个字节来实现,程序如下: Sub ByteCopy (oldCopy()As Byte,newCopy()As Byte) ‘参数oldCopy()是源数组,newCopy()是目的数组。 Dim I As Integer ReDim newCopy(Lbound(oldCopy)To Ubound(oldCopy)) ‘重新定义动态数组 For I=Lbound(oldCopy)To Ubound(oldCopy)‘循环赋值 newCopy(I)=oldCopy(I) Next End Sub

  25. (1)       维数、数据类型不同的数组赋值考虑的几个因素 赋值符左边的数组类型:静态数组或动态数组 赋值符左边数组的维数是否和赋值符右边数组的维数匹配 赋值符两边数组的每一维的数组元素个数是否匹配 赋值符两边所有元素的数据类型必须是相容的。 详细的见P46的表3-6 (2)       编写返回数组的函数 看书P46-47程序

  26. 3.1.11 记录类型(用户自定义类型) 记录,又称“用户自定义数据类型”,是由多个变量构成的结构化的数据类型。变量称做记录的的成员。成员可以是不同数据类型的变量(包括记录类型) 1.  记录类型定义 记录数据类型用Type。。。End Type语句定义。 如:Type Student Num As Integer Name As String *20 Sex As String*1 Age As Integer

  27. Score As Single Addr As String*30 End Type 语法格式为:    [Private Public]Type 记录类型名       成员表列 End Type 其中:public 是可选的,用于声明可在所有的工程的所有模块的任何过程中使用的记录类型。 Private 是可选的,用于声明只能在包含该声明的模块中使用的记录类型。

  28. 成员列表是该记录数据类型中的各个成员的集合。成员列表是该记录数据类型中的各个成员的集合。   每个成员都要进行类型声明,    成员名 As 数据类型 Type 语句只能在模块的声明部分使用。 具体的在书P49表3-7用户自定义变量类型的声明位置及作用范围 1.  定义记录类型变量 定义一个记录类型后,可用DIM(或PUBLIC,STATIC)来声明拥有这种数据类型的变量。 如:DIM Student1,Student2 As Student

  29. 1.  赋值个检索值 类似对象属性的设置和获取。如: MySystem..CPU=”486” If MySystem.Purchase>#1/1/92# Then 了解嵌套记录 2.  记录数组 一个记录变量是一组数据。类似这样的就是记录数组: dim students(1 to 2) as student

  30. 3.2 运算符与表达式 运算符是用来对运算对象进行各种运算的操作符号,而表达式是由多个运算对象和运算符组合在一起的合法算式。 VB中运算符共分为五类:算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符。 3.2.1算术运算符 1.^(幂运算符) 在幂运算符右边的数或表达式是次方数。 2^3=8 2.+(加或取正值) 3.- (减或取负值)

  31. 4.* (乘运算符) 2*5=10 5./ (除) 1.  5/2。5=1。8 6.\ (整数除法) 5\3=1 7.MOD(求余) 5 MOD 3=2

  32. 3.2.2 连接运算符 VB中有&和+,用于字符串的连接。 Dim mystr Mystr =”hello”&”world” ‘返回”hello world” Mystr=”check”&123&”check” ‘返回”check 123 check” Mystr=”hello”+”world” ‘返回”hello world” 两者的区别要注意: &强制两个表达式作字符串连接; +两边的表达式中混着数值字符串及数值的话,其结果会是数值的求和,若是字符串则进行连接。 因此为了避免混淆,可用&运算符进行字符串连接。

  33. 3.2.3 关系运算符 关系运算符用来比较两个数或表达式的运算符,用来确定表达式之间关系,运算的结果有true、false和null三种。 使用方法: result=expression1 comparisonoperator expression2 (结果变量=表达式1 关系运算符 表达式2) 具体关系运算符使用的说明P54表3-9 表达式的比较方式P54表3-10 如果两个比较的表达式都是可变类型的表达式,则它们内部数据的类型决定了比较方式。

  34. 3.2.4 逻辑运算符 1.  And(逻辑与)运算符 A and b 当且仅当 a,b同为true时,结果为true,否则为false Dim a,b,c,d,mycheck A=10: b=8:c=6:d=null Mycheck=a>b and b>c ‘返回true Mycheck=b>a and b>c ‘返回false Mycheck=a>b and b>d ‘因为d的值为null,返回null Mycheck=a and b ‘返回8(位比较的结果)

  35. 2.  Eqv(逻辑相等)运算符 A eqv b a,b 相同时,结果为true,否则结果为false 3.  imp(逻辑隐含)运算符 a imp b 当且仅当a 为true ,同时 b为false时,结果为false, 否则结果为true 4.  Not (逻辑非)运算符 Not a 若a 为true,则结果为false,否则结果为true 5.  Or(逻辑或)运算符 A or b 当且仅当a,b 同时为false时,结果为false,否则结果为true 6.  Xor(逻辑异或)运算符 A xor b a,b 不同时,结果为true,否则结果为false

  36. 3.2.5 特殊运算符 VB中两种特殊运算符:is 和like 1.  Is 运算符 Is运算符用来比较两个对象的引用变量,返回结果为true或false 语法格式: result=object1 is object2 如果变量object1和object2两者引用相同的对象,则result为true;否则,result为false.

  37. 举例说明: dim myobject,yourobject,thisobject,thatobject,otherobject,_ mycheck … ‘给变量赋值 set yourobject=myobject set thisobject=myobject set thatobject=otherobject ‘假设myobject<>otherobject mycheck=yourobject is thisobject ’返回true mycheck=thatobject is thisobject ‘返回false

  38. 2.  Like 运算符 Like 运算符用来比较两个字符串,把一个字符串表达式与一个给定模式进行匹配,匹配成功返回结果true,否则返回结果false. 语法格式: result=string like pattern 使用like 应注意的方面有两点P58 掌握like 的具体应用p59

  39. 3.2.6 运算符的优先级 算术运算符、连接运算符、比较运算符和逻辑运算符 从 高 到 低 在所有的比较运算符具有相同的优先级;算术运算符和逻辑运算符,还要进一步划分。P60表3-17 3.2.7 语句 1.  赋值语句 语法规则: [let] 变量或属性=表达式 set 变量名=表达式

  40. 在赋值时要注意数据类型的匹配问题。 如:dim a as integer a=”hello world” 因为类型不匹配,就会导致错误。若是variant类型的变量,就不会发声类似的事情了。 Dim A A =”hello world” A=5

  41. 2.  注释语句 注释的方法有两种:使用rem关键字或撇号(’) 两者的区别是,使用rem关键字,则必须使用冒号(:)与前面的语句隔开。 如:dim I as integer dim sum as integer sum=1 for I=1 to 5:rem 求5的阶乘 sum=sum*1 next print sum

  42. 1.  程序续行 当一条语句太长,要将它分多行书写时,可在行尾加一个空格和一个续行符(下划线_)表示该语句在本行未写完,转到下一行继续。 2.  一行中的多条语句 多条语句可以写在一行,语句间加冒号(:)隔开。 如:sum=1: sum2=6

  43. 3.3 程序流程的控制 3.3.1 跳转 跳转是从程序的某一行到另一行的直接转移。 两种形式:无条件跳转和有条件跳转 使用goto 语句实现跳转为无条件跳转 形式: goto 语句标号 或 goto 行号 语句标号或行号必须存在,否则会出错。语句标号的命名规 则与变量名相同。 合法: goto ab, goto a1, goto 123 非法: goto a%, goto 10a

  44. 3.2.2 分支 分支是根据一定的条件来决定执行何种操作。VB中可由以下语句实现: if…then if…then…end if if…then…else if…then…elseif select case if 结构的语句,其判断条件表达式是true 或false.一个为零的数值为false,而任何非零数值都被看作true.。如条件表达式是变量,则变量必须是true或false。

  45. 如:if visible=ture then 其中可以省略=ture,让VB自动检测visible是ture或false。 If visible=false then 可写成 if not visible then 1.       if …then语句 语法规则: if 条件式 then 语句 若条件为真,则执行语句,要执行多条语句则这些语句要在同一行,并用冒号隔开;为假,则不执行。 例子P63

  46. 2.       if…then…end if语句 语法规则: if 条件式 then 程序段 end if 若条件式为真,则执行程序段,否则执行end if 后的语句

  47. 3.       if…then…else语句 语法规则: if 条件式 then 程序段1 Else 程序段2 end if 若条件式为真,则执行程序段1,为假,则执行程序段2。

  48. 4.       if…then…elseif语句 语法规则: if 条件式1 then 程序段1 elseif 条件式2 then 程序段2 。。。。。。 elseif 条件式n then 程序段n [else 默认程序段] end if 若条件式1为真,则执行程序段1,为假,则检查条件式2是否为真,为真则执行程序段2,为假则检查条件式3,依次类推。。。。。。,知道条件式n,若条件式n为假,则若存在[else 默认程序段]则执行默认程序段,否则跳到end if 后的语句。

  49. 5.       select case语句 语法规则: select case 测试表达式 case 表达式1 程序段1 [case 表达式2 程序段2] …… [case else 默认程序段] end select 注意:case 后面的表达式可以用to 关键字,指定数值的范围。较小的数在to的前面。

  50. P65测试表达式范围的示例 表达式 例子 关系 case is>=10 相等 case is=1.2 相等(暗含=) case 1.2 明确的范围 case -7 to 7 多重组合 case is<>21,is<100 例子P65

More Related