740 likes | 829 Views
第 3 章 设计顺序结构程序. Visual Basic 程序设计教程. 本章主要介绍 : VB 的语法、注释、书写风格 VB 常用的函数和语句等 介绍 VB 程序的顺序结构、 常用控件: —— 命令按钮、标签、文本框、滚动条、定时器。 如何调试程序,即如何发现程序中的问题并解决这些问题。. 3.1 概述. VB 程序设计有两个部分的工作: 一是进行界面的设计 二是根据程序所需要解决的问题,编写完成解决问题的程序代码
E N D
第3章 设计顺序结构程序 Visual Basic 程序设计教程
本章主要介绍: • VB的语法、注释、书写风格 • VB常用的函数和语句等 • 介绍VB程序的顺序结构、 • 常用控件: • ——命令按钮、标签、文本框、滚动条、定时器。 • 如何调试程序,即如何发现程序中的问题并解决这些问题。 Visual Basic程序设计教程
3.1 概述 VB程序设计有两个部分的工作: • 一是进行界面的设计 • 二是根据程序所需要解决的问题,编写完成解决问题的程序代码 一个程序应该具有良好的结构,以便于阅读和理解。为了增加程序的易读性,荷兰学者ijkctra提出了结构化程序设计的理论,VB是融合了面向对象和结构化编程两种思想的一个编程工具。 Visual Basic程序设计教程
结构化程序设计:用三种基本结构作为构成程序的基本单元结构化程序设计:用三种基本结构作为构成程序的基本单元 • 顺序结构 • 选择结构 • 循环结构 • 每个基本结构具有单入口单出口的特点。 • 一般一个程序由这三种结构结合而成。 Visual Basic程序设计教程
顺序结构的主要特点是: 按自然顺序(即编写的顺序)执行程序的流程,即先执行第一句,再执行第二句,一句一句执行下去,直到执行最后一句。 流程如图所示: Visual Basic程序设计教程
通过例子,了解顺序结构的程序的一般形况 【例3-1】求摄氏温度对应的华氏温度。如图。 计算公式:F=9C/5+32,其中C表示摄氏温度,F表示华氏温度。 Visual Basic程序设计教程
对象: 2个标签:作提示 2个文本框:作输入和显示 3个命令按钮控件 单击“计算”按钮,右文本框内显 示出该摄氏温度对应的华氏温度。 单击“清除”按钮使得文本框的内 容被清除 单击“退出”按钮结束程序运行。 Visual Basic程序设计教程
本例使用四个事件过程: • 一个Form_Load()和三个是命令按钮的Click事件。 • 主要属性设置 • 命令按钮1:(名称):CmdCalc Caption:计算 • 命令按钮2:(名称):CmdClear Caption:清除 • 命令按钮3:(名称):CmdExit Caption:退出 • 标签1(Label1):Caption:摄氏温度 • 标签2(Label2):Caption:华氏温度 • 窗体:Caption:温度转换 Visual Basic程序设计教程
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 本例每个事件代码都依顺序执行。 Visual Basic程序设计教程
3.3 VB语法和注释 • 编写程序有一定的规则,这就是语法。如数学中x乘y可以写成xy,但在程序中不能。程序中除了“ ”所有的内的字符串外,其它一律使用西文符号。如:>、<、=、+、-等都必须是西文符号。 Visual Basic程序设计教程
3.3.1 语法符号 在程序设计语言中,每一条语句都有语法规则。本书在语法描述中,常常使用以下符号: 1.[ ]:表示可选项。2.< >:语句中的基本单位。可以直接给出,也可以用<>表示。 Visual Basic程序设计教程
3.{ }及其内的 | :表示多个项目,一般只能选择其中一个。 • 4.… :表示重复前面的内容。如Print方法格式为:Print [输出项][{;|,}[输出项]…][{;|,}] Print [<输出项>][{;|,}[<输出项>]…][{;|,}] 注意:这些只是书写格式,并不是VB的语言元素。 Visual Basic程序设计教程
3.3.2 注释 • 使用注释记录编程思路或明确这段程序的目的。 • 使用注释提高程序的可读性。 • 注释部分不是程序代码,它不会被执行。 • 注释不是用得越多越好。 • 一般针对主要程序段、主要变量、关键语句等。 Visual Basic程序设计教程
注释使用有两种方法: • 使用西文单引号“'” C = Text1.Text '将文本框数据送入变量C • 使用关键字Rem 格式:Rem 注释文字Rem 计算摄氏温度对应的华氏温度值。 • 注释不是用得越多越好 • 一般针对主要程序段、主要变量、关键语句等 Visual Basic程序设计教程
3.3.3 程序代码书写规则 • 1.续行 • 一行中字符数太多,可以分多行书写 • 方法:前一行的末尾要使用续行符:“ _” 。如: • Score = Val (InputBox("请输入“计算机”课程成绩(0-100): ", _ "输入成绩", 60)) • 续行符后面不能加注释 • 不要在一个字符串或关键字的中间截断行 • 当句子不长时,最好不要用续行。 Visual Basic程序设计教程
2.多条语句写在一行内 • 使用的方法:在各句之间用冒号“:”分隔。 • 如要交换变量A和B中的值,可以使用:T = A: A = B: B = T Visual Basic程序设计教程
3.使用缩进格式 • 为了增加程序的可读性,代码应采用缩进格式。 • 它可以反映出代码的逻辑结构和嵌套关系。如: • ……………… …… …… ………… Visual Basic程序设计教程
3.4 语句和函数 • 利用这些语句和函数可以编写许多程序。 • 语句是VB程序代码的组成部分, • 函数是VB语言组成部分的另一种形式 • 它把一些常用的功能预先编制好程序 • 以固定的格式提供给用户使用, • 可以大大减少了编程者的代码设计工作。 Visual Basic程序设计教程
3.4.1 VB的语句 • 语句独立于对象。 • 语句一般分两类: • 执行语句 • 使计算机产生一种特定的操作,如赋值、循环等。 • 非执行语句 • 非执行语句用来将某些信息通知翻译系统,让VB翻译系统按它的要求作出处理。如Dim、Const、Rem等。 Visual Basic程序设计教程
一个语句一般包含两部分: • 语句定义符部分 • 规定了要让计算机干什么。如:Dim • 语句体部分 • 指要干的具体内容。如:A As Integer Visual Basic程序设计教程
3.4.2 Stop语句和End语句 • 1.Stop作用:暂停程序的运行。使用格式为:Stop • 一般用于程序调试中。 • 如暂停以查看一下前面运行的结果是否正确 • 若要继续执行,可用工具栏的“继续”按钮。 • 2.End作用:终止程序的运行。使用格式为:End • 终止程序的运行 • 将卸载所有窗体模块 Visual Basic程序设计教程
3.4.3 什么是函数 • 函数是一些量依赖于另一些量的概括 • 例如数学表达式y=Sin(x) • y为函数值 • x为自变量 • 计算机中,函数表示类似于数学中的这种关系 • 计算机中,函数由相对独立的程序代码实现的。 • VB系统提供了一部分函数,称为VB内部函数 • 用户可以直接调用VB函数 Visual Basic程序设计教程
3.4.4 使用函数 • VB的内部函数一般分为: • 数学函数、字符串函数、日期/时间函数、转换函数等 • VB内部函数调用的基本格式是: • 函数名(参数1, 参数2,……, 参数n) • 参数是函数的输入。n>=0 • 一般函数有一个返回值,类型可以是数值型或字符型等。 Visual Basic程序设计教程
函数可以被用于表达式中,如X = -B + Sqr(D) • 函数调用时,函数名、参数个数、排列次序和数据类型应与规定的一致 • 函数的运算优先级高于其它运算符,低于括号( )。 Visual Basic程序设计教程
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 Visual Basic程序设计教程
(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 Visual Basic程序设计教程
(5)绝对值函数Abs。格式:Abs(x) • 该函数求出x的绝对值。如:Abs(-25)的值为:25。 • (6)正弦函数Sin。格式:Sin(x) • 该函数用于求x的正弦值。参数一律采用弧度。如sin90°的VB函数表达式应为Sin(3.1415926/2)。 Visual Basic程序设计教程
(7)随机函数Rnd。使用格式为:Rnd[(x)] • 返回一个随机Single型数,范围在(0,1)之间。 • 参数x决定了产生随机数的方法。 • 如果x<0时,相同x将得到相同的值。 • 当x=0时将得到最近出现过的随机数。 Visual Basic程序设计教程
x默认或x>0,将产生下一个随机数。例如: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 Visual Basic程序设计教程
(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) Visual Basic程序设计教程
(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) Visual Basic程序设计教程
3.4.5 常用函数举例——与Print相关的定位函数 • 这类函数后面往往采用分号“;”间隔符。 • (1)输出绝对定位函数Tab。格式:Tab(x) • 该函数表示将输出位置定位到第x列。 • 如果位置已超过x列,则定位下一行的第x列。 • (2)输出相对定位函数Spc。格式:Spc(x) • 输出位置从当前位置开始,空出x列。 Visual Basic程序设计教程
3.4.5 常用函数举例 • 【例3-2】在Form_Click内完成求平行四边形的面积。面积公式:S=absin t。a、b为边长,t为夹角,使用角度。要求结果保留小数两位 • 本题使用多个函数: • 用InputBox函数输入a、b和t, • 用Val函数把它们转换成数值类型 • 用Sin函数计算面积 • 用Round函数对面积值进行四舍五入。 • 本例程序按顺序依次执行 Visual Basic程序设计教程
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,窗体上显示为: Visual Basic程序设计教程
3.5 使用基本控件 • VB的有两类控件: • 工具箱中的常用控件 • 通过 “部件”的控件。——“ActiveX控件” • 本节介绍最常用的控件: • 命令按钮 • 标签 • 文本框 • 滚动条 • 定时器 • VB控件有 (名称)属性,大多部分有Caption、Top、Left、Height、Width、Font、Visible、Enabled等属性,含义基本相同 Visual Basic程序设计教程
3.5.1 命令按钮CommandButton • 是用户与应用程序交互的最简便方法 • 往往使用单击命令按钮来执行指定的操作。 • 1.创建命令按钮 • 方法一: 工具箱内选取命令按钮,然后在窗体上拖曳鼠标就可以画出一个命令按钮 • 方法二:双击工具箱内的命令按钮 • 2.命令按钮的事件命令按钮的主要事件是Click。 Visual Basic程序设计教程
3.命令按钮的属性 • Caption:标题,字符型。默认值为Command1 • (名称):Name名称,字符型。默认值为Command1 • Enabled:是否有效,布尔型。 • Visible:是否可见,布尔型。 • Style:按钮显示方式,0表示文字,1表示图形。 • Picture:按钮显示的图形。它要求属性Style值应为1。 Visual Basic程序设计教程
说明: • 注意(名称)和Caption的区别。 • (名称)是程序使用的标识符。 Caption是界面显示的文字 • (名称)设置后,程序中所有用到该对象的地方,对象名都要用设置的名称,原默认名称无效。 • 设置快捷键:可在Caption属性中加上“&”。 • 例如:Caption设置为“E&xit”或“Exit[&x]” Visual Basic程序设计教程
【例3-3】窗体上设计2个图形命令按钮,它们分别用于显示信息和结束程序,如图。若用户在命令按钮外单击,用消息框提示“不要点错位置”。【例3-3】窗体上设计2个图形命令按钮,它们分别用于显示信息和结束程序,如图。若用户在命令按钮外单击,用消息框提示“不要点错位置”。 • 主要属性设置 • 两个命令按钮: • Caption:空;Style:1; • Picture:选择图形文件 • 窗体Form1 • Caption:显示 Visual Basic程序设计教程
3.5.1 命令按钮—图案按钮举例 • 程序代码如下:Private Sub Command1_Click() Print "Hello!"End SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Form_Click() '按钮外单击提示MsgBox "不要点错位置", vbCritical, "警告"End Sub Visual Basic程序设计教程
3.5.2 标签Label • 用来显示用户不能直接改变的文本: • 用作标注其他控件 • 用作程序代码执行时显示程序结果等信息 • 1.创建标签 • 创建标签使用工具箱中的标签。 Visual Basic程序设计教程
2.标签的常用属性 • Caption:标题,即显示的文本。默认值为Label1。 • (名称)Name。设置标签名称。默认值为Label1 • AutoSize:设置标签是否根据显示内容自动改变大小 • Backstyle:设置标签透明背景 • Borderstyle:设置标签边框 • WordWrap:设置标签内的文字自动换行,布尔型。 • Alignment:设置标签显示的对齐方式 Visual Basic程序设计教程
说明: • Label1中,第5个是小写字母l,最后一个是数字1 • 设置WordWrap为True时,此时应把AutoSize设为True,否则除非标签有足够的高度。 • 标签也有一些事件,但不常用。 Visual Basic程序设计教程
3.5.3 文本框TextBox • 处理字符类型数据 • 文本框控件的功能非常强大,在控件中可以: • 输入文本、编辑文本和输出文本 • 被程序用来读取和显示信息 • 1.创建文本框在工具箱内选取文本框工具 Visual Basic程序设计教程
2.文本框的主要属性 • (名称):Name。字符型。默认值为Text1 • Text:文本框显示的内容,字符型。默认值Text1。 • 它是文本框最重要的属性 • Locked:选择文本框是否允许编辑,布尔型。 • SelStart:选中文本的起始位置,或插入点位置 • 如:Text1. SelStart=0 Visual Basic程序设计教程
SelLength:文本框内被选中文本的长度,数值类型。SelLength:文本框内被选中文本的长度,数值类型。 • SelText:文本框内被选中的文本,字符型 • MaxLength:设置文本框中能输入的最大字符数 • MultiLine:是否能多行显示 • Scrollbars:设置文本框加滚动条。与MultiLine有关 • PasswordChar:设置输入文本的特殊显示字符。如* Visual Basic程序设计教程
说明: • 文本框没有Caption属性。 • SelStart、SelLength、SelText属于文本编辑属性,只能在程序中设置。 • 3.文本框的方法 • 主要方法是设置焦点的SetFocus方法。 • 格式:文本框名称.SetFocus Visual Basic程序设计教程
4.文本框的事件 • 有Click、DblClick等鼠标事件 • 还常用: • Change事件:在文本框内容发生改变时触发。 • KeyPress事件:它在用户按任意键时触发 Visual Basic程序设计教程
【例3-4】改写例3-1,启动窗体后,用户在Text1内输入摄氏温度的同时,Text2立即自动显示对应的华氏温度。要求Text2不能输入数据。说明:【例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 = FEnd Sub Visual Basic程序设计教程
剪贴板对象的使用 • 剪贴板不是VB的控件,它是Windows部件 • 它能够和文本框合用,制作简单的文本编辑器。 • 剪贴板对象的名称是Clipboard,常用方法有:(1)Clear:清除剪贴板中的内容。(2)GetText:返回剪贴板上的所有字符。(3)SetText:将字符串送入剪贴板 Visual Basic程序设计教程