VB6[1].0入门教程.ppt_第1页
VB6[1].0入门教程.ppt_第2页
VB6[1].0入门教程.ppt_第3页
VB6[1].0入门教程.ppt_第4页
VB6[1].0入门教程.ppt_第5页
已阅读5页,还剩529页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章VisualBasic概述 VisualBasic是1991年美国微软公司推出的可视化Basic语言 它是在原来的Basic语言基础上发展而成的 VisualBasic中无需编写大量代码来编辑界面元素 只需要采用搭积木构建程序方式来编写程序 是现在开发人数最多的最通用的编程工具之一 本章内容包括 VisualBasic特点VisualBasicVisualBasic集成开发环境 1 1VisualBasic简介 VisualBasic是一种可视化的 面向对象和采用事件驱动机制的结构化高级程序设计语言 它可用于开发Windows环境下的各类应用程序 它具有简单易学 效率高 功能强大的特点 可以与Windows专业开发工具SDK相媲美 在VisualBasic环境下 开发人员利用事件驱动的编程机制 新颖易用的可视化设计工具 使用Windows内部的应用程序接口 API 函数 动态链接库 DLL 对象的链接与嵌入 OLE 开放式数据连接 ODBC 等技术 可以高效 快速地开发Windows环境下功能强大 图形界面丰富的应用软件系统 1 1 1版本区分 VisualBasic有学习版 专业版和企业版三种版本 以满足不同层次的开发需要 不同版本编写的应用程序大多数可以在三种版本中通用 学习版为VisualBasic的基本版本 适用于初期学习者及使用VisualBasic开发一般应用程序的开发人员 专业版为专业开发人员提供了功能完备的软件开发工具 企业版为专业编程人员开发程序提供了功能强大的组内分布式应用程序 1 1 2VisualBasic的特点 1 可视化编程2 面向对象的程序设计3 事件驱动机制4 强大开放的特点 1 1 3集成开发环境 1 1 3集成开发环境 1 1 4面向对象功能 从VisualBasic4开始 用户可以通过类模型方式创建和使用对象 对象可以被当作一个数据和单元的组合 如窗体 数据库等 VisualBasic对象可以封装属性 方法和事件 创建时可以重新定义其封装属性 方法和事件 VisualBasic对象可以极大简化重复代码的编写 使开发人员精力集中在程序内容而不是数量庞大的代码上 VisualBasic后续版本增强了该功能 并添加了许多新的面向对象的编程功能 1 1 5数据访问 在现代信息技术高度发达的今天 数据信息已经成为最重要资源之一 VisualBasic为开发人员提供了强大的数据访问技术 能够更快捷 更迅速 更高效地存储和读取数据信息 VisualBasic提供了更为强大功能来支持大中型数据库 如Oracle SQLServer Sybase等 1 1 6Internet功能 互联网 Internet 在现在通讯日益发达的信息世界占据了重要的地位 VisualBasic提供了许多功能为开发具有互联网功能的应用程序提供支持和帮助 VisualBasic在开发过程中可以创建服务器端的动态HTML DHTML 使用InternetTransfer控件检索和传输文件 利用WebBrowser控件浏览网页信息 采用MAPI收发电子邮件等一系列激动人心的功能 1 2VisualBasic6安装 本节将介绍如何安装VisualBasic6开发环境 将VisualBasic6的安装光盘放入计算机的光驱内 一般情况下计算机可以自动运行其中的安装程序 如果计算机没有自动运行安装程序 双击光盘盘符下的Setup exe文件 将显示VisualBasic安装程序界面 按照安装程序的提示进行相应的操作 1 3开始使用VisualBasic6 VisualBasic开发程序使用图形化界面与用户交流 本节介绍如何使用VisualBasic集成开发环境开发程序界面 设计窗体并通过实例演示如何使用VisualBasic进行应用程序开发 1 3 1开发界面 1 标题栏2 菜单栏3 工具栏4 工具箱5 窗体设计窗口6 工程资源管理器7 属性 面板8 布局 面板 1 3 2窗体使用 应用程序界面是直接面对用户的窗体及其他控件 一个优秀的应用程序应该窗体界面简洁 漂亮 控件布局科学 合理 用户使用舒适 方便 本小节重点介绍窗体的使用技巧 窗体布局调整可以在 格式 菜单中调整 也可以在 窗体编辑器 工具栏中进行编辑 1 3 3第一个程序 Hello World 本节将创建第一个程序Hello World 创建一个应用程序之前 必须明确以下几个重要步骤 1 制定计划 2 创建界面 3 编写代码 4 测试和调试程序 5 生成可执行文件 6 打包文件 1 3 3第一个程序 Hello World 1 3 3第一个程序 Hello World 1 3 4文件类型 1 工程组和工程文件2 窗体文件3 程序模块文件4 类模块文件5 资源文件 1 3 5编译可执行文件 应用程序创建后 必须生成可执行文件才能发布给最终用户 VisualBasic中生成可执行文件操作非常简单 选择 文件 生成xxx exe 命令 xxx为工程名称 弹出 生成工程 对话框 1 4常见问题及解答 1 将VisualBasic程序安装光盘放入光驱内 为何不自动安装VisualBasic 2 VisualBasic程序安装后 如何在系统中运行VisualBasic程序 1 5小结 本章简单介绍了VisualBasic基本知识 安装步骤 集成开发环境 本章重点和难点是如何安装VisualBasic和使用VisualBasic开发应用程序界面 读者需要重点练习使用VisualBasic集成开发环境 下一章将介绍数据类型 变量和常量 第2章数据类型 变量和常量 数据是用来存储程序需要调用的文字 数值 对象 图像等 包括多种类型 变量是程序用来临时存储数据 常量是以字符串形式用来代替固定数值 本章内容包括 数据类型变量常量 2 1数据类型 在应用程序中VisualBasic将以更高效率来处理已定义数据类型 VisualBasic包含七种数据类型 分别为数值型 Numeric 字符型 String 字节型 Byte 布尔型 Boolean 日期型 Date 对象型 Object 变体型 Variant 等 本节将详细介绍七种数据类型的定义和特点 2 1 1数值型Numeric 1 整数整型 整型取值范围为 32678 32677 以2个字节 16位 存储 用二进制码表示和参加运算 长整型 长整型取值范围为 2147483648 2147483647 以4个字节 32位 存储 2 浮点型 1 单精度型 2 双精度型 3 货币型 2 1 2字节型Byte 字节型 Byte 专为存储二进制数值类型 以1个字节来存储 如果变量声明包含二进制数 则声明为Byte数据类型的数组 取值范围为 0 255 除了减法外 所有对整数进行处理的运算符均可处理该类型 2 1 3字符型String 字符型 String 为最通用的数据类型之一 用来储存文本信息 每个字符对应1个字节 由ASCII字符序列组成 包括标准的ASCII字符和扩展ASCII字符及汉字等 字符型为包含在双引号内的若干个字符 示例2 3 显示不同类型字符串 表明长度为零的字符串为空字符串 VisualBasic 表明为字母字符串 赋予变量为 VisualBasic Hello World2008 表明为混合字符串 固定字符串最大取值范围为65535字节 变长字符串最大取值范围为0 231 2 1 4布尔型Boolean 布尔型 Boolean 为逻辑型 以2个字节来存储 它包含True或False Yes或No 在程序中一般用于判断语句 或者声明该数值为两种状态 如 开 或 关 2 1 5日期型Date 日期型 Date 为浮点数值形式保存 以8个字节存储 默认日期范围为1 1 100 1 1 9999 Windows操作系统下日期范围为1 1 1980 12 31 2099 时间范围为0 00 00 23 59 59 日期型数据用来表示日期类型 格式为 mm dd YYYY或者mm dd YYYY 在VisualBasic开发应用程序中可以定制日期模式 YYYY mm dd Y或y为年 m为月 d为日 2 1 6对象型Object 对象型 Object 为保存引用应用程序中的对象 以4个字节 32位 来存储 它可以用来引用图形图像 Word文件 Excel文件等 如果在运行应用程序之前 VisualBasic定义该特定类型对象的属性和方法 应用程序在运行时速度会更快 2 1 7变体型Variant 变体型 Variant 能保存所有类型数据 可以随时转换该数据为其他类型 变体型可以在程序中直接声明定义 用户不必过多关注Variant变量中的类型 VisualBasic可以在应用程序运行时自动进行必要的转换 2 1 8数据类型转换 程序开发过程中 需要将不同数据类型进行必要的转换 VisualBasic提供了各种类型转换相关的函数 可以在程序中直接调用 如果想把某种数据类型转换为另外一种类型 必须保证该类型数值处于待转换数值有效范围内 2 2变量简介 变量在程序执行过程中用以保存临时数据信息 包含在程序执行阶段修改的数据 变量都有变量名称 在其作用范围内作为惟一标识存在 2 2 1变量作用域 声明变量可以使用Dim Private Public Static作为关键字 以上关键字分别作用于不同的作用域 2 2 2变量命名 变量必须要命名后才能赋值 在过程内部声明的变量 在该过程执行时才存在 当运行过程结束时 该变量的值自动清除 变量命名必须符合以下规定 变量名必须以字母开头 不能以数字或下划线开始 变量不能包含嵌入的句号 空格或者其他停顿符号 变量长度不得超过255个字符 变量名不能是VisualBasic的保留字 如Name For等 2 2 2变量命名 2 2 3变量类型 变量类型包含2 1小节中所有的数据类型 除此之外 根据应用程序需要还可以创建用户自定义的类型 自定义类型声明使用Type语句 2 2 4静态变量 程序运行时变量保存临时数据 一旦程序终止 变量将自动被VisualBasic删除 下一次程序运行时该变量将重新被初始化 但是 应用程序在运行时也有可能需要保留变量数据 VisualBasic可以通过声明静态变量来保存记忆变量数值 Static varName as type 2 3变量声明 VisualBasic中声明是事先将变量定义为保存数据内容 在变量使用之前 进行声明是一个重要的编程技巧 变量声明后可以在程序中更高效的使用变量 声明包括显式声明和隐式声明 本节将分别介绍如何显式声明 隐式声明和使用定长字符串 2 3 1显式声明 显式声明要求在程序中使用变量前 强制声明该变量 如果不声明该变量 将出现错误提示 显式声明使用OptionExplicit语句 选择 工具 选项 命令 弹出 选项 对话框 选择 编辑器 选项卡 复选 要求变量声明 选项 该复选框自动在新模块中自动插入以下语句 OptionExplicit 2 3 1显式声明 DimvarName Asvartype varName2Asvartype2 PrivatevarName Asvartype varName2Asvartype2 PublicvarName Asvartype varName2Asvartype2 StaticvarName Asvartype varName2Asvartype2 2 3 2隐式声明 2 3 2隐式声明 nNumber 0 将nNumber尾部添加 表示为整数sString VisualBasic 将sString尾部添加 表示为整数vVar 6 2 3 3定长字符串 VisualBasic中也可以声明定义定长字符串 最长为216个字符 该字符串大小长度是固定不变的 如果该变量被赋予短于该长度的表达式 变量的剩余长度将以空格填充 如果长于该长度 自动截取等于该长度的字符 其余部分将被截取 DimvarNameasstring strlength 2 4常量简介 常量与变量区别在于运行过程中常量表示不变的数值或字符串 常量用以代替繁复难以记忆或输入的数值或字符 变量可以在程序中根据需要修改数据 常量在定义之后无法进行修改 常量的使用有助于改进代码的可读性和可维护性 2 4 1标准常量 VisualBasic为应用程序开发提供了许多标准常量 例如 颜色定义常量 关键代码常量等可以在开发过程直接引用 例如 vbBlack在VisualBasic定义为黑色 vbWhite为白色 vbBlue为蓝色 用户可以在程序开发中直接使用该常量 Form1 backcolor vbBlack 窗体背景颜色赋予黑色Form1 Forecolor vbWhite 窗体前景色赋予白色 2 4 1标准常量 2 4 2自定义常量 虽然VisualBasic中为开发人员提供了大量标准常量 根据应用程序开发需要使用自定义常量 自定义常量使用Const语句进行定义 赋予常量名称和数值 Public Private constvarNameasconsttype value 2 5本章实例 本章实例实现显式声明 隐式声明变量 声明静态变量 声明常量 实例2 1 将使用VisualBasic程序创建一个新工程 添加一个新窗体 在代码编辑窗口中输入代码要求强制显式声明变量 并在代码中赋予显式声明变量 隐式声明变量和自定义常量内容 2 6常见问题及解答 1 既然变体型变量可以包含所有类型数值 是否可以将变量直接声明为变体型 2 数值型变量包含多种不同类型 声明何种类型将更高效率在程序中使用数值型变量 3 字符型变量中的数字是否可以进行数学运算 2 7小结 本章介绍了VisualBasic中数据类型的定义 如何显示或隐式声明变量和常量 变量和常量的定义及适用范围 本章重点和难点包括如何定义和使用各种数据类型的变量 常量 变量包括多种数据类型 VisualBasic中自定义常量数量庞大不易于记忆和开发使用 读者需要在开发过程中结合实例声明变量和常量 下一章将介绍程序设计基础 第3章程序设计基础 程序设计基础为程序设计所必需的基础知识 这部分内容主要包括赋值语句 数学运算语句 代码编写 流程控制等 创建用户界面形成应用程序的外表和框架 还需要为应用程序添加代码 本章内容包括 赋值语句数学运算语句代码模块编写事件 3 1赋值语句 赋值 顾名思义是将字符 数值等赋予变量 在程序开发过程中 创建一个变量后 必须通过设置一个等号赋予变量数值 Let varName Expression 3 2数学运算语句 TxtTax 100 1 089 69 3 2 1加法和减法 1 加法运算Result Expression1 Expression22 减法运算Result Number1 Number2 3 2 2乘法和除法 1 乘法运算Result Number1 Number22 除法运算Result Number1 Number2Result Number1 Number2Result Number1ModNumber2 3 2 3指数运算 VisualBasic中指数运算符是符号 用来求一个数字的次方 Result Number Exponent 3 2 4比较运算符 比较运算符用来比较两个操作数的大小 比较运算符运算结果是一个逻辑值True或False 3 2 5逻辑运算符 逻辑运算又被称为布尔运算 逻辑运算符要求两个操作数都为逻辑值 3 2 6运算顺序 3 3代码模块 VisualBasic的程序代码存储在代码模块中 代码模块包括三种类型 窗体模块 标准模块和类模块 以上三种模块都可以包含作用域不同的声明段和过程 本小节分别介绍窗体模块 标准模块和类模块 3 3 1窗体模块 在VisualBasic开发程序过程中 最简单的应用程序只包含一个窗体 应用程序的所有代码都保存在窗体模块中 窗体模块 后缀frm 是大多数VisualBasic应用程序的基础 窗体模块可以包含处理事件的过程 通用过程以及变量 常数 类型和外部过程的窗体级声明 3 3 2标准模块 标准模块 后缀bas 在应用程序中保存其他模块访问的全局过程 函数 声明 当开发的应用程序相对庞大复杂时 在不同窗体中包含相同的可执行的公共代码 可在标准模块中编写该公共代码并允许被其他窗体或模块调用 3 3 3类模块 VisualBasic中类模块 后缀cls 是面向对象编程的基础 开发时可以在类模块中编写代码建立新对象 该新对象可以包含自定义的属性和方法 实际上窗体正是这样一种类模块 可显示为内置其他控件的窗体 3 4事件简介 事件是一种响应指定时间被特定对象 窗体或控件等 识别并执行的操作 开发人员可以在事件过程中编写特定程序代码 事件一旦发生就会被执行 每个对象都包括一组事件集合 本节将介绍如何编写和调用事件过程 3 4 1编写事件过程 3 4 2调用事件过程 应用程序开发时需要编写和调用许多过程 事件过程是由VisualBasic调用自身的特殊过程 与普通过程调用相同 需要在不同时段中运行相同事件过程 只要调用事件过程名称正确 就可以在多处运行该事件过程 PrivateSubCommand1 Click MsgBox 当前日期为 DateEndSubPrivateSubForm Load CallCommand1 ClickEndSub 3 5编辑代码 本节介绍如何编写代码 包括合并多个代码行 添加注释以及VisualBasic命名约定 3 5 1单行语句分成多行 复杂应用程序代码编写过程中会遇到非常长的字符串 为了更好的编写代码 可以使用续行符 一个空格和一个下划线 将一段长语句分成多行 使用续行符使代码易于阅读和编写 Data1 recordsource Select fromtitle company wheretitleName salary andcompany skyrising 3 5 2多行语句合并一行 一般情况下 VisualBasic一行只有一条语句 但是可以将两条或多条短语句合并到一行 中间需要用冒号 将其分开 nRed 38 ngreen 36 nblue 128 nmycolor nRed ngreen nblue 3 5 3添加注释 优秀的程序员都具有在关键步骤下添加注释的好习惯 添加注释需要在VisualBasic一条语句的最后添加注释符 或关键字Rem 注释符在程序运行时会通知VisualBasic自动忽略注释符之后的语句 这样便于日后检查修改程序 这是第一条注释内容 以后将会有大量注释添加Rem这是用rem添加注释内容Msgbox 添加注释是一个良好的习惯 3 5 4命名约定 在编写VisualBasic代码时 分别要给变量 常量 函数 过程命名 在声明变量 常量 函数 过程时必须遵守以下命名规定 命名必须以字母开头 命名不可以超过255个字符 命名不可以包含特殊符号 命名不可以和默认关键字同名 3 6本章实例 本节主要鼠标移动时显示横坐标和纵坐标的差值 实例3 1 编写窗体Mousemove事件 显示鼠标横坐标和纵坐标的差值 3 7常见问题及解答 1 是否可以使用Name Dim等与关键字同名赋予变量 函数等 2 添加注释是否增加程序大小 影响程序运行效率 3 编写程序代码时 经常出现提示 编译错误 缺少标识符 3 8小结 本章主要介绍了VisulaBasic中赋值语句 数学运算语句 代码模块 编写事件 编辑代码 添加注释的使用方法 本章重点难点是比较运算符和逻辑运算符的使用 以上两种运算符逻辑复杂 不易于掌握 读者需要结合实例源码进行分析学习 第4章流程控制 流程控制是VisualBasic应用程序开发中对特定条件进行分析 比较 判断 主要包括判断语句和循环语句 判断语句为根据不同的判断结果进行不同的操作 循环语句可以进行多次数学运算 本章内容包括 判断语句 循环语句 4 1判断语句 判断语句在复杂应用程序流程控制中具有重要作用 程序中如果不添加判断语句 程序将从第一行代码开始运行 直至最后一行程序终止 无法响应用户的操作 判断语句可根据所给的条件控制程序流程 只运行其中特定程序代码 判断语句包括If语句和SelectCase语句 4 1 1If语句 应用程序中可能只需要运行某个符合条件的语句 If语句根据表达式的结果选择执行一段代码 标准语法有单行语句和多行语句两种形式 IfconditionThen statements ElseElsestatements IfconditionThen statements Else Elsestatements EndIf 4 1 2多重If语句 VisualBasic还支持多重If语句 对多个条件进行判断执行指定代码 IfconditionThen statements ElseIfcondition nThen ElseIfstatements Else Elsestatements EndIf 4 1 3SelectCase语句 判断语句另一个重要方法是使用SelectCase语句 根据运算表达式的条件结果 允许有条件执行多个代码段中的指定段 对于多重If语句 使用SelectCase语句相对更加富有可读性 SelectCasetestExpression CaseExpressionlist1 statementblock 1 CaseExpressionlist2 statementblock 2 CaseElse statementblock n EndSelect 4 2循环语句 流程控制的重要方法之一是循环语句 循环语句主要在程序中重复运行特定任务 VisualBasic开发程序中主要包括计数循环 条件循环 枚举循环 本节主要讲述For循环 计数循环 Do和While循环 条件循环 For each循环 枚举循环 4 2 1For循环 ViusalBasic语言中使用For循环主要用来进行计数 For循环又可以称为For Next循环 主要采用For关键字和Next关键字 ForCounter StartToEnd Stepstep statements ExitFor statements Next counter 4 2 2Do循环 For循环通过步长计数来运行程序 在特定条件下运行特定代码 需要用到Do循环和下节的While循环 Do循环通过判断表达式条件是True还是False来确定是否结束循环 Do While Until condition statements ExitDo statements Loop 4 2 3While循环 在VisualBasic应用程序开发中 经常可以看到类似While WEnd这样的循环语句 这种循环是早期版本遗留下来的 高版本的VisualBasic中依然支持此用法 但是 笔者推荐使用前两种循环 Whilecondition statements WEnd 4 2 4枚举循环 枚举循环又被称为For each next循环 与For next循环语句略有不同 它将数组或对象集合中的对象重复执行一段代码 并不是重复执行一定次数相同代码 For each next循环语句对不知数目的相同对象进行操作时具有明显优点 ForEachelementIngroup statements ExitFor statements Next element 4 3本章实例 本章实例实现单行If语句 多重If语句判断工资范围计算税款 SelectCase语句判断不同职务人员工资和显示学生成绩 For循环显示高斯运算总和 Do循环显示5行 号 枚举循环显示打印机设备名称 实例4 1 演示单行If语句的使用 4 4常见问题及解答 1 是否可以使用多重If语句代替SelectCase语句 2 运行包括循环语句的程序时系统没有任何反映 3 For循环与Do循环 While循环有什么区别 4 5小结 本章主要介绍了判断语句和循环语句的定义 主要包括If语句和SelectCase语句 For循环 Do循环 While循环 枚举循环的语法知识 以及如何根据应用程序需要使用判断和循环语句 其中 循环语句循环过程难于控制 需要结合实例多加分析和实践 第5章过程和函数 过程和函数就是在程序中可以被重复使用的代码 当应用程序比较复杂时 开发人员可能需要在程序多处使用相同的代码 在VisualBasic应用程序开发中 重要任务之一就是创建可重复使用的代码 本章内容包括 过程函数 5 1过程 过程就是在应用程序可以被多次重复使用的代码段 使用过程具有以下优点 复杂任务分解成多个简单代码段 易于读写 具有较强的可读性和可维护性 前面章节介绍的事件过程就是VisualBasci定义过程的一种 本节介绍的过程是用户创建的自定义过程 5 1 1Sub过程概述 Sub过程是可以被重复执行的无返回值的代码段 Private Public Static SubName Arglist statements ExitSub statements EndSub 5 1 2添加Sub过程 添加Sub过程有第一种方法 5 1 2添加Sub过程 添加Sub过程有第二种方法 Subshowmsg EndSub 5 1 3调用Sub过程 调用Sub过程主要使用Call语句或过程名 参数形式调用 CallSubName Arglist SubName Arglist 5 1 4使用SubMain 1 设置启动窗体2 无启动窗体时启动 5 1 5确定过程作用域 1 公共过程2 局部过程3 静态变量过程 5 2传递参数 VisualBasic提供了非常灵活的传递参数方式 允许使用可选参数和可变参数 使用传值引用和传地址引用方法 Optional ByVal ByRef ParamArray varName Astype defaultvalue 5 2 1可选参数和可变参数 1 可选参数2 可变参数 5 2 2传值引用和传地址引用 1 传值引用2 传地址引用 Subprog byvalaasinteger 添加代码 EndSub Subprog byrefaasinteger 添加代码 EndSub 5 3函数 函数为编辑代码时可以被程序调用带有返回值的代码段 本节将介绍函数定义和使用方法 5 3 1定义函数 Function过程又被称为函数过程 与VisualBasic内置函数完全相同 函数与子过程区别为 函数带有返回值 而子过程没有返回值 Public Private Static FunctionName Arglist Astype statements Name Expression ExitFunction statements Name Expression EndFunction 5 3 2确定函数作用域 1 公共函数2 局部函数3 静态变量函数 5 3 3调用函数 函数调用和过程调用基本相似 惟一不同之处在于函数可以有返回值 如果无返回值 用Call语句调用函数 CallfunName Arglist Return funName Arglist 5 3 4传递参数和返回值 函数传递参数的方法与过程完全相同 不在此赘述 函数与过程最重要的区别是函数有返回值 过程的数据类型决定其返回值的数据类型 可以在Arglist之后使用As关键字来指定函数返回值的数据类型 在Arglist中 可以使用As子句来指定任何传给该过程的参数的数据类型 不但可以指定为任何标准数据类型 还可以在Arglist中指定AsAny来禁止类型检查 从而允许将任意数据类型传递给该过程 5 4本章实例 本章实例创建过程 函数计算三个数平方之和 创建加密字符串 实例5 1 创建一个过程 计算三个数平方之和 图5 4运行窗体 5 5常见问题及解答 1 过程或函数在窗体和模块有什么区别 2 参数可以设计为可选参数和可变参数 是否可以多设计几个可选参数 3 如何使用传值引用和传地址引用 5 6小结 本章主要介绍了过程和函数的定义以及如何根据应用程序的需要调用过程和函数 本章重点难点包括 过程和函数如何传递参数 函数如何返回值 其中 函数传递参数和返回值结构复杂难于掌握 第6章数组 数组是具有相同名字 不同下标的一组变量 使用数组可以缩短和简化程序 可以利用索引值设计循环 高效处理各种程序运行需要 数组包括固定大小的数组和动态数组 本章内容包括 固定数组 动态数组 6 1固定数组 固定数组顾名思义就是固定元素数量的数组 固定数组包括一维数组和多维数组 固定数组中使用一个下标就能确定数组元素在数组中的位置称为一维数组 具有两个或多个下标的变量数组称为二维或多维数组 本节将介绍固定数组的定义和使用方法 6 1 1声明数组 数组和变量使用方法不完全相同 变量可以有隐式声明 数组必须显式声明后使用 Public Dim private static arraryname Num1to Num2 as type 6 1 2设定上下界 VisualBasic声明数组时 在数组名之后跟一个用括号括起来的上界 上界不得超过长整型Long数据类型的范围 2 147 483 648到2 147 483 647 默认下标下界为0 如果希望下标下界从1开始 可以通过OptionBase语句来声明 该语句用来指定数组下标默认下界 Optionbase1 数组下界从1开始DimNumbers 10 AsInteger 数组包含10个元素DimSums 20 AsDouble 数组包含20个元素 6 1 3多维数组 多维数组与一维数组相对应 多维数组在现实生活中具有很重要的意义 如屏幕坐标 三维动画数据的设定值等是典型的多维数组 声明多维数组与一维数组完全相同 Dimmatrix 9 9 asinteger Dimmatrix 9 9 9 asinteger 6 2动态数组 动态数组可以在程序运行时动态改变数组大小 VisualBasic应用程序开发中需要动态数组来保存多维数组数值 动态数组具有灵活方便管理数组的能力 本节介绍动态数组定义和使用方法 6 2 1创建动态数组 声明动态数组和普通数组基本相同 根据不同关键字定义不同作用域范围 为数组赋予一个空维数表 将该数组声明为动态数组 Public Private Static Dimarr ReDim Preserve varname subscripts Astype 6 2 2使用动态数组 动态数组使用ReDim关键字 每次使用ReDim关键字 以前数组内容全部自动清空 声明数组Dimarray m 动态声明数组为二维数组ReDimarray m 3 3 Fori 1To3Forj 1To3 计算表达式array m i j i jPrint 动态数组乘积为 array m i j NextjNexti 6 3本章实例 本章实例创建声明数组 多维数组 动态数组 说明如何计算数组最大值 二维数组运算表达式数值 动态数组运算结果 实例6 1 计算数组最大值 图6 3运行窗体 6 4常见问题及解答 1 数组num 9 中共计9个数字是否正确 2 动态数组可以在程序运行时改变数组大小 是否可以将数组全部声明为动态数组 3 可以在声明动态数组时保存以前动态数组内容 6 5小结 本章主要介绍了固定数组 动态数组的创建 使用方法 并结合实例演示如何创建固定数组和动态数组 本章重点难点包括 如何正确声明和使用动态数组 动态数组在编程开发中使用方法复杂 需要结合实例多分析和实践 第7章错误处理 现在的Windows应用程序都非常庞大和复杂 不可避免将出现一些错误 当事情出现错误时应用程序如何响应是用户程序设计非常重要的一部分 一个功能完善的应用程序应该预料到错误可能出现并及时处理或提示用户 VisualBasic不仅提供了功能强大的程序设计环境 也提供了一个界面友好 简便实用的程序调试工具 本章内容包括 错误概述 错误捕获和处理 调试程序 7 1错误概述 错误在应用程序开发和运行过程中表现多样 错误通常包括语法错误 运行错误 逻辑错误三种 本节将分别介绍三种错误不同的表现形式和处理方法 7 1 1语法错误 语法错误是初学编程者最常见的错误 通常是输入不正确的代码 包括错误地输入关键字 遗忘了标点符号或引用不正确的数据结构 具有语法错误的程序不能正常运行 也不能编译成可执行文件 通常VisualBasic中包含 自动语法检测 选项 可以发现大部分语法错误并提示改正 7 1 2逻辑错误 如果代码没有语法错误可以运行 但是运行结果与设计时完全不同 这样的代码中必然存在逻辑错误 如语法错误 陷入死循环 符号错误 加法改为减法 数值范围错误 设计数值为1至100 运行时为1至99 等 程序逻辑错误是最不容易发现的严重错误 大部分逻辑错误可以归结为数据错误 流程控制错误 DimnAsInteger 声明变量DimsAsIntegerN 1Forn 1To3 for循环3次s s n 运算表达式Nextn 7 1 3运行错误 运行错误是在程序运行过程中发生的 有时语法没有错误 但VisualBasic中却无法运行程序 例如 除法运算中 除数为0 读取文件时 该文件不存在等 当出现运行错误时 VisualBasic会自动终止应用程序 并弹出错误信息提示 7 2错误捕获处理 优秀的应用程序应该具备较强的捕获和处理运行错误的能力 硬件问题或用户错误操作都将引发错误并终止应用程序 错误捕获功能可以拦截错误并进行处理 进而可以避免硬件问题或用户操作错误 本节将介绍错误捕获和处理方法 7 2 1错误捕获 VisualBasic中使用OnError语句来进行错误捕获 当错误发生 程序自动运行到处理错误的相关代码 予以解决错误或提示用户可能需要的帮助 标准代码如下 OnErrorGoToline发生错误时 跳转到指定处理错误程序代码 OnErrorResumeNext发生错误时 忽略错误行 继续执行下一语句 OnErrorGoTo0发生错误时 不使用错误处理程序代码 7 2 2错误处理 在理想程序中 VisualBasic过程根本不需要错误处理代码 但实际上硬件问题或用户操作都会造成运行时错误 没有错误捕获和处理的程序中 只能选择终止程序 但是优秀的应用程序应该按以下方式处理错误 1 错误发生时 提示用户出错并退出子过程 程序有限的功能继续运行 2 跳过错误语句 继续执行下一句 3 继续尝试纠正错误并重新运行该语句 7 3调试程序 VisualBasic集成开发环境可以分为三种模式 设计模式 执行模式 中断模式 设计模式下可以进行程序的界面设计和代码编写 执行模式运行程序 可以查阅代码 不允许更改程序 中断模式下程序处于挂起状态 可以阅读和修改代码并进行调试程序 7 3 1单步调试 单步调试包括三种调试方法 1 逐语句 单步调试当前过程和调用过程中代码 快捷键为F8 2 逐过程 单步调试当前过程中的代码 不调试程序中其他代码 快捷键为Shift F8 3 跳出 一直运行到当前过程的结束 快捷键为Ctrl Shift F8 7 3 2立即窗体 VisualBasic在开发中断点模式还提供了 立即 窗体显示运行结果 立即 窗体允许中断模式下输入代码立即执行和显示运行结果 要显示 立即 窗体 要保证在中断模式下 单击 视图 立即窗体 命令或按键Ctrl G 7 3 3监视窗体 VisualBasic开发过程中 需要时刻观察运行时程序变量值 当程序处于中断模式下 可以将鼠标指向代码窗体的变量悬停 将自动提示该变量值 如果为多个变量还可以通过监视窗体方法来观察变量值 7 4本章实例 本章实例包括捕获图片文件不存在错误 单步调试程序 实例7 1 程序处理不存在图片文件错误 7 5常见问题及解答 1 如何让VisualBasic自动检测语法错误 2 如何在程序中避免死循环 3 既然OnErrorResumeNext语句可以忽略错误行 7 6小结 本章主要介绍了错误的类型 捕获和处理错误以及如何调试程序 本章重点难点包括 错误捕获处理 程序运行时会产生不同类型异常错误 需要读者结合不同具体情况具体分析和解决 下一章将介绍窗体的特性和创建方法 第8章窗体 窗体是VisualBasic开发应用程序中最重要控件之一 用户通过窗体及其所见控件与应用程序进行交互操作 窗体包括单文档窗体 SDI窗体 和多文档窗体 MDI窗体 本章内容包括 单文档窗体 多文档窗体 8 1SDI窗体 窗体是应用程序界面的其他控件的最主要容器 窗体作为最直接交互界面 包含很多属性 方法 事件 本节将介绍单文档窗体 SDI窗体 的设计和使用 8 1 1SDI窗体简介 启动VisualBasic应用程序后 会显示一个默认的VisualBasic工程 一般包括一个标准窗体 其界面组成如图8 1所示 包括标题栏 标题 最小化按钮 最大化按钮 关闭按钮等 8 1 2公共属性 VisualBasic中所有对象属性都不尽相同 但是部分属性是许多对象共有 1 Caption属性2 Font属性3 Backcolor和Forecolor属性4 Icon属性5 Windowstate属性6 Borderstyle属性 Object attribute value 8 1 3方法 方法实际是内置于对象的程序函数 1 Show方法2 Hide方法3 Setfocus方法4 Refresh方法 Object action 8 1 4事件 1 Load和Unload事件2 Click和Dblclick3 Activate和Deactivate Loadfrmapp Unloadfrmapp 8 1 5设置启动窗体 当程序为惟一窗体时 程序启动并自动执行 该窗体称为 启动窗体 或 启动对象 当程序运行时 VisualBasic会将启动窗体加载到内存并显示直至程序结束 如果程序包括多个窗体 必须将其中一个设为 启动窗体 或在Main过程中设定 8 1 6SDI窗体实例 本节创建SDI窗体示例 关于窗体 和窗体属性 关于窗体 是Windows应用程序中主要窗体 用以声明程序名称 版本 公司名称 8 2MDI窗体 Windows应用程序中Office系列文件为最典型多文档窗体 MDI窗体 多文档窗体允许在单个主窗体中包含多个子窗体的应用程序 本节介绍如何创建和使用MDI窗体 8 2 1MDI窗体简介 多文档窗体 MDI窗体 中父窗体是包含子窗体的主要窗体 父窗体位于最外层 包含其内子窗体 其操作如最大化 最小化 关闭将同步操作子窗体 8 2 2建立父窗体 MDI窗体属性中有两个特别的属性Autoshowchildren和Scrollbars属性 Autoshowchildren属性决定了子窗体在加载时是否自动显示 如果该属性为默认值 子窗体自动显示出来 Scrollbars属性决定了父窗体在运行时是否需要滚动条 当该属性设置为默认值True时 如果子窗体延伸到父窗体外部 滚动条自动显示在父窗体上 设为False时不显示滚动条 8 2 3建立子窗体 子窗体建立相对简单一些 一个子窗体只需要将MDIchild属性设置为True即成为标准窗体 8 2 4MDI窗体实例 本节创建包含一个TextBox控件和CommandButton控件的MDI窗体 8 3本章实例 实例8 1 使用模板创建一个通用 登录对话框窗体 图8 17运行窗体 8 4常见问题及解答 1 如何在运行时在窗体标题栏上显示程序名称 2 如何更改窗体背景颜色 3 BorderStyle属性中的vbSizable和vbFixedSingle有什么区别 8 5小结 本章主要介绍了SDI窗体的创建和使用方法 MDI窗体的创建和使用方法 本章重点难点包括 SDI窗体主要属性 如何设定启动窗体 窗体属性非常多 需要熟练掌握各种不同选项 启动窗体决定程序运行步骤 第9章菜单和工具栏 菜单和工具栏是应用程序最重要的组成部分之一 在Windows环境下 几乎所有应用程序都是通过菜单和工具栏实现操作 为用户提供运行命令的快捷方式 本章包括 菜单栏弹出式菜单工具栏 9 1菜单栏 菜单是用户界面中的重要组成部分 在程序中加入菜单可以便于用户使用 用户对应用文档的许多操作命令都可以从菜单开始 9 1 1创建菜单 1 菜单模板向导 9 1 1创建菜单 2 菜单编辑器 9 1 2修改菜单 在应用程序开发中 开发人员可能需要定制或者修改编辑好的菜单 用 菜单编辑器 可以轻而易举完成修改任务 1 分隔菜单项 9 1 2修改菜单 2 设置访问键和快捷键 9 1 3多级菜单 技巧 VisualBasic允许菜单层级达到6级 但在实际应用中避免太多层级出现 应限制在2 3级 9 1 4编写代码 1 编写菜单执行代码2 代码编写菜单属性 9 1 5菜单栏实例 1 标准菜单2 多级菜单 9 2弹出式菜单 弹出式菜单是独立于菜单栏显示在窗体上的浮动菜单 在窗体上显示的项目取决于鼠标右键指针所处位置 通常用于对窗体中特定区域操作或选项进行操作 又被称为上下文菜单 具有使用方便 灵活性较强的特点 9 2 1创建弹出式菜单 创建弹出式菜单与创建标准菜单方法相同 采用菜单模板或 菜单编辑器 均可以创建弹出式菜单 注意弹出式菜单应隐藏起来 避免显示在菜单栏上 注意 隐藏菜单既可以为弹出式菜单 也可以称为标准菜单栏的一部分 9 2 2使用弹出式菜单 弹出式菜单建立后 需要在特定条件下使其显示在窗体上 该方法可以应用于窗体任何位置 但是多数情况下响应鼠标单击右键 Object popupmenumenuName Flags X Y Boldcommand 9 2 3弹出式菜单实例 示例9 13 创建弹出式菜单 9 3工具栏 工具栏 Toolbox 通常包含对应应用程序菜单命令的按钮 进一步便捷应用程序命令的使用 工具栏采用图标按钮形式来显示相应的功能 本小节将介绍如何创建工具栏以及编写程序响应工具栏事件 9 3 1工具栏简介 工具栏通常包含一些带有图标的按钮 通常与菜单命令相对应 提供了快速访问应用程序常用功能的简便方法 9 3 2创建工具栏 创建工具栏需要多个控件 工具栏控件 Toolbox控件 和ImageList控件 ImageList控件包括其他控件需要使用的图片集 详见9 3 3小节添加图标 9 3 3添加图标 工具栏控件添加到窗体后 需要将要显示在工具栏上的图像添加到 图像列表 ImageList控件中 9 3 4添加按钮 工具栏控件中添加按钮要在 工具栏 按钮 选项卡中设置 包括 插入按钮 删除按钮 两个按钮和 标题 关键字 样式 图像 等几个属性 9 3 5编写代码 通过以上小节所述步骤 已经创建一个完整 工具栏 框架 必须为其添加代码执行功能 通过 工具栏 自身ButtonClick事件可以为其编写代码 通过 关键字 属性来判断按钮是否被单击 1 双击窗体上的 工具栏 控件 弹出代码编辑窗口 2 选择对象为 toolbar1 过程为 buttonClick 输入需要运行代码 3 关闭代码编辑窗口 至此编写代码结束 9 3 6自定义工具栏 工具栏控件允

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论