




已阅读5页,还剩190页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB程序设计 佛山电大彭毓2004年三月 目录 第一章基础知识第二章VB语言基础第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章过程第八章变量与过程的作用域第九章文件管理第十章菜单与工具栏第十一章图形与图象第十二章数据库功能 教学安排 授课安排15周的新课 1周期中测验 2周复习 1周答疑 1周期末考试实验安排 8次 教学内容的安排 第1章VB的基础知识 1周 第10 11章菜单与工具栏 图形与图象 2周 第2章VB的语言基础 3周 第3章顺序结构的程序设计 4周 第4章选择结构的程序设计 5周 第5章循环结构的程序设计 6 7周 第6章数组 8周 教学内容的安排 综合练习 9周 测验 10周 第7章过程 12周 第8章变量和过程的作用范围 13周 第9章文件管理 13 14周 第12章数据库功能 15 16周 复习答疑 17 18周 考试 19周 实验内容的安排 实验一 VB集成开发环境的熟悉实验二 菜单和工具栏的设计实验三 常用控件的熟悉和使用实验四 顺序结构 选择结构程序的设计实验五 循环结构程序的设计实验六 数组和过程的应用实验七 文件管理程序的设计实验八 数据库管理程序的设计 第一章基础知识 1 1VB简介1 2VB可视化编程的基本概念1 3VB可视化编程的环境1 4VB可视化编程的步骤1 5控件的画法作业 返回目录 1 1VB简介 何谓VisualBasic VB是微软公司出品的在BASIC语言的基础上发展起来的面向对象的可视化编程语言 Visual 指的是开发图形用户界面 GUI 的方法 不需编写大量代码去描述界面元素的外观和位置 而只要把预先建立的对象add到屏幕上的一点即可 Basic 指的是BASIC BeginnersAll PurposeSymbolitInstructionCode 语言 一种在计算技术发展历史上应用得最为广泛的语言 VB提供了三种版本 学习版 专业版和企业版 以满足不同层次的开发人员的需要 1 1VB简介 VisualBasic的特点可视化的设计平台面向对象的设计方法事件驱动的编程机制结构化的设计语言充分利用windows资源开放的数据库功能与网络支持 1 2VB可视化编程的基本概念 1 2 1类和对象对象 封装好的数据和代码 对象具有各种属性 事件和方法 VB中的典型对象有窗体 控件 打印机等 属性 描述对象的性质和特征 属性的设置 1 通过属性窗口 2 使用代码设置对象名 属性名 属性值 事件 能被对象识别并响应的动作 事件过程 对象在识别到某事件发生后将执行相应的过程 方法 对象可执行的动作和功能 类 对象的模版 通过类可以产生各种同类对象 例 form1 caption 我的第一个应用程序 例如 按钮对象的鼠标单击事件 command1 click 例 form1 show对象名 方法名 一只漂亮的酒杯摔碎了 则漂亮 酒杯 摔 碎了分别是属性 对象 方法 事件 1 2 2VB的控件控件是预先定义好的 程序中可直接使用的对象 1 内部控件 工具箱中缺省控件即为内部控件 封装在VB的EXE文件中 不可删除 2 Active控件 单独保存为ocx文件中 部分仅在专业版和企业版中提供 部分由第三方厂家提供 3 可插入对象 1 2VB可视化编程的基本概念 1 2 3窗体对象1 窗体的结构 窗体具有菜单 标题栏 最大化 还原 最小化 关闭按钮以及边框 2 窗体的属性name 名称 同时也是磁盘上的文件名 扩展名为 frmcaption 标题栏显示的文本 backcolor 背景颜色borderstyle 边框风格controlbox 是否显示控制菜单maxbutton minbutton 是否显示最大化 最小化按钮movable 窗体是否可移动 windowstate 窗体状态为 正常 最小化 最大化 1 2VB可视化编程的基本概念 3 多文档窗体 MDI MDI窗体是父窗体 为所有MDI子窗体提供工作空间 一个应用程序可以有若干个MDI子窗体但只能有一个MDI父窗体 1 2 4代码窗口在代码窗口编写代码时 VB具有以下特性 1 自动列出成员特性 2 自动显示快速信息 3 自动语法检查 4 一次查看一个过程 或查看程序中的全部过程 1 2VB可视化编程的基本概念 标题栏菜单栏工具栏工具箱属性窗口 1 3VB6 0的集成开发环境 工程管理器窗口窗体布局窗口立即窗口窗体设计器 标题栏 菜单栏 工具箱 工具栏 工程管理器窗口 属性窗口 窗体布局窗口 窗体设计器 1 4 1新建工程1 4 2添加控件1 4 3设置属性1 4 4编写代码 1 4VB可视化编程的步骤 1 4 5运行工程1 4 6修改工程1 4 7保存工程1 4 8工程的编译 1 5 1在窗体上放置控件1 5 2控件的缩放和移动1 5 3控件的复制和删除1 5 4控件的布局1 选定多个控件2 控件的对齐3 按相同尺寸调整控件的大小4 调整控件之间的间距5 水平与垂直对齐6 叠放控件的显示顺序 1 5控件的设计 1 简述VB的特点 2 如何向工具箱中添加日历控件 3 如何向工具箱中添加第三方提供的控件 4 如何将一些常用的控件保存在一张单独的选项卡上 5 何谓对象 属性 方法和事件 习题2 4 教材1 3 1 6属于操作题 在课堂上解决 第一章作业 一 创建下拉式菜单二 创建弹出式菜单三 工具条的使用 第十章菜单与工具栏 一 图片框二 图象框控件三 滚动条 第十一章图形图象控件 2 1标准数据类型2 2变量2 3常量2 4表达式2 5常用内部函数2 6语句作业 第二章VB语言基础 返回目录 2 1标准数据类型 2 1 1数值型数据2 1 2字符型数据2 1 3布尔型数据2 1 4日期型数据2 1 5对象型数据2 1 6可变型数据 数值型数据具有表示范围 当数值超过规定的表示范围 就会溢出 系统会提示出错 2 1 1数值型数据 2 1 2字符串型数据 String 字符数据用ASCII码即美国信息交换标准码表示 1 变长字符串 长度为字符串长度 例 dimaasstringa 123 a 456789 2 定长字符串 长度为规定长度 对于定长字符串 当字符长度低于规定长度 即用空格填满 当字符长度多于规定长度 则截去多余的字符 例 dimaasstring 10 2 1 3布尔型数据 Boolean 占2个字节 只有2个值 真true和假false 当数值型数据转换为Boolean型数据时 非0的数据转换为true 0为fasle 当Boolean型数据转换为数值型数据时 true转换为 1 fasle为0 2 1 4日期型数据 Date 日期型数据占 个字节 表示范围从100 1 1 9999 12 31 日期型常数应用一对 把日期和时间值括起来 例 09 10 2000 或 2000 09 12 08 30 00AM 09 10 200008 30 00AM 例 DimmylabAsDatemylab 9 3 200111 35 00AM Time mylab 2 1 5对象型数据 Object 占 个字节 用于引用任何对象 对象型变量应用 语句赋值 例 DimmylabAsObjectSetmylab Form1 Label1mylab Caption 我的标签 2 1 6变体型数据 Variant 在程序未经声明就直接使用的变量称为变体型变量 变体型变量可用于存放任何类型的数据 2 2变量 变量代表内存中某指定的存储单元 变量的值在程序运行过程中可以随时变化的 变量具有名字和数据类型两种属性 名字 用于在程序中标识变量和使用变量的值数据类型 确定变量中能保存何种数据 VB中具有两种形式的变量 属性变量和内存变量属性变量是VB系统自动创建的 内存变量程序员根据需要创建的 2 2 1变量的命名规则 第一个字符必须是字母 不能包含有小数点 字符数不得超过255个字符 变量名在同一范围内必须是唯一的 注意 不能使用VB的关键字做变量名 变量名不能与过程名和符号常量名同名 2 2 1变量的命名规则 练习2 2 下列哪一个不是VB的合法变量名 1 ABCDEFG 2 P000000 3 89TWDDFF 4 XYZ 5 姓名 6 P 1 7 P 1 2 2 2变量的声明 声明变量 Dim Static Public Private as as Dim Static Private声明的是过程级局部变量 Dim Private也可用于声明模块级私有变量 Public声明的是整个工程级的公共变量 Static声明的是静态变量 例 dimcountasintegerPrivatesumasdouble strnameasstringStaticaverageassinglePublicynasbooleanDimname1asstring 8 2 2 2变量的声明 练习2 4 题目略 见P41 答案 Dimxassingle 2 2 2变量的声明 使用声明语句声明变量后 VB系统会自动创建变量 并为变量赋予初值 通常数值型变量的初值为0 字符型变量和变体型变量的初值为空串 布尔型变量的初值为false 2 2 2变量的声明 强制显式声明Optionexplicit的作用范围仅限于语句所在模块 2 3常量 常量代表内存中指定的存储单元 常量的值在程序运行过程中是不变化的 2 3 1直接常量2 3 2符号常量 2 3 1直接常量 在程序代码中以直接明显的形式给出的数据 为直接常量根据使用的数据类型 常量分为 字符串常量 需用双引号括起来 sdfdf 对于回车换行符 可用其ASCII码表示 例 text1 text text1 text Howareyou chr 13 chr 10 数值常量 5种数据类型 整数 长整数 定点数 浮点数和字节数 布尔常量 只有两种值 true false日期常量 用一对 将表示日期和时间的值括起来 表示日期型常量 例 30 09 2001 2001 09 30 Mar4200010 12 30 2 3 2符号常量 为了改善程序的可读性和可维护性 通常使用符号常量 符号常量分为两种 内部常量和用户常量 系统内部的常量通常以vb开头 例如vbcr vblf vbyes vbno vbmodel vbmodeless等 2 用户定义的常量声明常量的语法 Public Private Const as 说明 1 常量名以字母开头 由字母 数字和下划线组成的1 255个字符构成 2 可由直接常量和运算符组成 也可包含前面已定义过的常量 但不能使用函数 2 3 2符号常量 3 可用逗号分隔 在一行中声明多个常量 4 常量的有效范围 1 过程级常量 仅存在于过程内部 应在过程内部声明 2 模块级常量 对模块内的各个过程有效 应在模块的声明段对常量进行声明 例 privateconsta 20 3 全局常量 对整个应用程序有效 应在标准模块的声明段对常量进行声明 例 publicconsta 20 2 4表达式 2 4 1算术表达式1 算术运算符 mod 2 表达式的书写规则 1 每个符号占一格 并在同一行中 不允许有上下标 2 任何运算符均不得省略 例如 2x应表示为2 x 3 所有括号均用小括号 且必须成对 4 某些数学表达式中符号必须表示成VB认可得形式 例如 2 r应表示为2 pi r3 算术运算符的优先级见教材P35 2 4表达式 2 4 2字符串表达式字符串表达式由字符串常量 字符串变量 字符串函数和字符串运算符组成 字符串运算符 和 均可将两字符串连接起来 可自动将非字符型数据转换为字符型数据后 再进行连接 不能进行自动转换 且容易与加号混淆 一般避免使用 2 4 3日期表达式日期型运算符只有两种 和 例 12 19 1999 11 16 1999 11 16 1999 33 12 19 1999 33 2 5常用的内部函数 VB中有两类函数内部函数 VB系统提供的标准函数用户自定义函数 用户根据需要 定义的函数 数学函数字符串函数日期和时间函数格式输出函数随机数语句和函数数据类型转换函数 2 5常用的内部函数 数学函数 2 5常用的内部函数 数学函数举例 X Sgn 3 X 1X Sgn 3 X 1X Sgn 0 X 0X INT 3 4 X 4X INT 3 4 X 3X FIX 3 4 X 3X FIX 3 4 X 3X SIN 30 3 14 180 X 0 5X SQR 9 X 3X ABS 3 X 3 2 5常用的内部函数 字符串函数 2 5常用的内部函数 字符串函数举例 X Ltrim hello X hello X Rtrim hello X hello X trim hello X hello X left hello 2 X he X right hello 1 X o X mid hello 1 2 X he X instr hello ll X 3X string 5 X 2 5常用的内部函数 字符串函数举例 X Ucase hello X HELLO X Lcase HELLO X hello X STR 123 456 X 123 456 X VAL 123 456 X 123 456 DimtimesAsIntegerPrivateSubCMDEXIT Click EndEndSubPrivateSubCMDOK Click DimmimastrAsString mstrAsStringDimiAsIntegermstr hello times times 1mimastr Text1Fori 1ToLen mimastr IfMid mimastr i 1 Chr Asc Mid mstr i 1 1 ThenIftimes 3ThenMsgBox 密码错误 请重新输入 ExitSubElseMsgBox 密码错误超过三次 系统强制退出 EndEndIfEndIfNextiMsgBox 密码正确 欢迎使用本系统 EndSub 密码验证程序 2 5常用的内部函数 日期函数 2 5常用的内部函数 日期函数举例 Date 2002 03 12 Time 10 30 00AM T now T 2002 03 1210 30 00 D day date d 12M month date m 3Y year date y 2002 2 5常用的内部函数 日期函数举例 H Hour time H 10mn minute time mn 30S second time s 0W Weekday time w 2 2 5常用的内部函数 日期函数举例 DimiAsIntegerPrivateSubCommand1 Click EndEndSubPrivateSubCommand2 Click i i 1Label2 Caption 您是第 i 次使用本系统 欢迎您 EndSubPrivateSubForm Load Label1 Caption 今天是 Year Date 年 Month Date 月 Day Date 日 EndSub 2 5常用的内部函数 日期函数举例 数字时钟PrivateSubForm Load Label1 Hour Time 时 Minute Time 分 Second Time 秒 EndSubPrivateSubTimer1 Timer Label1 Hour Time 时 Minute Time 分 Second Time 秒 EndSub 2 5常用的内部函数 随机函数 Randomize产生随机数的种子Rnd产生0 1之间的随机数例 产生100以内 不含100 的随机整数Int Rnd 100 例 产生两位的随机整数Int 10 Rnd 90 例 产生100 1000之间的随机整数Int 100 1000 100 Rnd 2 6语句 2 6 1程序语句VB程序中一行代码称为一条程序语句 建立程序语句必须遵从的构造规则称为语法 2 6 2语句的书写规则一行中的多条语句可用冒号 分隔 使用续行符 可将一条语句分为多行书写 2 6 3命令格式中的符号约定见P41 第二章练习 教材P41的2 3 2 5 2 7 2 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 3 1命令按钮3 8图片框控件3 2标签控件3 9图象框控件3 3文本框控件3 10滚动条控件3 4复选框控件3 11定时器控件3 5单选框控件3 6组合框控件3 7列表框控件 第三章常用控件的使用 返回目录 3 1命令按钮 用户通常通过命令按钮来执行某个命令 如 确定 退出 等Name属性 名称Caption属性 设置按钮上显示的文字Default属性 为true 则该按钮成为整个窗体缺省的确定按钮 当用户按回车键即触发该按钮的click事件Cancel属性 为true 则该按钮成为整个窗体缺省的取消按钮 当用户按 ESC 键 即触发该按钮的click事件 Style属性 可选择标准或图形风格 Click事件 鼠标单击事件 返回 3 2标签控件 标签控件通常用来显示文本 Name属性 名称Caption属性 设置要显示的文字Font属性 设置字体Forecolor属性 设置文字颜色Alignment 设置文字的对齐方式BackStyle属性 设置背景是否透明Borderstyle属性 设置控件是否具有边框Autosize属性 设置控件是否随文字自动调整大小 返回 3 3文本框控件 文本框控件通常用来接受用户输入的文本 Name属性 名称Text属性 设置或读取文本框中的文字Maxlength属性 设置文本框中文本的最大长度Locked属性 设置是否允许用户在文本中输入或修改文本Multiline属性 设置文本框是单行的还是多行的 scrollbars属性 设置是否显示滚动条 Borderstyle属性 设置文本框是否具有边框Alignment 设置文字的对齐方式passwordchar 设置文本框是否作为密码输入框 返回 3 3文本框控件 Seltext属性 读取或设置文本框选中的文本Selstart属性 设置或读取文本框中选中文本的起始位置Sellength属性 设置或读取文本框中选中文本的长度以上三属性在设计时无效 Change 当文本框内容变化时将触发本事件Gotfocus 当焦点进入文本框时将触发本事件Causesvalidation 设置Validate是否有效Validate 若Causesvalidation为true 当焦点离开文本框时将触发本事件 可在此事件过程中将cancel设置为true 将使焦点回到该文本框中 Keydown keyup keypress 当用户在文本框中输入时 将触发这些事件 返回 举例 3 4复选框控件 复选框控件可用来让用户进行 真 假 是 否 等选项的设置Name属性 名称Caption属性 设置要显示的文字Value属性 设置或读取复选框的值 0 unchecked未选中1 checked选中2 grayed未完全选中Forecolor属性 设置文字颜色Alignment 设置文字的对齐方式Style属性 可选择标准或图形风格 返回 3 5单选框控件 单选框控件可用来让用户在一组相关的选项中选择一项 因此单选框控件总是成组出现的 位于同一容器中的单选框控件被为一组 当这一组中某个单选框控件被选中时 这组中其他的单选框将自动处于不选中状态 Name属性 名称Caption属性 设置要显示的文字Value属性 设置或读取单选框的值 false unchecked未选中true checked选中Forecolor属性 设置文字颜色Alignment 设置文字的对齐方式Style属性 可选择标准或图形风格 返回 3 6组合框控件 组合框控件类似于文本框 但可提供一组预制的选项供用户选择 用户可从下拉式列表框中直接选择某项内容 也可在组合框中输入列表项中没有的内容 Name属性 名称Text属性 设置或读取组合框要显示的文字List属性 设置或读取列表项 设计时在输入列表项时可用Ctrl Enter进行换行 Listcount属性 返回列表中列表项的个数 Listindex属性 设置当前选中的列表项下标 或读取用户选择的列表项下标 Sorted 设置列表项是否自动排序 Locked 设置组合框的内容是否允许用户修改 返回 3 6组合框控件 Style属性 设置组合框的风格 0 下拉式组合框1 简单组合框2 下拉式列表Clear方法 删除列表中所有的列表项 Additem方法 向列表框中添加列表项例 combo1 additem viasualbasic 3即将字符串 viasualbasic 添加到列表中的第四位 Removeitem方法 向列表框中删除列表项例 combo1 removeitem3即将列表中的第4位删除 返回 3 7列表框控件 Style属性 设置列表框的风格 0 标准风格1 复选框风格Columns 设置列表框的滚动方向以及列数 Columns 0 列表框垂直滚动 Columns为大于0的整数如3时 列表框垂直滚动 并被分割为若干列如3列 Multiselect属性 设置是否可以多项选择 0 none 不允许多项选择 1 simple 简单多项选择 可通过鼠标或空格键选中某项或取消对某项的选择 2 extended 扩展多项选择 通过shift ctrl和鼠标以及方向键组合对列表项进行多选 返回 3 8图片框控件 主要用于显示图片或用做其他控件的容器 picture属性 设置图片框要显示的图片 运行状态下可用 loadpicture 函数来设置图片 例 picture1 picture loadpicture c cloud bmp picture1 picture loadpicture 即清除原来的图片 Autosize属性 设置图片框控件是否根据图片自动调整大小 Borderstyle属性 设置图片框控件是否显示边框 Appearance属性 设置图片框控件是否具有三维效果 返回 3 9图像框控件 用于显示图片 picture属性 设置图像框要显示的图片 运行状态下可用 loadpicture 函数来设置图片 例 image1 picture loadpicture c cloud bmp Stretch属性 设置图像框控件是否根据图片自动调整大小 Stretch false 图像框控件根据图片自动调整大小 Stretch true 图片自动根据图像框控件调整大小Borderstyle属性 设置图像框控件是否显示边框 返回 3 10滚动条控件 分水平滚动条和垂直滚动条 可用于滚动图片 文本或调整某个数值的大小 Value属性 读取或设置滚动条当前的值 Min属性 设置滚动条的最小值 Max属性 设置滚动条的最大值 Smallchage属性 设置滚动条的微调改变值 即单击滚动条两端箭头时的改变量 Largechange属性 设置滚动条的粗调改变值 即单击滚动条内部空白处的改变量 应用举例 返回 3 11定时器控件 可用于定时引发事件 Interval属性 设置定时器的定时时间间隔 以毫秒为单位 enable属性 设置定时器是否有效 Timer1 interval 1000注意 没有事件 其在运行状态下时不可的 Timer1 timer应用举例 返回 4 1数据输出4 2常用基本语句4 3利用文本框输入数据4 4使用对话框作业 第四章赋值与输入输出 返回目录 4 1数据输出 4 1 1直接输出到窗体1 Print方法 Print 对象名称可以是窗体 图片框或打印机 若省略则为窗体 表达式列表是一个或多个表达式 可以是数值表达式 字符串 多个表达式之间用分隔符号 或分号 隔开 若句末无分隔符 则自动换行 对于表达式 先计算后输出 例 print Hello everybody Print name age ID Print liping 20 30 返回 4 1数据输出 2 与Print有关的函数 1 Tab函数Tab 输出定位函数 2 Spc函数空格输出函数3 位置属性 currentX currentY 可将输出精确定位 4 清除方法cls 返回 4 1数据输出 4 1 2 输出到图片框例 picture1 print howareyou 4 1 3 输出到标签控件例 Label1 caption howareyou 返回 4 1数据输出 返回 4 1数据输出 返回 PrivateSubCommand1 Click Print name age ID Print liping 20 03 EndSubPrivateSubCommand2 Click ClsEndSubPrivateSubCommand3 Click Picture1 PrintTab 3 Hello everybody EndSubPrivateSubCommand4 Click UnloadMeEndSub 4 2常用基本语句 Let 变量名 卸载对象unloadform1Unloadme结束程序End注释语句rem或 暂停语句Stop 返回 4 3应用文本框输入数据 程序实例1 返回 4 3应用文本框输入数据 程序实例1 返回 PrivateSubCommand1 Click x Val Text1 Text y x 100 Text2 yx x y 100y x 50 Text3 yx x y 50y x 10 Text4 yx x y 10y x 5 Text5 yx x y 5y x 2 Text6 yx x y 2y x 1 Text7 yEndSub 4 3应用文本框输入数据 返回 4 3应用文本框输入数据 返回 PrivateSubCommand1 Click ConstPIAsSingle 3 14159DimrAsSingleDimsAsSingle vAsSingler Val Text1 v 4 3 PI r 3s 4 PI r 2Text2 vText3 sEndSubPrivateSubCommand2 Click UnloadMeEndSub 4 3应用文本框输入数据 返回 4 3应用文本框输入数据 返回 PrivateSubCommand1 Click DimlAsSingle wAsSingle hAsSingle sAsSingleIfText1 OrText2 OrText3 ThenMsgBox 长度 宽度和高度值不能为空 请重新输入 ExitSubEndIfl Val Text1 w Val Text2 h Val Text3 Ifl 0Orw 0Orh 0ThenMsgBox 长度 宽度和高度值不能小于0 请重新输入 ExitSubEndIfs 2 l w w h l h Label4 Caption Label4 Caption sEndSub 4 3应用文本框输入数据 程序实例2 返回 4 3应用文本框输入数据 程序实例2 返回 PrivateSubCommand1 Click Text1 SelStart 0Text1 SelLength Len Text1 Text EndSubPrivateSubCommand3 Click Text2 Text Text2 Text Text1 SelTextEndSubPrivateSubCommand4 Click EndEndSub 4 3应用文本框输入数据 程序实例3 返回 4 3应用文本框输入数据 程序实例3 返回 PrivateSubCommand1 Click IfText1 Text 123 Thentextexer ShowUnloadMeExitSubEndIfMsgBox 对不起 密码错误 请重新输入 Text1 SetFocusEndSubPrivateSubText1 Validate CancelAsBoolean IfText1 Text ThenCancel TrueMsgBox 不能为空 EndIfEndSub 4 4使用对话框 4 1 1消息对话框变量 msgbox 消息内容 对话框中出现的文本 对话框类型 对话框中出现的按钮和图标 应用举例4 1 2输入对话框变量 inputbox 应用举例 返回 4 4使用对话框 返回 4 4使用对话框 返回 PrivateSubCommand1 Click DimcAsSingle fAsSinglec Val InputBox 请输入摄氏温度 摄氏转华氏 0 f 32 9 c 5MsgBox 摄氏 c 度 华氏 f 度 EndSubPrivateSubCommand2 Click DimcAsSingle fAsSinglef Val InputBox 请输入华氏温度 华氏转摄氏 0 c 5 f 32 9MsgBox 华氏 f 度 摄氏 c 度 EndSub 5 1选择结构的概念5 2条件表达式5 3IF语句框控件5 4多分支选择语句SELECTCASE习题 第五章选择结构程序设计 返回目录 5 1选择结构的概念 选择结构 根据所给定的条件决定从不同的分支中执行某一分支的相应操作 5 2条件表达式 条件表达式的值为真 true 和假 false 条件表达式分为关系表达式和布尔表达式 关系运算符和关系表达式布尔运算符和布尔表达式 关系运算符和关系表达式 关系运算符 对两个表达式的值进行比较 关系成立 返回true 否则返回false 关系运算符有 六种 其优先级相同 关系表达式由各种表达式和关系运算符组成 注意 1 浮点型 单精度和双精度 数据 不可用 进行比较 2 数学上的连续不等式 在VB中是非法的或者是具有不同意义的 布尔运算符和布尔表达式 布尔运算符有 and or not xor eqv imp六种 布尔表达式由关系表达式 布尔值和布尔运算符组成 运算符的优先顺序见教材P82 应用举例 例1 计算 2 3 1 4 and not 60例2 能判断闰年的布尔表达式 闰年的条件 年号 y 能被4整除 但不能100整除 或者能被400整除 0或false Ymod4 0 and ymod100 0 or ymod400 0 5 3if语句 单行结构的if语句iif函数块结构的if语句 单行结构的if语句 语法格式 ifthen else 例1 判断n为奇数 则在窗体上显示 奇数 否则显示 偶数 Ifnmod20thenprint 奇数 elseprint 偶数 例2 判断年份y是否为闰年 是则在窗体上显示 闰年 否则显示 平年 Ifymod4 0andymod1000orymod400 0thenprint 闰年 elseprint 平年 例 Ifx 0Theny Sqr x Elsey x Iif函数 语法格式 iif 应用举例 Y iif xmod20 奇数 偶数 例 Y iif x 0 sqr x x 例 hh IIf Hour Time 12 Hour Time 12 Hour Time 块结构的if语句 语法格式 ifthen 语句列1 Else 语句列2 Endif 块结构的if语句 例 IfText1 123 ThenMsgBox welcometoourcampus ElseMsgBox sorry yourpasswordisnottrue Text1 SetFocusEndIf例 Ifl 0Orw 0Orh 0ThenMsgBox 长度 宽度和高度值不能小于0 请重新输入 ExitSubEndIf if语句的嵌套 语法格式 ifthen 语句列 Ifthen 语句列 endif 语句列 Endif if语句的elseif嵌套格式 语法格式 ifthen 语句列 ElseIfthen 语句列 Else 语句列 Endif 补充例 Mark Val Text1 ifmark 60thenLabel2 Label2 不及格 elseifmark 70thenLabel2 Label2 及格 elseifmark 80thenLabel2 Label2 中等 elseifmark 90thenLabel2 Label2 良好 elseifmark 100thenLabel2 Label2 优秀 ElseLabel2 Label2 非法成绩 请重新输入 Endif 功能要求 对文本框text1中输入的成绩给出相应的评价 5 4Selectcase语句 Selectcase表达式Case5to10语句序列Case1 2 3语句序列Case20语句序列Caseis 30语句序列Caseelse语句序列Endselect 补充例 SelectCaseVal Text1 CaseIs 60Label2 Label2 不及格 CaseIs 70Label2 Label2 及格 CaseIs 80Label2 Label2 中等 CaseIs 90Label2 Label2 良好 CaseIs 100Label2 Label2 优秀 CaseElseLabel2 Label2 非法成绩 请重新输入 EndSelect 功能要求 对文本框text1中输入的成绩给出相应的评价 补充例 SelectCasenumCase0 cnum 零 Case1 cnum 壹 Case2 cnum 贰 Case3 cnum 叁 Case4 cnum 肆 Case5 cnum 伍 Case6 cnum 陆 Case7 cnum 柒 Case8 cnum 捌 Case9 cnum 玖 EndSelect 功能要求 将数字0 9转换为中文汉字 补充例 PrivateSubCommand1 Click n Text1 TextSelectCasenCase1To20 x 10Case2 4 6x 20CaseIs 10 x 30Case10 x 40EndSelectText2 Text xEndSub 在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1 Text2的文本框 然后编写如下事件过程 程序运行后 如果在文本框Text1中输入10 然后单击命令按钮 则在Text2中显示 A 10B 20C 30D 40 作业 要求输入工龄和医药费的金额 求出其实际可报销的医药费 5年以内60 10年以内70 20年以内80 30年以内90 30年以上100 PrivateSubCommand1 Click num Val Text1 SelectCasenumCase0 Label1 Caption 星期日 Case1 Label1 Caption 星期一 Case2 Label1 Caption 星期二 Case3 Label1 Caption 星期三 Case4 Label1 Caption 星期四 Case5 Label1 Caption 星期五 Case6 Label1 Caption 星期六 EndSelectEndSub 补充例 不做要求 如下图所示 将一连串的阿拉伯数字转换为中文大写数据 命令按钮 command1 PrivateSubCommand1 Click DimnumAsLong mystrAsString mymodAsIntegerDimiAsIntegernum Val Text1 mystr Fori 0To9mymod numMod10 num num 10mystr cbit i mystrmystr cnum mymod mystrIfnum 0ThenExitForNextiLabel2 mystrEndSub 本程序中没有处理连续出现若干零的情况 若要了解完整的程序 请参看CHAP5 VBP中的补充实例 补充例 不做要求 PrivateFunctioncnum numAsInteger AsStringSelectCasenumCase0 cnum Case1 cnum 壹 Case2 cnum 贰 Case3 cnum 叁 Case4 cnum 肆 Case5 cnum 伍 Case6 cnum 陆 Case7 cnum 柒 Case8 cnum 捌 Case9 cnum 玖 EndSelectEndFunction PrivateFunctioncbit bitnumAsInteger AsStringSelectCasebitnumCase0 cbit Case1 cbit 拾 Case2 cbit 佰 Case3 cbit 仟 Case4 cbit 万 Case5 cbit 拾 Case6 cbit 佰 Case7 cbit 仟 Case8 cbit 亿 Case9 cbit 拾 EndSelectEndFunction 练习 应用图形 图象控件和定时器控件 设计一个实时的数字时钟和模拟时钟 教材P101的4 1 4 2 4 3 4 4 4 10 4 12 4 13 4 16 练习 返回 练习 返回 PrivateSubCommand1 Click 确定按钮DimmystrAsStringmystr 姓名 Text1 Space 4 性别 IIf Option1 男 女 vbCrLf 爱好 Fori 0To5IfCheck1 i Value 1Thenmystr mystr Check1 i Caption EndIfNextiIfRight mystr 1 Thenmystr Left mystr Len mystr 1 EndIfmystr mystr vbCrLf 民族 Combo1 Text vbCrLf 简历 Text2Text3 mystrEndSub 练习 返回 PrivateSubCommand2 Click 重填按钮Text1 Text2 Text3 Option1 True Option2 FalseFori 0To5Check1 i Value 0NextiCombo1 Text 汉族 EndSubPrivateSubCommand3 Click UnloadMeEndSubPrivateSubForm Load Combo1 AddItem 汉族 Combo1 AddItem 苗族 Combo1 AddItem 回族 Combo1 AddItem 壮族 Combo1 AddItem 其他 EndSub 6 1doloop循环6 2fornext循环练习 第六章循环结构程序设计 返回目录 6 1doloop循环 前测型Do while until exitdo 语句序列2 Loop 后测型Do exitdo 语句序列2 Loop while until 跳出该语句所在的最内层循环 例6 1 求累加和1 2 3 10 S 0 N 1DowhileN 10S S NN N 1LoopText2 1 2 10 S 前测型 例6 1 求累加和1 2 3 10 S 0 N 1Text2 1 DowhileN 10S S NN N 1Text2 Text2 NLoopText2 Text2 S 前测型 例6 2 设有一厚度为xmm面积足够大的纸张 将其不断对折 计算经过多少次对折后 纸张厚度可达到珠穆朗玛峰的高度 8848m N 0H val text1 text Don n 1h h 2Loopuntilh 8848000Text2 n 后测型 PrivateSubCommand1 Click DimnAsLongSelectCaseVal Text1 Text CaseIs2的整数 CaseElsen Val Text1 Text s 0 i 2DoWhilei n 1Ands 0IfnModi 0Thens 1Elsei i 1LoopIfs 0Thena 是一个素数 Elsea 不是一个素数 Label1 Str n aEndSelectEndSub 前测型 例6 3 输入一个整数 判断是否为素数 PrivateSubCommand1 Click m Val Text1 n Val Text2 Ifn m 0ThenMsgBox 两数都不能为0 ExitSubEndIfIfm0Text3 mEndSub 后测型 例6 4 输入两个整数 求最大公约数 辗转相除法 6 2for循环 For to step exitfor 语句序列2 Next 跳出该语句所在的最内层循环 补充例 显示所有系统字体名 Fori 0toscreen fontcount 1combo1 additemscreen fonts i Nexti 例 利用FOR循环显示1000以内的所有能被37整除的自然数 PrivateSubCommand1 Click A Forn 1to1000ifnmod37 0thena a str n vbcrlfendifNextnText1 aEndSub 例 求1000到1100之间的所有素数 PrivateSubCommand1 Click A Forn 1001to1100step2s 0fori 2toint sqr n ifnmodi 0thens 1Exitforendifnextiifs 0thena a str n vbcrlfNextnText1 aEndSub Dimnasinteger xasinteger numasIntegerForn 3to100step2Forx 2ton 1Ifnmodx 0thenExitforNextxIfx nthennum num 1Nextn 说明以下程序代码的功能 列表框与组合框 列表框应用举例 5 9小学生做加减法的算术练习程序 计算机连续随机给出两位数的加减法算术题 要求学生回答 做过的题存放在列表框中备查 并随时给出答题的正确率 5 10P105组合框应用举例 5 12 13 PrivateSubText1 KeyPress KeyAsciiAsInteger IfKeyAscii 13ThenIfVal Text1 zThenList1 AddItemLabel1 Caption Text1 0i i 1ElseList1 AddItemLabel1 Caption Text1 0EndIfLabel2 共 k 道题 Label3 正确率为 vbCrLf Format i k Form LoadEndIfEndSub PrivateSubForm Load Randomizex Int Rnd 10 y 8 Int Rnd 10 z x yk k 1IfInt Rnd 2 0ThenLabel1 x y ElseLabel1 y x EndIfText1 EndSub 5 9部分代码解析 5 12 PrivateSubCommand1 Click PrintFori 1To8Forj 1ToiPrint NextjForj 1To8Print NextjPrintNextiEndSub 5 13 PrivateSubCommand1 Click PrintFori 1To5Forj 1ToiPrint Ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第26课《饮酒(其五)》教学设计统编版语文八年级上册
- 2025年智能电网行业技术发展趋势与应用前景分析报告
- 2025年中国高品质运动健身地板行业市场分析及投资价值评估前景预测报告
- 《发散思维》心理健康说课稿
- 2025年循环经济在制造业中的应用与标准规范报告
- 第11课 我会洗小手教学设计小学地方、校本课程浙教版(2021)人·自然·社会
- 工业互联网平台安全多方计算技术在2025年网络安全产业市场预测与策略报告
- 2025年储能电池在应急电源中的应用策略与收益报告
- 第一单元 大单元教学(教学设计)-四年级下册数学北师大版
- 2024年五年级英语上册 Fun time 2 Recycle 1说课稿 人教精通版(三起)
- 水利工程水利工程施工技术规范
- 健康安全紧急培训内容课件
- 从安全感缺失剖析《榆树下的欲望》中爱碧的悲剧根源与启示
- 2025中证金融研究院招聘11人考试参考题库及答案解析
- 辽宁省名校联盟2025年高三9月份联合考试政治(含答案)
- 居住空间设计案例方案
- 人教版(2024)八年级上册英语Unit 2 Home Sweet Home教案
- 城镇住宅建设调查技术实施方案
- 渔民安全培训课件
- 时空数据建模与预测算法-洞察阐释
- 汽车电路原理培训课件
评论
0/150
提交评论