




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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:(名称):CmdCalc Caption:计算 命令按钮2:(名称):CmdClear Caption:清除 命令按钮3:(名称):CmdExit Caption:退出 标签1(Label1):Caption:摄氏温度 标签2(Label2):Caption:华氏温度 窗体:Caption:温度转换,9,Option Explicit 要求强制声明变量 Private Sub CmdCalc_Click() 计算 Dim C As Single, F As Single C = Val(Text1.Text) F = 9 * C / 5 + 32 Text2.Text = F End Sub Private Sub CmdClear_Click() 清除 Text1.Text = “ Text2.Text = “ End Sub Private Sub CmdExit_Click() 终止程序运行 End End Sub Private Sub Form_Load() 启动时,清除文本框内容 Text1.Text = “ Text2.Text = “ End Sub,本例每个事件代码都依顺序执行。,10,编写程序有一定的规则,这就是语法。如数学中x乘y可以写成xy,但在程序中不能。程序中除了“ ”所有的内的字符串外,其它一律使用西文符号。如:、=、+、-等都必须是西文符号。,3.3 VB语法和注释,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.1 VB的语句 语句独立于对象。 语句一般分两类: 执行语句 使计算机产生一种特定的操作,如赋值、循环等。 非执行语句 非执行语句用来将某些信息通知翻译系统,让VB翻译系统按它的要求作出处理。如Dim、Const、Rem等。,20,一个语句一般包含两部分: 语句定义符部分 规定了要让计算机干什么。如:Dim 语句体部分 指要干的具体内容。如:A As Integer,21,3.4.2 Stop语句和End语句 1Stop 作用:暂停程序的运行。使用格式为:Stop 一般用于程序调试中。 如暂停以查看一下前面运行的结果是否正确 若要继续执行,可用工具栏的“继续”按钮。 2End 作用:终止程序的运行。使用格式为: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不进行四舍五入。如:Print Int(-3.4), Int(3.8), 显示:-4 3 (3)取整函数Fix。格式:Fix(x) 求x的整数部分。Fix也不进行四舍五入。如: Print Fix(-3.4), Fix(3.8) , 显示:-3 3,26,(4)四舍五入函数Round。 格式:Round(x1 ,x2) 省略x2(=0)时表示四舍五入取整。它将x1四舍五入保留小数x2位。如: Print Round(12.455, 2), Round(-12.57), Round(12.34, 1) 显示:12.46 -13 12.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决定了产生随机数的方法。 如果x0时,相同x将得到相同的值。 当x=0时将得到最近出现过的随机数。,29,x默认或x0,将产生下一个随机数。例如: Print Rnd(-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$) 将参数对应的字符串值中的最前部的数字字符转换为数值。如: Print Val(“ 12.3abc”), Val(“-12.367.8abc”), Val(“abc123”) 显示:12.3 -12.367 0 (9)颜色函数QBColor。格式:QBColor(x) 根据x的值产生一种颜色,其中0 x 15 QBColor(0)为黑色,QBColor(15)为白色。例如:Form1.BackColor = QBColor(12),31,(10)颜色函数RGB。格式:RGB(x1,x2,x3) 该函数将根据x1、x2和x3的值产生一种颜色。 各参数范围一般应为0255。可表示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=absin t。a、b为边长,t为夹角,使用角度。要求结果保留小数两位 本题使用多个函数: 用InputBox函数输入a、b和t, 用Val函数把它们转换成数值类型 用Sin函数计算面积 用Round函数对面积值进行四舍五入。 本例程序按顺序依次执行,34,3.4.5 常用函数举例-求梯形面积 Private Sub Form_Click() Const PI = 3.1415926 用于设置符号常量 Dim A As Single, B As Single, T As Single, S As Single A = 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= “; S End Sub 运行结果:当启动窗体后,单击窗体,然后分别输入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名称,字符型。默认值为Command1 Enabled:是否有效,布尔型。 Visible:是否可见,布尔型。 Style:按钮显示方式,0表示文字,1表示图形。 Picture:按钮显示的图形。它要求属性Style值应为1。,38,说明: 注意(名称)和Caption的区别。 (名称)是程序使用的标识符。 Caption是界面显示的文字 (名称)设置后,程序中所有用到该对象的地方,对象名都要用设置的名称,原默认名称无效。 设置快捷键:可在Caption属性中加上“&”。 例如:Caption设置为“E&xit”或“Exit&x”,39,【例3-3】窗体上设计2个图形命令按钮,它们分别用于显示信息和结束程序,如图。若用户在命令按钮外单击,用消息框提示“不要点错位置”。 主要属性设置 两个命令按钮: Caption:空;Style:1;Picture:选择图形文件 窗体Form1 Caption:显示,40,3.5.1 命令按钮图案按钮举例 程序代码如下: Private Sub Command1_Click() Print “Hello!“ End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Click() 按钮外单击提示 MsgBox “不要点错位置“, vbCritical, “警告“ End Sub,41,3.5.2 标签Label 用来显示用户不能直接改变的文本: 用作标注其他控件 用作程序代码执行时显示程序结果等信息 1创建标签 创建标签使用工具箱中的标签。,42,2标签的常用属性 Caption:标题,即显示的文本。默认值为Label1。 (名称)Name。设置标签名称。默认值为Label1 AutoSize:设置标签是否根据显示内容自动改变大小 Backstyle:设置标签透明背景 Borderstyle:设置标签边框 WordWrap:设置标签内的文字自动换行,布尔型。 Alignment:设置标签显示的对齐方式,43,说明: Label1中,第5个是小写字母l,最后一个是数字1 设置WordWrap为True时,此时应把AutoSize设为True,否则除非标签有足够的高度。 标签也有一些事件,但不常用。,44,3.5.3 文本框TextBox 处理字符类型数据 文本框控件的功能非常强大,在控件中可以: 输入文本、编辑文本和输出文本 被程序用来读取和显示信息 1创建文本框 在工具箱内选取文本框工具,45,2文本框的主要属性 (名称):Name。字符型。默认值为Text1 Text:文本框显示的内容,字符型。默认值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,其它程序代码如下: Private Sub Text1_Change() Dim C As Single, F As Single C = Val(Text1.Text) F = 9 * C / 5 + 32 Text2.Text = F End Sub,50,剪贴板对象的使用 剪贴板不是VB的控件,它是Windows部件 它能够和文本框合用,制作简单的文本编辑器。 剪贴板对象的名称是Clipboard,常用方法有: (1)Clear:清除剪贴板中的内容。 (2)GetText:返回剪贴板上的所有字符。 (3)SetText:将字符串送入剪贴板,51,Clipboard.Clear 清除剪贴板原有的内容; Clipboard.SetText Text1.SelText 将文本框Text1中选择的内容送入剪贴板; Text1.SelText = Clipboard.GetText 将剪贴板的内容放入文本框Text1中插入点所在位置, 或替换文本框中当前已选中的文字。,52,3.5.4 滚动条 (VscrollBar和HscrollBar) 滚动条可用于滚动显示窗口内容。 滚动条还可作为模糊输入数值的输入装置。 VB工具箱内提供了垂直和水平两种滚动条。,53,1创建滚动条 在工具箱内选取滚动条工具按钮。 2滚动条控件的常用属性 (名称):Name名称。垂直VScroll1,水平HScroll1 Value:滚动条当前值。位于属性Min和Max的值之间 Min:滚动条最小值。应大于等于-32768 Max:滚动条最大值。应小于等于32767 SmallChange:单击滚动箭头时的改变量 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,程序代码如下: Private Sub HScroll1_Change() 红 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _ HScroll3.Value) Label4.Caption = HScroll1.Value End Sub Private Sub HScroll2_Change() 绿 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _ HScroll3.Value) Label5.Caption = HScroll2.Value End Sub Private Sub HScroll3_Change() 蓝 Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, _ HScroll3.Value) Label6.Caption = HScroll3.Value End Sub,58,专门用于时间控制的控件,又称计时器控件。 可以有规律地间隔一段时间触发一次定时事件,从而执行一次代码以实现某种有时间规律的操作。 时间间隔由Interval属性决定 例如可以显示时间,可以控制打字速度,可以制作有动态效果的程序等。 每个定时器必须依附在窗体上 用户可以在窗体上建立多个定时器。 定时器控件在程序运行时是不可见的 定时器没有大小。,3.6 使用定时器控件Timer,59,1创建定时器 在工具箱内选取定时器控件 2定时器的常用属性 (名称):Name。定时器的名称。默认值为Timer1 Interval:设定定时器的时间间隔,单位毫秒,即1/1000秒,最大65536。 它是定时器控件最主要的属性。默认为0,定时器不工作 Enabled:是否让定时器工作。默认值为True。,60,3定时器的事件 定时器事件只有一个,即Timer事件: Timer事件有规律地隔一段时间(由Interval决定)触发一次1,61,【例3-6】设计一个显示当前时钟的程序,如图。 因文本框只显示信息,Enabled属性可为False; 时钟1秒钟变化一次,定时器Interval值为1000。 程序非常简单,代码如下。 Private Sub Timer1_Timer() 每隔1秒钟运行1次 Text1.Text = Time Time是VB内部函数,End Sub 赋值时,VB自动将日期型数据转换成与赋值左边变量或属性类型一致的数据,62,3.7.1 程序错误的种类和产生的原因 调试过程就是一个发现错误并纠正错误的过程。 VB程序错误分三类 编译错误 代码不符合语法格式要求,如语句不完整,参数个数不符等 可根据错误信息纠正编译错误,3.7 调试VB程序,63,逻辑错误 一般是指程序能运行,但运行结果不正确。 这类错误只有通过分析程序,才能发现问题所在,如公式错。 运行错误 一般是执行了不能执行的操作而引起的。如分母为零 可根据提示错误信息,进入调试,找出错误所在处。 为减少错误,编程时可采用一定的措施,如使用Option Explicit语句,64,3.7.2 调试程序 VB中常用的调试方法有:设置断点、单步执行、查看中间运行结果等。 1设置断点 设置断点方式:在代码窗口左侧的“边界标识条”中该行对应的位置处单击; 程序运行设置了断点(Break Point)的代码行时,在执行该代码之前停止运行,进入中断模式。 进入中断模式后,当前行指示器指示程序暂停在该行。这时可以在代码窗口或“立即窗口”检查程序状态。,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,求三角形面积 Private Sub Form_Load() 设置属性 Text1.Text = “: Text2.Text = “: Text3.Text = “ Label1.Caption = ”a=“: Label2.Caption = “b=”: Label3.Caption = “c=” Label4.Caption = “” : Timer1.Interval = 1000 Command1.Caption = “计算”: Command2.Caption = “退出” Form1.Caption = “三角形面积计算 ” & Time End Sub,Private Sub Timer1_Timer() Form1.Caption = “三角形面积计算 “ & Time End Sub,71,Private Su
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB23-T2945-2021-相变沥青混合料路面设计与施工技术规范-黑龙江省
- DB23-T2878-2021-过伐林红松大径材单株抚育技术-黑龙江省
- DB23-T2842-2021-政务信息资源数据交换规范-黑龙江省
- 基层医院采购管理制度
- 工具集中采购管理制度
- 工程公司工地管理制度
- 商场收银收款管理制度
- 创业培训教师管理制度
- 创业期间公司管理制度
- 外贸汽车采购方案(3篇)
- 2025年河北省中考乾坤押题卷物理试卷B及答案
- 2023年广东初中学业水平考试生物试卷真题(含答案)
- 微创冠状动脉搭桥手术方法及围术期处理原则微创冠脉搭桥进展课件
- 住院患者出院后的随访与指导流程图
- 安徽省工伤职工停工留薪期分类目录
- 北京小升初分班考试数学试卷
- 拆线换药评分表
- GB∕T 20394-2019 体育用人造草
- 雨水管道非开挖修复工程施工方案
- 通道县生物多样性调查
- 假发行业英语术语整理
评论
0/150
提交评论