VB最好的教程第3章-设计顺序结构程序.ppt

上传人:max****ui 文档编号:8303126 上传时间:2020-03-28 格式:PPT 页数:74 大小:526.50KB
返回 下载 相关 举报
VB最好的教程第3章-设计顺序结构程序.ppt_第1页
第1页 / 共74页
VB最好的教程第3章-设计顺序结构程序.ppt_第2页
第2页 / 共74页
VB最好的教程第3章-设计顺序结构程序.ppt_第3页
第3页 / 共74页
点击查看更多>>
资源描述
1 第3章设计顺序结构程序 2 本章主要介绍 VB的语法 注释 书写风格VB常用的函数和语句等介绍VB程序的顺序结构 常用控件 命令按钮 标签 文本框 滚动条 定时器 如何调试程序 即如何发现程序中的问题并解决这些问题 3 VB程序设计有两个部分的工作 一是进行界面的设计二是根据程序所需要解决的问题 编写完成解决问题的程序代码一个程序应该具有良好的结构 以便于阅读和理解 为了增加程序的易读性 荷兰学者ijkctra提出了结构化程序设计的理论 VB是融合了面向对象和结构化编程两种思想的一个编程工具 3 1概述 4 结构化程序设计 用三种基本结构作为构成程序的基本单元顺序结构选择结构循环结构每个基本结构具有单入口单出口的特点 一般一个程序由这三种结构结合而成 5 顺序结构的主要特点是 按自然顺序 即编写的顺序 执行程序的流程 即先执行第一句 再执行第二句 一句一句执行下去 直到执行最后一句 流程如图所示 6 通过例子 了解顺序结构的程序的一般形况 例3 1 求摄氏温度对应的华氏温度 如图 计算公式 F 9C 5 32 其中C表示摄氏温度 F表示华氏温度 3 2求摄氏温度对应的华氏温度 7 对象 2个标签 作提示2个文本框 作输入和显示3个命令按钮控件单击 计算 按钮 右文本框内显示出该摄氏温度对应的华氏温度 单击 清除 按钮使得文本框的内容被清除单击 退出 按钮结束程序运行 8 本例使用四个事件过程 一个Form Load 和三个是命令按钮的Click事件 主要属性设置命令按钮1 名称 CmdCalcCaption 计算命令按钮2 名称 CmdClearCaption 清除命令按钮3 名称 CmdExitCaption 退出标签1 Label1 Caption 摄氏温度标签2 Label2 Caption 华氏温度窗体 Caption 温度转换 9 OptionExplicit 要求强制声明变量PrivateSubCmdCalc Click 计算DimCAsSingle FAsSingleC Val Text1 Text F 9 C 5 32Text2 Text FEndSubPrivateSubCmdClear Click 清除Text1 Text Text2 Text EndSubPrivateSubCmdExit Click 终止程序运行EndEndSubPrivateSubForm Load 启动时 清除文本框内容Text1 Text Text2 Text EndSub 本例每个事件代码都依顺序执行 10 编写程序有一定的规则 这就是语法 如数学中x乘y可以写成xy 但在程序中不能 程序中除了 所有的内的字符串外 其它一律使用西文符号 如 等都必须是西文符号 3 3VB语法和注释 11 3 3 1语法符号在程序设计语言中 每一条语句都有语法规则 本书在语法描述中 常常使用以下符号 1 表示可选项 2 语句中的基本单位 可以直接给出 也可以用表示 12 3 及其内的 表示多个项目 一般只能选择其中一个 4 表示重复前面的内容 如Print方法格式为 Print 输出项 输出项 Print 注意 这些只是书写格式 并不是VB的语言元素 13 3 3 2注释使用注释记录编程思路或明确这段程序的目的 使用注释提高程序的可读性 注释部分不是程序代码 它不会被执行 注释不是用得越多越好 一般针对主要程序段 主要变量 关键语句等 14 注释使用有两种方法 使用西文单引号 C Text1 Text 将文本框数据送入变量C使用关键字Rem格式 Rem注释文字Rem计算摄氏温度对应的华氏温度值 注释不是用得越多越好一般针对主要程序段 主要变量 关键语句等 15 3 3 3程序代码书写规则1 续行一行中字符数太多 可以分多行书写方法 前一行的末尾要使用续行符 如 Score Val InputBox 请输入 计算机 课程成绩 0 100 输入成绩 60 续行符后面不能加注释不要在一个字符串或关键字的中间截断行当句子不长时 最好不要用续行 16 2 多条语句写在一行内使用的方法 在各句之间用冒号 分隔 如要交换变量A和B中的值 可以使用 T A A B B T 17 3 使用缩进格式为了增加程序的可读性 代码应采用缩进格式 它可以反映出代码的逻辑结构和嵌套关系 如 18 利用这些语句和函数可以编写许多程序 语句是VB程序代码的组成部分 函数是VB语言组成部分的另一种形式它把一些常用的功能预先编制好程序以固定的格式提供给用户使用 可以大大减少了编程者的代码设计工作 3 4语句和函数 19 3 4 1VB的语句语句独立于对象 语句一般分两类 执行语句使计算机产生一种特定的操作 如赋值 循环等 非执行语句非执行语句用来将某些信息通知翻译系统 让VB翻译系统按它的要求作出处理 如Dim Const Rem等 20 一个语句一般包含两部分 语句定义符部分规定了要让计算机干什么 如 Dim语句体部分指要干的具体内容 如 AAsInteger 21 3 4 2Stop语句和End语句1 Stop作用 暂停程序的运行 使用格式为 Stop一般用于程序调试中 如暂停以查看一下前面运行的结果是否正确若要继续执行 可用工具栏的 继续 按钮 2 End作用 终止程序的运行 使用格式为 End终止程序的运行将卸载所有窗体模块 22 3 4 3什么是函数函数是一些量依赖于另一些量的概括例如数学表达式y Sin x y为函数值x为自变量计算机中 函数表示类似于数学中的这种关系计算机中 函数由相对独立的程序代码实现的 VB系统提供了一部分函数 称为VB内部函数用户可以直接调用VB函数 23 3 4 4使用函数VB的内部函数一般分为 数学函数 字符串函数 日期 时间函数 转换函数等VB内部函数调用的基本格式是 函数名 参数1 参数2 参数n 参数是函数的输入 n 0一般函数有一个返回值 类型可以是数值型或字符型等 24 函数可以被用于表达式中 如X B Sqr D 函数调用时 函数名 参数个数 排列次序和数据类型应与规定的一致函数的运算优先级高于其它运算符 低于括号 25 3 4 5常用函数举例 1 求平方根函数Sqr 格式 Sqr x 对x开平方根 X 0 2 取整函数Int 格式 Int x 求不大于x的最大整数 Int不进行四舍五入 如 PrintInt 3 4 Int 3 8 显示 43 3 取整函数Fix 格式 Fix x 求x的整数部分 Fix也不进行四舍五入 如 PrintFix 3 4 Fix 3 8 显示 33 26 4 四舍五入函数Round 格式 Round x1 x2 省略x2 0 时表示四舍五入取整 它将x1四舍五入保留小数x2位 如 PrintRound 12 455 2 Round 12 57 Round 12 34 1 显示 12 46 1312 3 27 5 绝对值函数Abs 格式 Abs x 该函数求出x的绝对值 如 Abs 25 的值为 25 6 正弦函数Sin 格式 Sin x 该函数用于求x的正弦值 参数一律采用弧度 如sin90 的VB函数表达式应为Sin 3 1415926 2 28 7 随机函数Rnd 使用格式为 Rnd x 返回一个随机Single型数 范围在 0 1 之间 参数x决定了产生随机数的方法 如果x 0时 相同x将得到相同的值 当x 0时将得到最近出现过的随机数 29 x默认或x 0 将产生下一个随机数 例如 PrintRnd 1 Rnd 2 Rnd 0 Rnd 1 Rnd 0 Rnd 224007 7133257 7133257 224007 224007 7055475例如随机给出两位数A和B 可用 A Int Rnd 90 10 B Int Rnd 90 10产生随机数种的语句格式为 Randomize 30 8 转换函数Val 格式 Val x 将参数对应的字符串值中的最前部的数字字符转换为数值 如 PrintVal 12 3abc Val 12 367 8abc Val abc123 显示 12 3 12 3670 9 颜色函数QBColor 格式 QBColor x 根据x的值产生一种颜色 其中0 x 15QBColor 0 为黑色 QBColor 15 为白色 例如 Form1 BackColor QBColor 12 31 10 颜色函数RGB 格式 RGB x1 x2 x3 该函数将根据x1 x2和x3的值产生一种颜色 各参数范围一般应为0 255 可表示224种颜色 x1表示红色成分x2表示绿色成分x3表示蓝色成分 部分颜色可用颜色常量或颜色值 3个字节 如 vbBlack H0黑Form1 BackColor RGB 255 0 0 Form1 ForeColor RGB 255 255 0 32 3 4 5常用函数举例 与Print相关的定位函数这类函数后面往往采用分号 间隔符 1 输出绝对定位函数Tab 格式 Tab x 该函数表示将输出位置定位到第x列 如果位置已超过x列 则定位下一行的第x列 2 输出相对定位函数Spc 格式 Spc x 输出位置从当前位置开始 空出x列 33 3 4 5常用函数举例 例3 2 在Form Click内完成求平行四边形的面积 面积公式 S absint a b为边长 t为夹角 使用角度 要求结果保留小数两位本题使用多个函数 用InputBox函数输入a b和t 用Val函数把它们转换成数值类型用Sin函数计算面积用Round函数对面积值进行四舍五入 本例程序按顺序依次执行 34 3 4 5常用函数举例 求梯形面积PrivateSubForm Click ConstPI 3 1415926 用于设置符号常量DimAAsSingle BAsSingle TAsSingle SAsSingleA Val InputBox 请输入边长a B Val InputBox 请输入边长b T Val InputBox 请输入角度t S Round A B Sin T PI 180 2 Print a A b B t T S SEndSub运行结果 当启动窗体后 单击窗体 然后分别输入15 40 35 窗体上显示为 35 VB的有两类控件 工具箱中的常用控件通过 部件 的控件 ActiveX控件 本节介绍最常用的控件 命令按钮标签文本框滚动条定时器VB控件有 名称 属性 大多部分有Caption Top Left Height Width Font Visible Enabled等属性 含义基本相同 3 5使用基本控件 36 3 5 1命令按钮CommandButton是用户与应用程序交互的最简便方法往往使用单击命令按钮来执行指定的操作 1 创建命令按钮方法一 工具箱内选取命令按钮 然后在窗体上拖曳鼠标就可以画出一个命令按钮方法二 双击工具箱内的命令按钮2 命令按钮的事件命令按钮的主要事件是Click 37 3 命令按钮的属性Caption 标题 字符型 默认值为Command1 名称 Name名称 字符型 默认值为Command1Enabled 是否有效 布尔型 Visible 是否可见 布尔型 Style 按钮显示方式 0表示文字 1表示图形 Picture 按钮显示的图形 它要求属性Style值应为1 38 说明 注意 名称 和Caption的区别 名称 是程序使用的标识符 Caption是界面显示的文字 名称 设置后 程序中所有用到该对象的地方 对象名都要用设置的名称 原默认名称无效 设置快捷键 可在Caption属性中加上 例如 Caption设置为 E xit 或 Exit x 39 例3 3 窗体上设计2个图形命令按钮 它们分别用于显示信息和结束程序 如图 若用户在命令按钮外单击 用消息框提示 不要点错位置 主要属性设置两个命令按钮 Caption 空 Style 1 Picture 选择图形文件窗体Form1Caption 显示 40 3 5 1命令按钮 图案按钮举例程序代码如下 PrivateSubCommand1 Click Print Hello EndSubPrivateSubCommand2 Click EndEndSubPrivateSubForm Click 按钮外单击提示MsgBox 不要点错位置 vbCritical 警告 EndSub 41 3 5 2标签Label用来显示用户不能直接改变的文本 用作标注其他控件用作程序代码执行时显示程序结果等信息1 创建标签创建标签使用工具箱中的标签 42 2 标签的常用属性Caption 标题 即显示的文本 默认值为Label1 名称 Name 设置标签名称 默认值为Label1AutoSize 设置标签是否根据显示内容自动改变大小Backstyle 设置标签透明背景Borderstyle 设置标签边框WordWrap 设置标签内的文字自动换行 布尔型 Alignment 设置标签显示的对齐方式 43 说明 Label1中 第5个是小写字母l 最后一个是数字1设置WordWrap为True时 此时应把AutoSize设为True 否则除非标签有足够的高度 标签也有一些事件 但不常用 44 3 5 3文本框TextBox处理字符类型数据文本框控件的功能非常强大 在控件中可以 输入文本 编辑文本和输出文本被程序用来读取和显示信息1 创建文本框在工具箱内选取文本框工具 45 2 文本框的主要属性 名称 Name 字符型 默认值为Text1Text 文本框显示的内容 字符型 默认值Text1 它是文本框最重要的属性Locked 选择文本框是否允许编辑 布尔型 SelStart 选中文本的起始位置 或插入点位置如 Text1 SelStart 0 46 SelLength 文本框内被选中文本的长度 数值类型 SelText 文本框内被选中的文本 字符型MaxLength 设置文本框中能输入的最大字符数MultiLine 是否能多行显示Scrollbars 设置文本框加滚动条 与MultiLine有关PasswordChar 设置输入文本的特殊显示字符 如 47 说明 文本框没有Caption属性 SelStart SelLength SelText属于文本编辑属性 只能在程序中设置 3 文本框的方法主要方法是设置焦点的SetFocus方法 格式 文本框名称 SetFocus 48 4 文本框的事件有Click DblClick等鼠标事件还常用 Change事件 在文本框内容发生改变时触发 KeyPress事件 它在用户按任意键时触发 49 例3 4 改写例3 1 启动窗体后 用户在Text1内输入摄氏温度的同时 Text2立即自动显示对应的华氏温度 要求Text2不能输入数据 说明 Text2不能输入数据 可设置Enabled或Locked属性 边输入边计算显示 应编写Text1的Change事件过程Form Load同例3 1 其它程序代码如下 PrivateSubText1 Change DimCAsSingle FAsSingleC Val Text1 Text F 9 C 5 32Text2 Text FEndSub 50 剪贴板对象的使用剪贴板不是VB的控件 它是Windows部件它能够和文本框合用 制作简单的文本编辑器 剪贴板对象的名称是Clipboard 常用方法有 1 Clear 清除剪贴板中的内容 2 GetText 返回剪贴板上的所有字符 3 SetText 将字符串送入剪贴板 51 Clipboard Clear清除剪贴板原有的内容 Clipboard SetTextText1 SelText将文本框Text1中选择的内容送入剪贴板 Text1 SelText Clipboard GetText将剪贴板的内容放入文本框Text1中插入点所在位置 或替换文本框中当前已选中的文字 52 3 5 4滚动条 VscrollBar和HscrollBar 滚动条可用于滚动显示窗口内容 滚动条还可作为模糊输入数值的输入装置 VB工具箱内提供了垂直和水平两种滚动条 53 1 创建滚动条在工具箱内选取滚动条工具按钮 2 滚动条控件的常用属性 名称 Name名称 垂直VScroll1 水平HScroll1Value 滚动条当前值 位于属性Min和Max的值之间Min 滚动条最小值 应大于等于 32768Max 滚动条最大值 应小于等于32767SmallChange 单击滚动箭头时的改变量LargeChange 单击滚动块与滚动箭头间的任意位置 滚动条值的改变量 54 3 滚动条控件的事件主要是Change事件和Scroll事件 1 Change事件 当滚动块在滚动条上移动时 其Value值发生变化 出现Change事件 2 Scroll事件 当鼠标拖动滚动块时发生 55 例3 5 编写一个利用滚动条来显示颜色的程序 如图 说明 颜色使用RGB函数用3个滚动条分别表示RGB红 绿 蓝颜色成份 3个参数 的变化 滚动条的Change事件 将滚动块变化时的相应的颜色将反映在文本框中6个标签 表示各滚动条的颜色和值 56 属性设置 滚动条的Max 255 SmallChange 10 LargeChange 20其它对象的Caption属性值如图 57 程序代码如下 PrivateSubHScroll1 Change 红Text1 BackColor RGB HScroll1 Value HScroll2 Value HScroll3 Value Label4 Caption HScroll1 ValueEndSubPrivateSubHScroll2 Change 绿Text1 BackColor RGB HScroll1 Value HScroll2 Value HScroll3 Value Label5 Caption HScroll2 ValueEndSubPrivateSubHScroll3 Change 蓝Text1 BackColor RGB HScroll1 Value HScroll2 Value HScroll3 Value Label6 Caption HScroll3 ValueEndSub 58 专门用于时间控制的控件 又称计时器控件 可以有规律地间隔一段时间触发一次定时事件 从而执行一次代码以实现某种有时间规律的操作 时间间隔由Interval属性决定例如可以显示时间 可以控制打字速度 可以制作有动态效果的程序等 每个定时器必须依附在窗体上用户可以在窗体上建立多个定时器 定时器控件在程序运行时是不可见的定时器没有大小 3 6使用定时器控件Timer 59 1 创建定时器在工具箱内选取定时器控件2 定时器的常用属性 名称 Name 定时器的名称 默认值为Timer1Interval 设定定时器的时间间隔 单位毫秒 即1 1000秒 最大65536 它是定时器控件最主要的属性 默认为0 定时器不工作Enabled 是否让定时器工作 默认值为True 60 3 定时器的事件定时器事件只有一个 即Timer事件 Timer事件有规律地隔一段时间 由Interval决定 触发一次1 61 例3 6 设计一个显示当前时钟的程序 如图 因文本框只显示信息 Enabled属性可为False 时钟1秒钟变化一次 定时器Interval值为1000 程序非常简单 代码如下 PrivateSubTimer1 Timer 每隔1秒钟运行1次Text1 Text Time Time是VB内部函数 EndSub赋值时 VB自动将日期型数据转换成与赋值左边变量或属性类型一致的数据 62 3 7 1程序错误的种类和产生的原因调试过程就是一个发现错误并纠正错误的过程 VB程序错误分三类编译错误代码不符合语法格式要求 如语句不完整 参数个数不符等可根据错误信息纠正编译错误 3 7调试VB程序 63 逻辑错误一般是指程序能运行 但运行结果不正确 这类错误只有通过分析程序 才能发现问题所在 如公式错 运行错误一般是执行了不能执行的操作而引起的 如分母为零可根据提示错误信息 进入调试 找出错误所在处 为减少错误 编程时可采用一定的措施 如使用OptionExplicit语句 64 3 7 2调试程序VB中常用的调试方法有 设置断点 单步执行 查看中间运行结果等 1 设置断点设置断点方式 在代码窗口左侧的 边界标识条 中该行对应的位置处单击 程序运行设置了断点 BreakPoint 的代码行时 在执行该代码之前停止运行 进入中断模式 进入中断模式后 当前行指示器指示程序暂停在该行 这时可以在代码窗口或 立即窗口 检查程序状态 65 2 单步执行单步 Step 执行可以功能键F8 每按一次F8 程序就执行一行 执行指示器就指向下一行 单步执行 可以监视变量 还可以跟踪程序流程 特别是分支和循环程序 66 3 查看中间运行结果中断和单步方式都可以在程序暂停状态下查看中间运行结果 使用立即窗口程序中添加Print语句使用VB的Tip显示当前变量的值 67 另一种查看程序中间结果的方法是使用监视窗口在程序运行过程中 监视窗口中的表达式值随之变化 添加监视的方法 在代码编辑器中使用快捷菜单 添加监视 命令选择调试代码所在的模块和过程输入要监视值的表达式 68 例3 7 已知三角形的三条边长a b c 求面积 公式为 其中 s a b c 2要求a b c来自文本框用Msgbox显示面积 保留小数两位 label4在运行中临时显示a b c b c a a c b的值Command1用于计算 Command2用于退出定时器用于在窗体标题上显示当前的时间 3 8程序举例 69 分析 能构成三角形时才有意义 可在显示a b c b c a a c b值后 加上Stop语句 或使用断点 进行观察 70 求三角形面积PrivateSubForm Load 设置属性Text1 Text Text2 Text Text3 Text Label1 Caption a Label2 Caption b Label3 Caption c Label4 Caption Timer1 Interval 1000Command1 Caption 计算 Command2 Caption 退出 Form1 Caption 三角形面积计算 TimeEndSub PrivateSubTimer1 Timer Form1 Caption 三角形面积计算 TimeEndSub 71 PrivateSubCommand1 Click 求面积DimAAsSingle BAsSingle CAsSingle SAsSingle AreaAsSingleA Val Text1 Text B Val Text2 Text C Val Text3 Text Label4 Caption a b c b c a a c b A B C B C A A C BStop 程序暂停 编程者可以查看三角形数据Label4 Caption 若能构成三角形 则去掉刚才显示的临时数据S A B C 2 Area Sqr S S A S B S C MsgBox 三角形面积是 Round Area 2 面积 EndSubPrivateSubCommand2 Click End 结束EndSub 72 例3 8 用定时器控件定时刷新标签中的文字 产生文字的动态变化 文字的字号在10到32之间 颜色为QBColor函数值所具有的颜色 如图 73 分析 设置标签的AutoSize为True 以适合文字大小变化动态设置标签的Left 使文字始终显示在中间 字号和QBColor函数的参数值不确定 可用函数RND Timer1的Interval设为300 Enabled设为FalseLabel1的Caption设为Youareagoodstudent Command1 3的Caption分别为 开始 停止 结束 74 文字大小颜色动态变化程序代码如下 PrivateSubCommand1 Click 开始按钮Timer1 Enabled TrueEndSubPrivateSubCommand2 Click 停止按钮Timer1 Enabled FalseEndSubPrivateSubCommand3 Click 结束按钮EndEndSubPrivateSubTimer1 Timer Label1 ForeColor QBColor Int Rnd 16 用产生的颜色变化Label1 FontSize Int Rnd 23 10 产生字号变化Label1 Left Form1 Width Label1 Width 2 文本显示在窗体中间EndSub由于颜色的改变和字的忽大忽小 使人感觉到它在动态变化
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!