




已阅读5页,还剩313页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测量程序设计 建筑工程学院测绘工程系 案例一 案例一 案例二 本课程的性质与重点内容 课程性质 专业技术基础课 必要性 通过本课程的学习 使学生在程序设计和应用软件的开发两个方面都得到锻炼 具有用VisualBasic开发Windows环境下应用程序的能力 具有开发简单测量应用程序的能力 同时为GIS开发打下坚实的理论基础 重点 1 VB控制结构 2 VB用户界面设计难点 1 数据库应用 学习方法 认真听课并适当作笔记 认真上机和编写实验报告 平时应多抽课余时间上机调试程序 培养兴趣 相互学习学习语言建议 贵 恒 忌 浮 切不可 这山望着那山高 其实每种语言只有 语法 不同 其它是相通的 第一章 VB概述 4学时 第二章 VB程序设计基础 4学时 第三章 VB程序设计 4学时 第四章 VB常用控件 4学时 第五章 界面设计 8学时 第六章 图形操作 4学时 第七章 数据库应用 4学时 课时安排 总学时32 上课16学时 上机16学时 第一章VB概述 1 1VisualBasic6 0简介 一 VisualBasic的发展VisualBasic是Microsoft公司开发的Windows应用程序开发工具 Visual 可视化的 直观 是一种开发图形用户界面 GUI 的方法 1991年推出VB1 01992 1993 1995 1997 1998 2002相继推出 2 0 3 0 4 0 5 0 6 0 VB Net 7 0 版本5 0 6 0包含三种版本 学习版 专业版和企业版 二 VisualBasic的特点 红绿灯 具有基于对象的可视化设计工具事件驱动的编程机制传统的程序设计是由一个主程序和若干个过程及函数组成 程序运行总是从主程序开始 由主程序调用子过程和函数 VB是通过 事件 键盘或鼠标操作 系统消息 程序触发 来执行对象的操作 而不是由事先编好的程序流程所控制 事件的发生顺序是由程序的使用者灵活控制 第一章VB概述 二 VisualBasic的特点 交互式的集成开发环境即时捕获并显示拼写或语法错误 在输入时部分地编译高度的可扩充性支持第三方软件商开发的可视化控件 Ocx 支持访问动态链接库 DLL 支持访问应用程序接口 API 强大的网络 数据库 多媒体功能完备的联机帮助功能 第一章VB概述 1 2VisualBasic集成开发环境 第一章VB概述 1 2VisualBasic集成开发环境 菜单栏 工具栏 代码窗口 工具箱 窗体窗口 立即窗口 监视窗口 工程窗口 属性窗口 布局窗口 第一章VB概述 1 2 1主窗口 标题栏 菜单栏 工具栏 1 标题栏有窗体控制菜单图标 当前激活的工程名称 当前工作模式以及最小化 最大化 还原 关闭按钮 VB有三种工作模式 设计模式 运行模式和中断模式 在设计模式下 可进行用户界面的设计和代码的编制 从而完成应用程序的开发 应用程序运行时VB处于运行模式 此时不能进行设计界面和代码的编辑 中断模式主要用于调试程序 此时应用程序运行暂时中断 可以进行代码的编辑 2 菜单栏主菜单包括13个下拉菜单 包含程序设计所需各种命令 3 工具栏 可以迅速访问常用的菜单命令 主菜单下面是标准工具栏 其他工具栏可以通过 视图 菜单中的 工具栏 命令打开 工具栏右边是数字显示区 包含两个部分 左数字区显示的是对象的坐标位置 右数字区显示的是对象的大小 1 2 2窗体设计窗口 对象窗口 对象窗口 是应用程序的载体 用户通过与窗体上的控件交互来得到结果 默认名称为Form1 Form2 在窗体的空白区域单击右键 将弹出快捷菜单 可切换到 代码窗口 菜单编辑器 属性窗口 还可以选择 锁定控件 和 粘贴 1 2 3代码窗口 代码窗口 代码窗口用于编写 显示和修改VB代码 用户可同时打开多个代码窗口 打开代码窗口的方法很多 双击窗体的任何地方和单击工程窗口中的 查看代码 按钮是较为简便的方法 1 2 4属性窗口 属性窗口 属性窗口用于列出选定窗体和控件的属性设置值 在设计时也可进行属性值的设定 可打开属性窗口方法 按F4键或工具栏中 属性窗口 按钮或 视图 菜单中 属性窗口 1 2 4 属性窗口 资源管理器 1 2 5工程资源管理器窗口 VB中用工程资源管理器来管理工程中的窗体和各种模块 工程文件是管理与该工程有关的所有文件和对象的清单 这些文件和对象自动链接到工程文件上 其扩展名为 VBP 在工程文件窗口中有 查看代码 查看对象 和 切换文件夹 3个按钮 1 2 5工程资源管理器窗口 该窗口主要包含两种类型文件 窗体文件 frm 标准模块文件 bas 1 2 7工具箱和控件 工具箱和控件 1 3创建应用程序的过程 建立一个应用程序的步骤 建立用户界面对象 对象属性设置 对象事件过程及编程 运行和调试程序 保存程序 举例 计算面积 一 界面设计 需要9个对象 3个标签 Label 3个文本框 TextBox 3个命令按钮 CommandButton 二 属性设置 需设置三个属性 Caption 标题Text 文本Font 字体 三 事件过程代码编写 需要用代码实现的功能有三 计算 面积 清空 清空3个文本框 结束 退出程序 PrivateSubCommand1 Click DimaAsSingleDimbAsSinglea Text1 Textb Text2 TextText3 Text a bEndSub PrivateSubCommand2 Click Text1 Text Text2 Text Text3 Text EndSub PrivateSubCommand3 Click EndEndSub 四 运行和调试 运行 工具栏上的 启动 按钮或F5 调试 发现错误并改正 Vb程序会先编译 自动检查语法错误 提示用户修改 五 保存和生成可执行文件 1 保存单击工具栏上 保存工程 按钮 弹出 另存为 对话框 选择保存位置 输入文件名后点 保存 保存窗体文件 frm 又弹出 另存为 对话框 重复2 保存工程文件 vbp 注 程序运行之前 务必先保存 以避免意外丢失 记清楚保存的位置和文件名 2 生成可执行文件 两种运行模式 编译运行和解释运行 编译运行 生成 exe文件后运行 文件 生成 exe 命令 特点 一次读入 速度快 可脱离VB 解释运行 单击 启动 按钮 逐步运行 特点 逐步解释 速度慢 便于调试 1 4窗体 1 caption属性2 MaxButton最大化按钮和MinButton最小化按钮 当值为Ture 有最大或最小化按钮 False则无 3 Picture图片属性 设置窗体中要显示的图片 加载图片操作同Icon控制图标属性 4 WindowsState运行时窗体的显示状态0 normal1 minimized3 maximized 一 属性 5 BorderStyle 边框风格 通过改变BorderStyle属性 可以控制窗体如何调整大小 0 None 无边框 1 FixedSingle 单线边框 不可以改变窗口大小 2 Sizable 双线边框 可以改变窗口大小 3 FixedDouble 双线框架 不可以改变窗口大小 4 FixedToolWindow 窗体外观与工具条相似 有关闭按钮 不可以改变窗口大小 5 SizableToolWindow 窗体外观与工具条相似 有关闭按钮 可以改变窗口大小 二 窗体事件最常用的事件1Click DblClick 单击 双击窗体触发 2Load 窗体被装入时触发的事件 该事件通常用来在启动应用程序时对属性和变量进行初始化 3 Unload事件卸载窗体时触发该事件 4 Resize事件无论是因为用户交互 还是通过代码调整窗体的大小 都会触发一个Resize事件 PrivateSubForm Click Print 欢迎学习VB EndSubPrivateSubForm Resize Form1 Width 120 16Form1 Height 140 16 200EndSub 窗体事件例子 三 常用方法 窗体常用的方法有 打印输出Print 移动Move 清除Cls 显示Show 隐藏Hide等方法 使用的形式 对象 方法1 Print方法形式 对象 Print Spc n Tab n 表达式列表 作用 在对象上输出信息对象 窗体 图形框或打印机 Pinter 省略对象在窗体上输出 Spc n 函数 插入n个空格 允许重复使用 Tab n 函数 左端开始右移动n列 允许重复使用 分号 紧凑 逗号 隔一个打印区 14列 开始打印的位置是由对象的CurrentX和Currenty属性决定 缺省为打印对象的左上角0 0 PrivateSubForm Click a 10 b 3 14 c 100Print a a b bPrint a a b bPrintTab 18 a a b bPrintSpc 18 a a b bEndSub 例2 1在窗体Form1的单击事件中写入如下代码 2 Cls方法形式 对象 Cls作用 清除运行时在窗体或图形框中显示的文本或图形 注意 不清除在设计时的文本和图形 3 Move方法形式 对象 Move左边距离 上边距离 宽度 高度 作用 移动窗体或控件 并可改变其大小 4 Show 显示 方法Show方法用于在屏幕上显示一个窗体 调用Show方法与设置窗体Visible属性为True具有相同的效果 其调用格式如下 窗体名 Show 5 Hide 隐藏 方法Hide方法用于使指定的窗体不显示 但不从内存中删除窗体 其调用格式为 窗体名 Hide 1 5基本控件 一 标签Label二 文本框TextBox三 命令按钮 CommandButton 1 5 1标签Label用于显示文本 输出 信息 不能作为输入信息的界面 1 Alignment属性设置Caption属性中文本的对齐方式 共有三种可选值 0左对齐 LeftJustify 1右对齐 RightJustify 2居中对齐 CenterJustify 2 BackStyle属性该属性用于确定标签的背景是否透明 3 AutoSize属性AutoSize属性确定标签是否会随标题内容的多少自动变化 标签可响应单击 Click 和双击 DblClick 事件 但一般情况不对它进行编程 1 5 2文本框TextBox 是一个文本编辑区域 可在该区域输入 编辑和显示正文内容 一 属性 1 Text文本属性在文本框中显示的正文内容存放在Text属性中 当程序运行时 用户通过键盘输入正文内容 保存在Text属性中 2 Maxlength 设置正文的最多字符个数 0任意长度值 3 MultiLine 是否为多行 默认一行 False 文本框没有Caption属性 4 ScrollBars 当MultiLine为True时 该属性才有效 滚动条的形式 0 None 无滚动条 1 Horizontal 水平滚动条 2 Vertical垂直滚动条 3 Both水平和垂直滚动条 5 Locked 是否可被编辑属性 False 表示为可编辑 6 PassWordChar属性设置PasswordChar属性为了掩盖文本框中输入的字符 该属性的设置只有在MultiLine设为False才有效 7 seltext 选定的正文内容 二 常用事件Change 当改变文本框的Text属性时会引发该事件 当用输入一个字符 就会触发一次Change事件 KeyPress KeyAsciiAsInteger 当用户按下并释放键盘上一个ANSI键时 就会触发一次该事件LostFocus 当控件失去焦点时发生 GotFocus 当控件获得焦点时发生 PrivateSubText1 GotFocus Text1 密码 Text2 用户名 EndSub PrivateSubText2 GotFocus Text1 Text2 EndSub 三 常用方法文本框最有用的方法是 SetFocus 使用形式 对象 SetFocus功能 是把光标移到指定的文本框对象中 PrivateSubText1 GotFocus Text1 密码 Text2 用户名 Text2 SetFocusEndSub 四 示例 密码输入 1 主要属性 1 Caption属性 显示的文字 2 Style属性 按钮类型0 Standard标准1 Graphical图形 3 Picture属性 图形背景 4 ToolTipText 工具提示文字 1 5 3命令按钮 CommandButton 2 主要事件 单击事件 Click 例 建立一个类似记事本的程序 如图该程序提供两类操作 1 剪贴 复制 粘贴2 字体 大小的设置 1 5 4综合应用 一 界面设计 需要7个对象 1个文本框 TextBox 6个命令按钮 CommandButton 二 属性设置 DimsAsStringPrivateSubCommand1 Click s Text1 SelText复制EndSubPrivateSubCommand2 Click Text1 SelText s黏贴EndSubPrivateSubCommand3 Click Text1 FontName 黑体 黑体EndSubPrivateSubCommand4 Click Text1 FontSize 2020磅EndSubPrivateSubCommand5 Click s Text1 SelTextText1 SelText 剪切EndSubPrivateSubCommand6 Click EndEndSub 三 程序编制 本章小结 VB开发环境窗体标签文本框 TextBox 重点 命令按钮 CommandButton 第二章VB程序设计基础 1 掌握数据类型 变量 常量 运算符和表达式 2 熟悉一些常用函数 3 掌握VB基本语句 本章主要内容 2 1数据类型 一 标准数据类型 1 数值数据类型 Numeric 数值型数据一般分为整型数和浮点数两类 整型数分为整数 Integer 和长整数 Long 浮点数分为单精度浮点数 Single 和双精度浮点数 Double 1 整数 Integer 整数是不带小数点和指数符号的数 在机器内部以2字节二进制码形式表示 VB中用 n 来表示整数 其中 为整数的类型符 可以省略 如123 123 123 都表示整数 2 长整数 Long 整数的最大值为32767 大于此数 程序运行时就会因为溢出产生中断 此时可使用长整数 长整数用4字节二进制数存储 可以表示更大的整数 其取值范围为 2147483648 2147483647 若超限用浮点型 VB中用 n 来表示长整数 其中 为长整数的类型符 如 1234 987654 都表示长整数 123 456是非法的 1 数值数据类型 Numeric 3 浮点数 浮点数也称为实型数或实数 由符号 指数和尾数组成 分单精度浮点数 Single 和双精度浮点数 Double 其指数部分分别用 E 或 e 和 D 或 d 表示 如 123 4345 34 1 234E 3345 34D 3 单精度定义的变量占4个字节 双精度定义的变量占8个字节 双精度能表示的数更广 单精度相对较窄 在机器中存储时用的转换格式不同 1 数值数据类型 Numeric 4 货币型 Currency 货币型属于定点实数或整数 用8位字节存储小数点前有15位 小数点后有4位 其余的数字被舍去 其表示形式为在数字后加上 如123456 7865 5 字节型 Byte 字节型数据用1个字节的无符号二进制数存储 取值范围为0 255 1 数值数据类型 Numeric 2 字符型数据 String 字符型数据是指一切可打印的字符和字符串 它是用双引号括起来的一串字符 如 编辑 123 一个西文字符占一个字节 一个汉字或全角字符占两个字节 在VB中有 变长 String 和定长 String n 字符串 字符串长度 0 231个字符 注意 空字符串用 表示 而 则表示空格 在字符串中必须用两个连续的双引号来表示字符串有一个双引号 如字符串 计算机 在VB中表示为 计算机 3 逻辑型数据 Boolean 又称布尔型 只有True和False两个值 在计算机内存中占2字节 经常用来表示逻辑判断的结果 当把数值型数据转换为逻辑型数据时 0会转换为Flase 其它非0值转换为True 反之 当把逻辑型数据转换为数值型时 Flase转换为0 True转换为 1 4 日期型数据 Date 日期型数据按8字节的浮点数来存储 表示的日期从公元100年1月1日 9999年12月31日 时间范围为0 00 00 23 59 59 任何在字面上可以被认作日期的文本都可以赋值给日期变量 且日期文字必须用符号 括起来 如 January15 2002 1985 10 19 45 00PM 5 23 2009 都是合法的日期型数据 5 变体 Variant 数据类型 Variant数据类型是VB对所有未定义的变量的缺省数据类型的定义 又称为万用数据类型 变体数据类型对数据的处理完全取决于上下文需要 变体型包括数值型 日期型 对象型 字符型等数据类型 通过VarType 函数可以检测Variant型变量中保存的具体的数据类型 一 变量的命名规则1 以字母或汉字开头 后可跟字母 数字或下划线组成 2 不能使用VB中的关键字 3 VB中不区分变量名的大小写 4 为了增加程序的可读性 可在变量名前加一个缩写的前缀来表明该变量的数据类型 例如 strAbc 字符串变量 iCount 整型变量 dblx 双精度变量 sYz 单精度变量 2 2变量和常量 2 2 1变量 二 变量声明 1 用Dim语句显式声明变量语法为 Dim变量名 As类型 例如 DimaAsInteger等价于Dima DimbAsSingle等价于Dimb Dima b casinteger 只有c是整型 a b为变体型 变量的默认初值 数值型 0 string Boolean False Date 0 0 0 定长字符串 DimSasString 10 多截少补 右侧空格 其他声明方式 Static Public Private 6 5节 2 隐式声明VB允许对变量不加声明而直接使用 称为隐式声明 此时变量类型为变体类型 对初学者 建议对变量显式声明 或在通用声明段使用 OptionExplicit 强制显式声明 二 变量声明 2 2常量和变量 2 2 2常量在程序运行过程中 其值不能被改变的量称为常量 在VB中有三类常量 普通常量符号常量系统常量 一 普通常量1 整型常量 1 整型 Integer 表示 32768至32767之间的整数例如 1011020 2 长整型 Long 表示 2 147 483 648至2 147 483 647之间的整数例如 长整型常数的书写 23 通常我们说的整型常量指的是十进制整数 但VB中可以使用八进制和十六进制形式的整型常数 因此整型常数有如下三种形式 1 十进制整数 如125 0 89 202 八进制整数 以 或 O 字母O 开头的整数是八进制整数 如 O25表示八进制整数25 即 25 8 等于十进制数21 3 十六进制 以 H开头的整数是十六进制整数 如 H25表示十六进制整数25 即 25 16 等于十进制数37 VB中的颜色数据常常用十六进制整数表示 1 单精度实型 Single 有效数为7位表示 3 37E 38至3 37E 38之间的实数2 双精度实型 Double 有效数为15位常量的表示 1 十进制小数形式 它是由正负号 数字 0 9 和小数点 或类型符号 组成 即 n n n 或 n 其中n是0 9的数字 例如0 123 123 123 0 123 等都是十进制小数形式 2 指数形式 nE m或 n nE m nD m或 n nD m例 1 25E 3和1 25D 3相当于1250 0或者1 25 103 2 实数 在VB中字符串常量是用双引号 括起的一串字符 例如 ABC abcdefg 123 0 VB程序 等 3 字符串常量 4 日期常量 例 09 02 99 January4 1989 2002 5 414 30 00PM 都是合法的日期型常量 VB中使用关键字Const声明符号常量 其格式如下 Const常量名 As类型 类型符号 常数表达式例如 ConstPI 3 1415926535 三 系统常量VB系统提供了应用程序和控件的系统定义常数 它们存放于系统的对象库中 在 对象浏览器 中的VisualBasic VB 和VisualBasicforapplications VBA 对象库中列举了VisualBasic的常数如 Text1 ForeColor vbRed这里的vbRed就是系统常量 二 符号常量 2 3运算符和表达式 2 3 1运算符 四类 1 算术运算符 2 字符串运算符 3 关系运算符 4 逻辑运算符 1 算术运算符 用于数学计算 有8个 其中减号运算符和取负运算符形式相同 其中只有取负 是单目运算符 其它均为双目运算符 表3 2照优先级别的高低列出了算术运算符 字符串运算符有 功能是字符串连接例如 ABCD EFGHI 结果为 ABCDEFGHI VB 程序设计教程 结果为 VB程序设计教程说明 当连接符两旁的操作量都为字符串时 上述两个连接符等价 它们区别是 连接运算 两个操作数均应为字符串类型 连接运算 两个操作数既可为字符型也可为数值型 当是数值型时 系统自动先将其转换为数字字符 然后进行连接操作 示例如下 2 字符串运算符与字符串表达式 例 100 123 结果为223 100 123 结果为100123 Abc 123 出错 100 123 结果为100123100 123 结果为100123 Abc 123 结果为Abc123 Abc 123 结果为Abc123 注意 使用运算符 时 常量与运算符 之间应加一个空格 3关系运算符与关系表达式 Not逻辑非为单目运算符 要求一个操作数 其它为双目运算符 条件表达式1And条件表达式2条件表达式均为T结果为T条件表达式1Or条件表达式2条件表达式有一个T结果为T 4逻辑运算符与逻辑表达式 说明 1 逻辑运算符的优先级不相同 Not 逻辑非 最高 但它低于关系运算 2 VB中常用的逻辑运算符是Not And和Or Not3 5 6 false 10 X 10AndX10或x10orX 3 3 关系表达式与逻辑表达式常常用在条件语句与循环语句中 作为条件控制程序的流程走向 日期型数据是一种特殊的数值型数据 只能有下面3种情况 1 一个日期型数据可以相减 DateB DateA结果是一个数值型整数 两个日期相差的天数 例如 05 08 2002 05 01 2002 其结果为数值 72 一个日期型数据 DateA 与一数值数据 N 可作加法运算 DateA N其结果仍是一个日期型数据 例如 05 01 2002 7其结果为日期型数据 05 08 2002 3 一个日期型数据 DateA 与一数值数据 N 可作减法运算 DateA N其结果仍是一个日期型数据 例如 05 08 2002 7其结果为日期型数据 05 01 2002 5日期型表达式 6 表达式的书写中需注意的问题 1 运算符不能相邻 例a b是错误的 2 乘号不能省略 例x乘以y应写成 x y 3 括号必须成对出现 均使用圆括号 4 表达式从左到右在同一基准并排书写 不能出现上下标 5 要注意各种运算符的优先级别 为保持运算顺序 在写 表达式时需要适当添加括号 若用到库函数必须按库函要求书写 如 b sqr b 2 4 a c 2 a a b a b 2 4常用内部函数 3 字符串函数 2 转换函数 1 数学函数 4 日期和时间函数 5 格式输出函数 6 Shell函数 1 数学函数 2 转换函数 Asc 函数 一个字符串首字符的ASC 码值 Asc A 65Chr 函数 ASC 码值转换成字符 Chr 65 AVal 函数 数字字符串转换为数值 Val 123ab 123Str 函数 数值转换为字符串 Str 123 123 非 123 Hex 函数 十进制转换成十六进制 Oct 函数 十进制转换成八进制值 Int 函数 不大于给定数的最大整数 如 Int 3 6 结果为3 Fix 函数 取整 如 Fix 3 6 结果为 3 Round 函数 四舍五入取整 Lcase 函数 大写转小写 Ucase 函数 小些转大写 3 字符串函数 字符串综合练习 4 日期和时间函数 5 Shell 函数 Shell 函数的作用是在VB中调用一个可执行文件 返回一个Variant Double 如果成功调用的话 该值代表这个程序的任务标识ID 若不成功 则会返回0 Shell函数的格式为 Shell pathname windowstyle pathname 要执行的程序名 带路径 可执行文件 windowstyle 窗口大小0 4 6 一般取1 例如 J shell c ProgramFiles MicrosoftVisualStudio VB98 VB6 exe 1 J shell notepad exe 1 2 5 基本语句 通用声明 过程块 不分先后 2 5 1程序结构 2 5 2 编码规则 1 VB代码不区分字符的大小写关键字会自动转换为大写字母开头 后续字母为小写 自定义的变量 过程名等 以第一次定义为准 其后的输入自动转换 2 书写自由一行可以书写多条语句 各语句之间用冒号 分隔一行书写不完的语句 可以在该行后加上续行符 由空格 下划线 组成 然后换行书写 一般一行写一条语句 一行最多255个字符 一条语句最多1023个字符 3 注释行以Rem或撇号 开头只有用撇号引导的注释可以出现在语句之后 2 5 3赋值语句 赋值语句是程序设计中最基本的语句 其作用是把指定的值赋给某个变量或某个带有属性的对象 一般格式为 变量名 或属性名 表达式 例句 1 给变量赋值 x 2s hello 2 给属性赋值 Text1 Fontsize 16Label1 Caption 欢迎光临 语法特点 为赋值号 不等于数学意义上的等号 VB系统会自动判断是赋值还是关系运算 如 x 0 赋值Printx 0 关系运算赋值语句具有赋值和计算的双重功能 即首先计算右边的值 然后赋给左边的变量 如 x x 1 变量自增常用形式x 5 2 两边应具有相同的数据类型 当左右类型不符时 n 5 65 6四舍五入为6n 123 等价于n Val 123 n a123 出错 类型不匹配 常用形式 累加m m x计数n n 1 PrivateSubForm click Fori 1To100m m in n 1NextPrintm nEndSub 常见错误 赋值号左边只能是变量或属性名 不能为常量或表达式 下列语句中只有一个正确 x y zSqr d 0Text1 x不能在一条赋值语句中给多个变量赋值 如 x y z 1 2 5 4人机交互函数 2 输出对话框MsgBox 函数 1 输入对话框InputBox 函数 1 InputBox函数 作用 弹出一个对话框 等待用户输入内容 函数返回值为字符型 格式 变量 InputBox 提示 标题 默认值 举例 a InputBox 请输入学生学号 信息查询 2000 3000 2 MsgBox函数和MsgBox过程 作用 弹出一个信息框 等待用户单击按钮 并返回一个整数以标明用户单击了哪个按钮 语法格式 变量 MsgBox 提示 按钮 标题 举例 效果如图4 1所示 msgbox函数 i msgbox 确定退出吗 3 警告 msgbox过程 MsgBox 密码错误 3 警告 表2 2MsgBox函数的返回值 3 1选择结构程序设计 3 2循环结构 第3章基本的控制结构 3 4综合应用 3 3其他辅助控制语句 3 1选择结构程序设计 3 1 1If条件语句 3 1 2SelectCase 3 1 1If条件语句 1 If Then语句 单分支结构 2 If Then Else语句 双分支结构 3 If Then ElseIf语句 多分支结构 4 If语句的嵌套 1 If Then语句 单分支条件结构 用If Then结构有条件地执行一个或多个语句 单行语法和多行块语法都可以使用 1 IfThen 2 IfThenEndIf下面两个例子等价 1 Ifa 0andb0Thenx c b 2 Ifa 0andb0Thenx c bEndIf 用法解析 If Then的单行格式末尾不加EndIf 如果为True时要执行多行代码 则用语法 If Then EndIf或用If Then语句 语句 语句 PrivateSubForm click a InputBox 请输入数据 Ifa 5Thenb a 5PrintbEndIfEndSub 可以用If Then Else块定义几个语句块 执行其中一个语句 其语法格式也有两种形式 1 IfThenElseEndIf 2 IfThenElse 当的值为真时 执行Then后面的语句块1 或语句1 否则执行Else后面的语句块2 或语句2 y 2 If Then Else语句 双分支结构 例1 判断输入数的奇偶性 并输出结果 PrivateSubcmd1 Click DimaAsInteger bAsIntegera text1 Textb aMod2Ifb 1Thentext2 Text 这是一个奇数 Elsetext2 Text 这是一个偶数 EndIfEndSub 多分支结构可以处理两个或两个以上分支 其语句形式为 IfThenElseIfThen Else EndIf 3 If Then ElseIf语句 多分支结构 例2 利用If Then Elseif语句编写求函数 PrivateSubForm Click DimxAsDoublex Val InputBox 输入学生成绩 Ifx 100Orx 90ThenPrint 优秀 ElseIfx 80ThenPrint 良好 ElseIfx 70ThenPrint 中等 ElseIfx 60ThenPrint 及格 ElsePrint 不及格 EndIfEndSub 作业1 先从小的判断如何改程序 If或Else后的语句块中包含If语句 称为If语句的嵌套 If语句复合结构的一般形式 在Else块中嵌套If结构的形式 4 If语句的嵌套 例4 三数求最大 PrivateSubcmdMax Click DimiAsInteger jAsInteger kAsIntegeri text1 Text j text2 Text k text3 TextIfi jThenIfi kThentext4 Text iElsetext4 Text kEndIfElseIfj kThentext4 Text jElsetext4 Text kEndIfEndIfEndSub 多分支结构的另一种表示形式 语法格式为 SelectCaseCase表达式列表1Case表达式列表 CaseElse EndSelect 3 1 2SelectCase语句 数值型或字符串 只能一个变量 与上类型同 四种形式 表达式逗号分隔枚举表达式 to表达式 Is关系运算表达式 不能有逻辑运算符 例如 case1to10case1 2 3 4case1 3 5 is 10 例6 将例2判断改为用Selectcase语句实现 PrivateSubForm Click DimxAsDoublex Val InputBox 输入学生成绩 SelectCasexCaseIs 100 is 90Print 优秀 CaseIs 80Print 良好 CaseIs 70Print 中等 CaseIs 60Print 及格 Case0To60Print 不及格 EndSelectEndSub D inputbox 输入一个数 SelectcasedCase1to5Print 工作日 Case6 7Print 周末 Caseis 8Msgbox 输入数据有误 Endselect 例7 3 1 3综合应用 3 1 3综合应用 DimpwAsString iAsIntegerpw Text1 textIfpw 1234567 Orpw 7654321 Orpw 1111111 ThenMsgBox 你的口令正确 已通过身份验证 64 0 用户身份验证 SelectCasepwCase 1234567 Label2 Caption 你是普通用户 Case 7654321 Label2 Caption 你是授权用户 Case 1111111 Label2 Caption 你是特许用户 EndSelectElsei MsgBox 口令不正确 是否重试 4 32 提示信息 Ifi vbYesThenText1 Text Text1 SetFocusElseEndEndIfEndIf 3 1 3综合应用 上机作业 支导线计算自己设计一个界面 输入导线两已知点的坐标 转角 左角或右角 导线长 显示出计算结果坐标 3 2 2Do Loop循环语句 3 2 1For循环语句 3 2 3循环嵌套 3 2循环结构 For循环的语法如下 For To Step Next 3 2 1For Next语句 循环变量必须为数值型 步长为正则初值小于终值 为负则相反 默认1 循环体 即语句块 可以是一句或多句 循环次数 n int 终值 初值 步长 1 ExitFor 写在循环体中 表示退出循环 例1求1 100之间奇数和 Dimi s s 0Fori 1To10step2s s IprintiNextiPrints 3 2 2Do Loop语句 1 前测型Do Loop循环 在前测型Do Loop循环中 只要为True就执行 其语法格式为 Do While Until Loop PrivateSubForm Click DimSAsInteger IAsIntegerDoWhileI 100S S II I 1LoopPrint S SEndSub Do循环示例1 求1 2 3 100 DoUntilI 100 如何改为DoUntil Do Loop语句的另一种演变形式是先执行 然后在每次执行后测试 称为后测型Do Loop循环 这种形式保证至少执行1次 其语法格式为 DoLoop While Until 2 后测型Do Loop循环 作业 如何求1 2 3 100 PrivateSubForm Click DimSAsInteger IAsIntegerDoS S II I 1LoopWhileI 100Print S SEndSub Do循环示例1 求1 2 3 100 3 2 3循环嵌套在一个循环体内又出现另外的循环语句称为循环嵌套 例 指出下面程序的运行结果 DimaAsInteger iAsInteger jAsIntegera 0Fori 1To5Forj 2To2a a i jNextjPrinta NextiPrintPrinti j a 3 3综合应用 1 ForI IF Then EndIF NextI 6 IF Then ForI EndIF NextI 5 SelectCase ForI Case Case NextI EndSelect 3 ForI IF Then NextI EndIF 2 IF Then ForI NextI EndIF 4 ForI SelectCase Case Case EndSelect NextI 3 6程序调试 一 错误类型 1 语法错误程序编辑 VB弹出提示错误对话框程序编译 出错行高亮度显示2 运行时错误 错误提示 光标停留在错误行3 逻辑错误 不提示 需仔细分析 3 6程序调试 二 调试和排错 1 插入断点和逐语句跟踪F9键 设置断点 F8键 继续跟踪 逐句跟踪 2 调试窗口 立即窗口 3 本地窗口 本地窗口 第四章VB常用控件 4 1单选按纽 复选框和框架4 2图形框和图象框4 3列表框和组合框4 4定时器 控件 VB中的三类控件 标准控件 内部控件 工具箱中默认显示 ActiveX控件 ActiveX部件的一种 是可重复使用的编程代码和数据 由一个或多个对象组成 扩展名 ocx 通常存放在windows的system目录 如通用对话框Comdlg32 ocx 详见p 151表7 1 添加ActiveX控件 工程 部件添加ActiveXDLL EXE部件 工程 引用可插入对象 windows应用程序对象 4 1单选按钮 复选框和框架 1 单选按钮 OptionButton 主要属性 Caption和ValueCaption 显示文本 Value 逻辑型 表示状态 TrueorFalse 事件 Click 2 复选框 CheckBox 主要属性 Caption和ValueCaption 显示文本 Value 默认属性 整型 表示状态 0 默认设置 未选定 1 被选定 2 灰色并有标记 表示部分选定 功能 用复选框和单选按钮控制文本框字体 例4 1复选框和单选按钮应用 OptionExplicitPrivateSubcmdExit Click EndEndSubPrivateSubcmdSet Click 设置颜色IfoptRed ValueThenlbDisplay ForeColor vbRed 设置文本颜色为红色ElseIfoptBlue ValueThenlbDisplay ForeColor vbBlue 设置文本颜色为蓝色ElselbDisplay ForeColor vbGreen 设置文本颜色为绿色EndIf 设置文本字体大小Ifopt10 Value TrueThenlbDisplay FontSize 10 设置文本字体大小为10ElseIfopt16 Value TrueThenlbDisplay FontSize 16 设置文本字体大小为16ElselbDisplay FontSize 20 设置文本字体大小为20EndIf 设置文本字形lbDisplay FontBold chkCu Value 设置文本为粗体lbDisplay FontItalic chkXie Value 设置文本为斜体lbDisplay FontUnderline chkxiaHua Value 设置文本为下划线EndSub 4 2图形框和图象框 图形框 PictureBox 与图像框 Image 控件在VB中用来在窗体的指定位置显示图形信息 包括来自位图 图标或元文件的图形 也可以显示增强的元文件 JPEG或GIF文件 图形框控件可以作为容器容纳其他控件 还可以使用Print Pset Line Circle等方法作图 而图像框控件则不具有这些性能 但图像框控件使用较少的系统资源 所以重画起来比图片框控件要快 Picture属性设计时设置Picture属性运行时使用LoadPicture 函数 格式 装入 Picture LoadPicture 图片路径及文件名 删除 Picture LoadPicture Picture1 Picture LoadPicture D 截图 11 jpg Picture1 Picture LoadPicture App Path 截图 11 jpg 装入另一个图形框中的图形 图形框1 picture 图形框2 pictureAutosize属性为True时能自动调整大小与图片匹配 为False时图形框大小不变 图形超过部分将被剪裁 1 图形框 4 3列表框 一 用途列表框控件 ListBox 用于显示项目列表 用户可从中选择一个或多个项目 如果项目总数超过了可显示的项目数 VB会自动加上滚动条 列表框项目可在设计模式下一项一项输入 也可用程序添加 1 Style属性该值用来指示控件的显示类型和行为 在运行时是只读的 对于列表框控件或组合框控件都有Style属性 但它们的含义是不同的 例如 在窗体上放置2个列表框 将其Style属性分别设置为0和1 二 主要属性 2 List ListCount和ListIndex属性 List 字符型数组 存放列表框的项目数据 下标从0开始的例如 list1 List 0 表示第一项的内容ListIndex 为整型值 选中的项目的序号 Listindex 0 如果列表框可多选 则为最后一次选中项目的序号 没有项目选中时为 1 ListCount 为整型值 表示项目的数量 ListCount 1是最后一项的下标 3 MultiSelect属性用于指示是否能够在列表框控件中进行复选以及如何进行复选 在运行时是只读的 4 Selected属性该属性返回或设置列表框控件中的一个项目的选择状态 例如 List1 Selected 0 True表示列表框List1的第一个项目被选中 5 Sorted属性返回一个逻辑值 当Sorted属性为True时列表框控件的项目自动按字母表顺序 升序 排序 为False时项目按加入的先后顺序排列显示 该属性只能在设计时设置 不能在程序代码中设置 6 Text属性Text属性选中的文本 如果列表框可多选 则为最后一次选中项目 Text属性值总与List1 List List1 ListIndex 的值相同 list1 list 3 abclist1 ListCount 6list1 ListIndex 3 下标从0开始的 list1 Selected 3 Truelist1 Text abc 列表框各主要属性的值 三 方法1 AddItem方法用于将项目添加到列表框控件或组合框控件 语法格式 对象名 AddItemitem index 其中 item 为字符串表达式 表示要加入的项目 Index 决定新增项目的位置 缺省 则添加在最后 2 RemoveItem方法用于从列表框控件或组合框控件中删除一项 语法格式 对象名 RemoveItemindex对index参数的规定同AddItem方法 列表框举例 PrivateSubCommand1 Click a InputBox 请输入添加项目 2000 3000 List1 AddItemaEndSub PrivateSubCommand2 Click Fori 0ToList1 ListCount 1IfList1 Selected i trueThenList2 AddItemList1 List i EndIfNextiEndSub PrivateSubCommand3 Click DimiAsIntegern List2 ListCount 1DoWhilei nIfList2 Selected i ThenList2 RemoveItemiList2 Refreshn n 1Elsei i 1EndIfLoopEndSub PrivateSubCommand4 Click x List1 TextPrintxEndSub 3 Clear
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辐射监测与防护工基础技能培训手册
- 2025年中国滑逆滚球式止回阀行业市场发展前景及发展趋势与投资战略研究报告
- 机构装配工职业技能鉴定经典试题含答案
- 2025年中国房地产人才行业市场全景评估及发展战略研究报告
- 新型绿化材料应用培训计划
- 中国存储区域网络(SAN)行业发展运行现状及投资策略研究报告
- 电采暖项目可行性研究报告
- 中国矿用电铲行业发展环境、市场运行格局及前景研究报告-智研咨询(2025版)
- 电机制造工实操任务书
- 磨工技能测试题库及答案
- 生产班组长安全培训课件
- 餐饮行业服务员合同范本
- 人工智能应用学习通超星期末考试答案章节答案2024年
- DB43T 876.9-2015 高标准农田建设 第9部分:建后管护
- 开展“廉洁示范岗”创建活动实施方案
- 酒吧管理-酒吧各级运营流程
- 签约耐克终身合同模板
- Peabody粗大运动评定表
- 市政工程主要工程施工方案与技术措施
- 驾驶员教育培训计划方案(3篇模板)
- 【网上书店设计与实现20000字(论文)】
评论
0/150
提交评论