Visual Basic程序设计实用教程.ppt_第1页
Visual Basic程序设计实用教程.ppt_第2页
Visual Basic程序设计实用教程.ppt_第3页
Visual Basic程序设计实用教程.ppt_第4页
Visual Basic程序设计实用教程.ppt_第5页
已阅读5页,还剩245页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

什么是Visual Basic,Visual Basic 可视化程序设计的开发环境。 程序设计 使用程序设计语言完成软件开发任务 程序设计语言 是人与计算机交流的工具, 是由字、词和语法规则构成的指令系统。,程序设计语言,程序设计语言 分类,机器执行角度,应用角度,机器语言,高级语言,系统软件 科学计算 数据库管理 图形设计 人工智能,汇编语言,程序设计,(1)数据描述把被处理的信息描述成计算机可以接受的数据形式。 (2)对数据的处理是指对数据进行输入、输出、计算、存储等一系列的活动。,程序设计任务主要完成两方面工作:,程序设计,数据处理的目的是为了提取有用的数据成分,获得我们有用的资料。 程序设计的工作成果称为源程序。 高级语言源程序有两种执行方式: 编译执行 解释执行,VB 6.0的特点,VB6.0是目前最容易学习的面向对象的程序设计语言。 VB6.0有非常完善的帮助系统。 VB6.0采用了面向对象的程序设计方法 。 VB6.0采用了事件驱动机制 。 针对VB6.0的对象提供了丰富的方法 。 VB6.0有丰富的数据类型和函数采用结构化编程语言 。 VB6.0提供了功能强大的Active控件和对象 。 VB6.0是有力的Internet开发工具 。 VB6.0有先进的数据技 。,例1.1第一个VB程序。,设计一个窗体,在窗体上添加3个命令按钮。运行程序时,单击“显示”,在窗体上显示“你单击了“显示”按钮”。若单击“变大”或“变小”按钮,使窗体尺寸增加或减少,增加或减少的尺寸都为50Twip。,VB 6.0集成开发环境,标题栏,l 设计状态:允许程序员设计应用程序用户界面和编写代码。 l 运行状态:表示正在运行程序,此时不能设计应用程序用户界面和编写代码。 l 中断状态:运行的程序暂时停下来,还可以继续运行程序,此时不能设计应用程序用户界面,但可以编写代码。,菜单栏,位于标题栏的下方,菜单栏中显示“文件”、“编辑”、“视图”、“工程”等13个菜单项,每个菜单项都有一个下拉菜单,在下拉菜单中列出的各种执行命令。,工具栏,位于菜单栏的下方,工具栏中提供了部分用图标表示的最常用菜单命令,当鼠标指针指向某个图标,将显示该图标功能的简要提示信息,单击图标即可执行相应命令。,工具箱,位于窗体窗口的左侧有一个标准控件工具箱。每个控件用一个图标表示。利用这些工具可以在窗体上设计各种控件。,窗体窗口,位于集成开发环境工作区的中间,窗体是程序员是设计图形用户界面的工作台,各类控件对象必须建立在窗体上,用它创建应用程序的外观,运行程序时窗体称为窗口。,代码窗口,位于集成开发环境工作区的中间,用它可编辑程序代码。,工程资源窗口,位于窗体窗口的右上部,它以树状显示当前工程包含的所有文件。VB把一个应用程序称为一个工程。一个工程至少包含一个工程文件(.Vbp)和一个窗体文件(.Frm)。 l “查看代码”按钮:用于显示或编辑代码。 l “查看对象”按钮:用于显示或编辑正在设计的窗体。 l “切换文件夹”按钮:用于切换工程清单的显示方式。,属性窗口,窗体布局窗口,窗体布局窗口可调整程序运行时窗体显示的位置。,控件的画法,l 单击工具箱中的控件按钮,在窗体编辑区拖动鼠标画出对应的控件。 l 双击工具箱中的控件按钮,即可自动在窗体中央画出对应的控件,再拖动到适当位置。 按住Ctrl键,单击工具箱中的控件按钮,松开Ctrl键,在窗体编辑区拖动鼠标可画出多个对应的控件。画完之后单击工具箱中的其他控件。,建立VB应用程序的一般方法,创建一个工程 为窗体添加对象 设置对象属性 编写代码 运行工程 调试工程 保存工程,可视化程序设计的概念,对象(Object) 对象的属性(Properties) 对象事件(Event) 事件过程 方法,综合运用,例1.2可移动的文字。 例1.3显示系统当前时间。,VB的基本数据类型,“数据”是信息在计算机内的表现形式,也是程序的处理对象。 不同类型的数据有不同的操作方式和不同的取值范围。 VB具有系统定义的基本数据类型,而且允许用户根据需要定义自己的数据类型。 VB提供的基本数据类型主要有: 字符串型、数值型、逻辑型和日期型。,例2.1 AB 与 A * B。设计一个窗体,在窗体上添加一个命令按钮。运行程序时,单击“开始”,程序将要求输入A和B,并在窗体显示计算结果。(结果为什么存在问题),字符串型,字符串(String)是一个字符序列,由放在一对双引号中的ASCII字符(除双引号和回车符之外)、汉字及其它可打印字符组成。,例如:,以下是合法的VB字符串, “Hello” “We are students.” “中华人民共和国” “2+3=?” “2000” “ # ” “ ¥25,000.00 ” “” (空字符串),字符串型,值得注意的是: 字符串中包含的字符个数称为字符串长度。 在VB6.0中,把汉字作为一个字符处理。 字符串分为变长字符串和定长字符串。 长度为0(即不含任何字符的字符串)称为空字符串。 双引号在程序代码中起字符串的界定作用。 在字符串中,字母的大小写是有区别的。,例如,字符串“ABC”与“abc”是两个不相等的字符串。,数值型,VB的数值型数据分为整型数和实型数两大类。,整型,整型数是不带小数点和指数符号的数。十进制整型数由 09 的数字序列组成,可以带正号或负号。,例如:147589565, -3145, 327009 等都是十进制整数。,整型,整型数按示数范围的不同分为整数、长整数和字节型整数。,整型数和长整数还可以有三种表示形式,即十进制、八进制和十六进制。,整型,实型,实型数是带有小数部分的数,分为浮点数和定点数。 浮点数由三部分组成:符号、指数及尾数。,逻辑型,逻辑型数据(Boolean)以 2个字节(16 位)存储。,逻辑值,逻辑真,逻辑假,True(-1),False(0),日期型,日期型(Date)数据存储为 8 个字节(64 位)浮点数值形式。 可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日,时间可以从 0:00:00 到23:59:59。,VB常量与变量 内部常量 用户自定义常量 根据VB数据类型,一般常量有整型常量、长整型常量、单精度型常量、双精度型常量、字节型常量、字符串型常量、逻辑型常量和日期型常量。 用户自定义常量分一般常量和符号常量两种形式。,Const语句的一般格式: Const 常量名 As 类型名=表达式 下面是正确的符号常量定义语句。 Const pi=3.14159 定义pi是单精度符号常量,其值为3.14159 Const max As Integer=70 定义max是整型符号常量,其值为70,变量 在程序中,其值可以改变的称为变量。变量名是变量的标识。变量名的命名规则同常量名。变量具有名称、类型和值三个属性。 VB有两种类型变量:属性变量和一般变量。 一般变量是由用户自己定义的。定义变量常用Dim语句,格式如下: Dim 变量名1 AS 类型1 , 变量名2 As 类型2 例如: Dim chr1 As String,算术运算符和算术表达式 在VB中,算术运算符有:乘方号()、取负号(-)、乘号(*)、除号(/)、整除号()、求余运算符(Mod)、加号(+)和减号(-)。 Private Sub Command1_Click() Print 25 5 * 5 End Sub 输出结果为1。因为先计算乘法,再完成整除2525的运算。,字符串运算符和字符串表达式 在VB中,字符串运算符有:加号(+)和字符串连接运算符号(&)。两个运算符的作用相同,都是将两个字符串连接成一个字符串。例如: “面向对象” & “程序设计” 结果仍是一个字符串:“面向对象程序设计“ “面向对象” + “程序设计” 结果仍是一个字符串:“面向对象程序设计,关系运算符和关系表达式 在VB中,关系运算符有:大于号()、小于号(=)、小于等于号(或)。 关系表达式的一般格式: 表达式 关系运算符 表达式,逻辑运算符和逻辑表达式 在VB中,常用的逻辑运算符有:非(Not)、与(And)、或(Or)、异或(Xor)、等价(Eqv)和蕴含(Imp)。 逻辑运算符,用来对两个逻辑量进行运算,运算的结果是逻辑型的,结果值True表示真,False表示假。 逻辑表达式的一般格式: 表达式 逻辑运算符 表达式 例如:A + B = C And X = Y 是逻辑表达式,在求解该表达式时,先完成算数运算,再解决关系运算,最后进行逻辑运算。整个表达式的含义是,当A + B等于C并且X等于Y时,该表达式的结果为真。,VB常用内部函数 例2.2 飞机高度。设计一个窗体,在窗体上添加一个名为“计算”的命令按钮。运行程序时,单击“计算”输出雷达搜索到飞机的高度。设雷达在仰角300时发出电波,在B点碰到飞机,经过1/3000秒收到来自飞机的回波。电波的速度为3108米/秒,问飞机的高度。,常用数学函数 常用数学函数主要包括三角函数、指数函数、对数函数、平方根函数、绝对值函数等,它们与数学上的定义一致。 注意: 所有数学函数的自变量是数值型,计算结果也是数值型。 自变量可以是常数、变量或表达式,还可以是函数。 表中的三角函数自变量的单位为弧度。 Sgn(n)函数,当n 0返回1。 Rnd(n)函数产生一个01之间的随机双精度数,包括0,但并不包括1。,常用转换函数 常用转换函数主要包括数值型数据与字符型数据之间的转换,以及数值型数据之间的转换。 常用Val函数把输入的数字字符串转换成数值,用Str函数把要输出的数值转换成字符串。运行下面程序,和例2.2结果相同。 Option Explicit Private Sub Command1_Click() Const Vg = 300000000# Const Pi = 3.1415 Dim OB, AB OB = Vg / 3000 / 2 AB = OB * Sin(30 * Pi / 180) Print “飞机的高度是:“ + Str(AB) + “米“ End Sub,Asc和Chr是一对互逆函数,Chr只能计算一个字符串首字符的ASCII编码,控制字符可以使用Chr函数输入。运行下面程序,观察结果(见图2.6转换函数)。 Private Sub Command1_Click() Print Chr(Asc(“A“), Chr(Asc(“ABC“) Print Asc(“A“), Asc(“ABC“) Print Trim(Asc(“A“), Trim(Asc(“ABC“) Print “显示在上一行“ + Chr(13) + Chr(10) + “显示在下一行“ End Sub,常用字符串函数 VB 6.0在字符存储和处理中,采用了Unicode编码。Unicode编码将一个汉字和一个西文字符都视为一个字符,占用两个字节存储。 Private Sub Command1_Click() str1 = “字符串函数与运算“ str2 = Mid(str1, 4, 2) Print str2 N = InStr(str1, str2) Print N, InStr(str1, “字符子串“) Print str1 + “的长度是“ + Str(Len(str1) Print LCase(“abCDef“) + Space(3) + UCase(“abCDef“) Print String(10, “) Print “茶好吃“, StrReverse(“茶好吃“) End Sub,InputBox函数 InputBox函数的返回一个字符串。在调用InputBox函数时,系统将弹出一个对话框,该对话框能接收用户输入数据。 InputBox函数一般格式如下: InputBox(提示信息,标题,确省值) Private Sub Command1_Click() Dim L L = Val(InputBox(“长度(厘米)“, “输入“) Print “长度(厘米):“; L Print “长度(Twip):“; 567 * L End Sub,窗体,窗体是程序员的“工作台”,用以可视化地建立应用程序。 窗体是 VB 中一个重要的对象,它除了具有自己的属性、方法外,还可放置除了窗体之外的其它控件。 VB 的窗体和控件是具有自己的属性、方法和事件的对象。属性就是对象的性质,方法就是对象的动作,事件就是对象的响应。,窗体属性,窗体的属性:决定了窗体的外观和操作。 设置方法: 通过属性窗口设置和通过程序代码设置。,窗体主要属性,Name(名称) 标识符,是程序代码中使用的对象名。 Caption(标题) 字符型,设定或返回窗体标题栏中显示的文本。 BackColor(背景颜色) 返回或设置背景颜色。 ForeColor(前景颜色) 返回或设定前景颜色。 Height、Width(高、宽) 数值型,返回或指定窗体的高度和宽度。 Left、Top(左边、顶边位置) 数值型,返回或确定窗体左上角的位置。,用不同的字体、字型和字号时在窗体显示“航空英雄杨立伟”。,例2.4航空英雄杨立伟。设计一个窗体,窗体的标题为“航空英雄杨立伟”,并为窗体加载一幅图片。运行程序时,单击窗体,用不同的字体、字型和字号时在窗体显示“航空英雄杨立伟”。,窗体事件,Microsoft Windows 操作系统连续地监视每一个窗口的活动或事件的信号。 事件可通过单击鼠标或按下按键等操作产生,也可通过程序控制产生,还可由另一个窗口的操作产生。,窗体主要事件,Click 事件 用鼠标单击某个对象就触发了 Click 事件,调用相应的事件过程。 DblClick 事件 用鼠标双击某个对象就触发了 DblClick 事件,调用相应的事件过程。 Load 事件 Load 是把窗体装入内存工作区时发生的事件。在缺省情况 (AutoReDraw=False)下, Load 事件过程是不能在窗体中显示输出的。,窗体主要事件,Activate 事件 Load 事件发生后,系统还会自动产生一个 Activate 事件。Activate 事件过程处理完成后,程序进入“等待事件”状态,当某一事件发生,就对其过程进行处理,之后再等待下一事件发生。 UnLoad 事件 当用户关闭窗体时,会发生一个 Unload 事件。 Resize事件 Resize事件是当程序运行后,窗体的大小被改变时触发的事件。,Print 方法 格式: 对象名. Print 表达式 ,| ;表达式 说明: (1) 对象名 可以是窗体、立即窗口、图片框、打印机。 (2) 表达式 可以是数值或字符串表达式。 (3)当输出多个表达式时用分隔符隔开。 逗号:分区格式输出,以 14 个字符为一区; 分号或空格:紧凑格式输出。 (4)执行 Print 方法时,命令行的末尾有逗号或分号,则下一次 Print 方法在同一行接着打印,否则下次 Print 方法另起一行。,窗体主要方法,Cls 方法 格式: . Cls Cls 用于清除由Print方法显示的文本或在图片框中显示的图形,并把光标移到对象的左上角(0,0)。,窗体主要方法,Move 方法 格式:对象名. Move 左边距 , 上边距 , 宽度 , 高度 Move方法可在程序中移动窗体和控件,并可以改变其大小。,窗体主要方法,综合运用,例2.5可扩大的窗体。设计一个窗体,窗体的标题为“可扩大的窗体”,在界面设计时为窗体加载一幅任意图形。运行程序时,单击窗体使窗体的长和宽都扩大原来的1.1倍,并使窗体居中显示。 例2.6变色窗体。设计一个窗体,窗体的标题为“变色窗体”。运行程序时,单击窗体,使窗体变成绿色,并使窗体向下和向右都移动100Twip,同时在窗体输出窗体的位置。单击窗体的关闭按钮,使窗体变成红色,同时在窗体的标题输出系统时间。,顺序结构程序设计,在事件驱动机制中,由用户激发的某个事件去执行相应的事件过程。这些事件处理过程之间并无特定的执行顺序,但每个事件过程内部却包含着三种结构。在顺序结构中,语句将按照出现的顺序逐条执行。,例3.1 简单电路。 R110欧,R220欧,R330欧,电源电压恒定不变,若开关S1闭合,S2断开时,电流表的读数是0.3A,求(1)电源电压多大?(2)当S1和S2都断开时,电流表的读数多大?(3)当S1、S2都闭合时,电流表的读数是多大?,变量名 = 表达式 或: 对象名. 属性名 = 表达式 赋值语句的含义是: (1)计算赋值号右边表达式的值; (2)将此值赋给赋值号左边的标识符代表的变量或控件属性,作为它的当前值; (3)该值一直保存到下一次再对它赋值为止。,赋值语句基本含义,赋值相容,赋值语句中的标识符代表一个存储单元。 执行赋值语句时,如果这个存储单元的结构和大小能够正确地表示赋值号右边的表达式的值,那么,就称该赋值语句是赋值相容的。,数值型与字符串型,1.如果字符串的形式表示数值,则可将字符串赋予数值变量。也可将数值赋予字符串变量。 2.如果把非数值形式的字符串赋给数值变量,则会出现运行错误。 3.把一个整数赋给一个实变量,将不会出什么错; 4.当把一个长整数赋给一个单精度变量,就可能会受示数精度的影响。,注释语句,格式: 注释内容,撇号,说明: 1. 此语句仅起注释作用,不被解释和编译。 2. 任何字符(包括汉字)都可以作为注释内容。 3. 此语句可放在过程、模块的开头,也可放在执行语句的后面,但必须是一行中的最后一个语句。,暂停语句,格式: Stop 说明: 1. 可放在过程中的任何地方,用来暂停程序执行,相当于设置断点。 2. 类似于 Run 菜单中的 Break 命令,系统将自动打开立即窗口(Debug),方便程序员调试跟踪程序。 3. 调试完毕,生成可执行文件之前,应删去所有的Stop 语句。,结束语句,格式: End 说明: 1. 通常用来结束程序的执行。 2. 程序没有 End 语句,或虽然有,但没执行,运行没有影响,但不能正常结束。 3. 为了保持完整性,程序应该通过 End 语句结束执行。 4. 其它用途: End Sub 结束一个 Sub 过程 End Function 结束一个 Function 过程 End If 结束一个 If 语句块 End Type 结束记录类型定义 End Select 结束情况语句,命令按钮 (CommandButton)控件,命令按钮是最常使用的控件之一。命令按钮最多设置的属性是Caption,一般使用属性窗口设置该属性,以便修改命令按钮的标题。命令按钮最常使用的事件是Click。,命令按钮属性 (1)(名称) 在程序中它是识别命令按钮的标识符。窗体中第一个建立的命令缺省名称是Command1,后续的命令按钮缺省名称分别是Command2、Command3等。名称属性为只读属性。只读属性的含义是,这样的属性只允许在界面设计时修改,在程序中不能修改这样的属性。 (2)Caption属性 Caption属性是字符串类型,是显示在命令按钮上的标题。即可以在界面设计时通过属性窗口修改,也可以使用代码设置。,(3)Default属性 Default属性是布尔类型,当命令按钮的Default属性设置为True时,按回车键等效于用鼠标单击该按钮。一个窗体只能有一个命令按钮的Default属性设置为True。命令按钮的Default属性缺省值为False。 (4)Cancel属性 Cancel属性是布尔类型,当命令按钮的Cancel属性设置为True时,按Esc键等效于用鼠标单击该按钮。一个窗体只能有一个命令按钮的Cancel属性设置为True。命令按钮的Cancel属性缺省值为False。,(5)Style属性和Picture属性 Style属性决定命令按钮的外观,只能取0或1。当此属性设置为0时,表示标准命令按钮,该按钮只能显示文字,并且不能改变背景颜色和前景颜色,更不能显示图标。当此属性设置为1时,表示图形命令按钮,图形即能显示文字,能改变背景颜色和前景颜色,也能显示图标。命令按钮的Picture属性同窗体的Picture属性,用来显示图形。 (6)ToolTipText属性 ToolTipText属性是字符串类型,用于设置命令按钮的提示信息,运行程序过程中,若鼠标指向命令按钮并停留时,显示命令按钮ToolTipText的字符串。,(8)Enabled属性 Enabled属性是布尔类型,用于设置命令按钮是否可以操作,运行程序时,若命令按钮的Enabled属性设置为False,命令按钮呈灰色,此时命令按钮禁止操作。当命令按钮的Enabled属性设置为True时,允许用户操作命令按钮。 (9)Visible属性 Visible属性是布尔类型,用于设置命令按钮是否可见。 (10)其它属性 命令按钮也有和大小、位置有关的属性,有Height、Left、Top和Width。不同的是,窗体的Left和Top是相对于屏幕,命令按钮的Left和Top是相对于窗体。另外,命令按钮能够输出文字,因此有与Font相关的属性。,例3.2老师和学生。设计一个窗体,在窗体上添加两个命令按钮。运行程序时,“老师”可以操作,“学生”不能操作,单击“老师”按钮后“老师”不能操作,“学生”可以操作。单击“学生”后,命令按钮状态恢复成原始状态。用鼠标指向命令按钮并停留时,显示提示信息。,命令按钮事件 命令按钮它是用户与程序交互的最简便的方法。命令按钮除最常使用的Click事件。命令按钮常用到的事件有:Mouse Down事件、MouseUp事件、MouseMove 事件等。 Mouse Down事件,例3.3事件顺序。设计一个窗体,在窗体上添加一个命令按钮。并编写命令按钮被压下、单击和抬起的事件过程,在事件过程中输出命令按钮的状态。要求命令按钮被压下和正常状态分别显示不同图形。,标签控件 标签控件(Label)也称标签或标签框,是最常使用的控件之一,常用于输出文本,显示提示信息,用标签控件输出的文本、提示信息不能编辑、修改。所以标签控件常用来输出标题、显示处理结果或标识那些不带Caption属性的控件,如下面讲的TextBox控件。,标签控件属性 (1)(名称)属性 在界面设计时,用Name属性设置标签控件的名称。随着标签控件的建立,系统赋给标签控件的隐含名称为Label1、Label2等,在隐含名称中Label永远保持不变,变化的是后边的序号,能表示出是第几个添加的标签控件。在程序中对控件的操作,都是通过名称来识别对象。 (2)Caption属性 Caption属性是字符串类型,用于设置该标签控件的标题。该属性值就是标签控件要显示的内容,它既可以在属性窗口中设定,也可用代码改变控件显示的内容。,(3)Alignment属性 数值型,用于设置标题的对齐方式,可设置为0、1和2,其作用分别是: 左对齐、 右对齐和 中间对齐。 (4)AutoSize属性 AutoSize属性是布尔类型,标签的大小是否随标题内容的大小自动调整。当该属性设置为True时,标签的大小随标题内容自动调整,使标签的大小正好适应标题,且不换行。当该属性设置为False时,标签的大小不随标题内容自动调整,标题超过标签尺寸的部分不能显示。确省值为False。,(5)BorderStyle属性 数值型,用于设置边框的样式,只能取0或1,其作用如下: 0标签无边界线,确省值。 1标签有边界线。 (6)BackStyle属性 数值型,用于设置背景的样式,只能取0或1,其作用如下: 0透明显示,确省值。 1不透明显示。,文本框 (TextBox)控件 文本框属性 (1)Text属性 Text属性是字符串类型,用于设置文本框中显示的文字。该属性值是文本框要显示的内容,它既可以在属性窗口中设定,也可用代码改变控件显示的内容。 (2)PasswordChar属性 PasswordChar属性是字符串类型,用于设置文本框中显示的字符,常用于口令输入。,(3)Multiline属性 Multiline属性是布尔类型,用于设置文本框中是否可以输入多行文本。缺省值是False,此时文本框中只能输入一行文本。当设置该属性为True时,文本框可以输入多行文本。当该属性设置为False时,PasswordChar属性才能发挥作用。 (4)ScrollBars属性 ScrollBars属性是数值型,用于设置文本框中是否有滚动条,什么样的滚动条。可取值0、1、2、3,缺省值是0。,文本框事件和方法 文本框支持Click和DblClick事件,常用的事件还有: (1)Change事件 在文本框中输入信息或在程序中改变Text属性值时,都会触发该事件。 (2)LostFocus事件 按下Tab键或用鼠标单击其它对象使焦点离开该文本框时,触发该事件。 (3)KeyPree事件 当文本框具有焦点时,按下任意键,都会触发该事件。通常可用该事件检查输入的字符。,TextBox控件常用的方法有: SetFocus方法,其作用是把焦点设置到指定的对象,如: Text1. SetFocus 将使当前窗体中的文本框text1能够接收键盘输入的字符。,综合运用 例3.6字符和ASCII 例3.7相对运动 一平板车,质量M=100千克,停在水平路面上。车身的平板离地面的高度h=1.25米,一质量m=50千克的小物块置于车的平板上,它到车尾端的距离b=1.00米,与车板间的滑动摩擦系数u=0.20,如图所示。今对平板车施一水平方向的恒力,使车向前行驶,结果物块从车板上滑落。物块刚离开车板的时刻,车向前行驶的距离S0=2.0米。求物块落地时,落地点到车尾的水平距离S。不计路面与平板车间以及轮轴之间的摩擦,取g=9.8米/秒2。,认识选择控件和分支程序设计,例4.1设置字体。 运行程序时,先选择字体、字形、字体颜色和效果,再单击“确定”,程序将按照选择设置标题为“程序设计”的标签框。,分支程序设计,行If结构 行If结构要求把判断结构写在一行。行If结构有如下两种形式: 单分支的行If结构,格式如下: If 逻辑表达式 Then 语句组1 双分支的行If结构,格式如下: If 逻辑表达式 Then 语句组1 Else 语句组2,演示,演示,例4.2找最小数。设计一个窗体,在窗体上添加四个标签、四个文本框和两个命令按钮。运行程序时,先在输入要比较的三个数,再单击“确定”,程序将找出三个数中最小的数,并把计算结果显示在最小数文本框中。,块If结构,单分支的块If结构,格式如下: If 逻辑表达式 Then 语句序列 End If,双分支的块IF结构,格式如下: If 逻辑表达式 Then 语句序列1 Else 语句序列2 End If,多分支的块IF结构,格式如下: If 逻辑表达式1 Then 语句序列1 ElseIf 逻辑表达式2 Then 语句序列2 ElseIf逻辑表达式n Then 语句序列n Else 语句序列n+1 End If,块If结构的嵌套 上边介绍了块If结构的基本形式,在实际使用中常需要复杂的多重选择,用一个块If结构是不行的,必须用嵌套的块If结构。所谓嵌套的块If结构,指在一个块If结构中,又包含另一个块If结构。,例4.3判断三角形。 设计一个窗体,在窗体上添加五个标签、三个文本框和两个命令按钮。运行程序时,先在输入文本框中输入边长,再单击“判断”,程序将判断是否能构成三角形及其具体的形状:锐角,直角,钝角,并把计算结果显示在结论标签框中。,多分支结构 有时程序可能有多种选择,可以使用多分支结构。多分支结构以多分支语句Select Case开头,以End Select结束,Select Case语句也称情况语句,它适用于描述较多分支。使用该结构会使程序简洁,多分支结构的格式为: Select Case 测试表达式 Case 表达式列表1 语句序列1 Case 表达式列表2 语句序列2 Case 表达式列表n 语句序列n Case Else 语句序列n+1 End Select,例4.4成绩评定。设计一个窗体,在窗体上添加两个标签、两个文本框和两个命令按钮。运行程序时,先在输入文本框中输入一个百分制的成绩,再单击“计算”,程序将计算出结论,并把结论显示在文本框中。成绩大于等于90结论为“优秀”,成绩在80到90(含80、不含90)结论为“良好”,成绩在60到80(含60、不含80)结论为“及格”, 60以下结论为“不及格”。若单击“结束”按钮,结束程序运行。,单选按钮 (OptionButton)控件,单选按钮外观是一个圆圈。运行程序时,若单击单选按钮,则圆圈中间会出现一个黑色的圆点,表示该项被选择。一组单选按钮只能有一个被选择。,单选按钮的属性 (1)Value属性 Value属性标志单选按钮是否被选择,若单选按钮被选择,则它的Value属性值为True,未被选择其值为False(缺省值)。 (2)Caption属性 单选按钮的标题,是字符串类型。 (3)名称和其他属性,单选按钮的事件 单选按钮控件支持Click事件。运行程序时单击单选按钮,便触发Click事件,若存在该按钮的事件过程,将执行此事件过程。通常不编写这样的事件过程。,复选按钮 (CheckBox)控件,复选按钮也称检查框,该控件可用来提供多选择,用户可以从中选择一个或多个,还可以一个也不选择。复选按钮外观是一个小方框,若单击某一个复选按钮,则在小方框中间将出现“”符号标记,表示该项被选择。若再次单击被选择的复选按钮,则取消对该复选按钮的选择。,复选按钮的属性 (1)Value属性 复选按钮Value属性是数值型,其值为0表示未被选择,其值为1表示被选择,其值为2表示禁止用户选择,此时复选按钮为灰色,0是缺省值。 (2)Caption属性 复选按钮的标题,是字符串类型。 (3)名称和其他属性,框架 (Frame)控件,框架控件主要用于创建多个单选按钮或复选按钮组。在操作一个框架内的单选按钮时,不会影响该框架外的单选按钮。框架是一个控件的容器,当框架设置为不能操作或不可见时,框架中的控件也变得不能操作或不可见。,框架控件的属性 (1)Caption属性 框架控件的标题,是字符串类型。 (2)名称和其他属性,框架控件的事件 框架控件支持Click事件,通常不编写这样的事件过程。 在界面设计时,要先建立框架,然后在框架内画上其他控件。不要把框架外的控件拖动到框架内,这样的控件不属于该框架的。,列表框和组合框 例4.5旅游信息查询。设计一个窗体,在窗体上添加一个组合框、一个列表框、两个标签和一个命令按钮。运行程序时,用户可从请选择目的地中选择地名,在旅游信息列表中将出现旅游景区。,列表框属性 (1)Text属性 返回列表框被选择的列表项目,是字符串类型。在列表框中该属性为只读属性,界面设计阶段不能修改。 (2)ListIndex属性 设置或返回列表框被选择的列表项的序号,是整型。在列表框中第一个列表项序号为0,第二个列表项序号为1,最后一个列表项目序号为Listcount-1。 (3)Listcount属性 返回列表框列表项的个数,是整型。,(4)List属性 字符串数组,每个元素都是列表框的一个列表项内容。在界面设计时,利用List属性可以输入列表项目,在代码中可以引用该数组。 (5)Sorted属性 确定列表项是否按升序排列,是逻辑型,通过属性窗口设置。设置为True表示按升序排列列表项目,否则按增加先后次序排列。 (6)Sorted属性 确定列表项是否按升序排列,是逻辑型,通过属性窗口设置。设置为True表示按升序排列列表项目,否则按增加先后次序排列。,(7)MultiSelect属性 确定是否一次可选择多个列表项,是整型,通过属性窗口设置。可取值0、1和2,0表示每次只能选择一项;1表示简单多项选择,一次可以选择多项;2表示扩展多项选择,按下Ctrl 或Shift键+鼠标单击,一次可以选择多项。 (8)Selected属性 在支持多项选择中,判断被选择的列表项。是逻辑型数组,在设计阶段不可用,当数组元素为True时,表示该项被选择,为False时,表示该项未被选择。 (9)名称和其他属性,列表框的事件和方法 1列表框的事件 列表框控接收Click事件、DblClick事件和LostFocus等事件,但大多数程序编写DblClick事件过程。 2. 列表框的方法 列表框可以使用的方法有AddItem、RemoveItem和Clear。利用它们可以在程序运行期间修改列表框的内容。,组合框是具有文本框控件与列表框控件特性的控件。组合框系统的隐含名称为Combo1、Combo2等。,组合框属性 (1)Style属性 当Style设置为0时(默认样式),是下拉式组合框。单击右侧的箭头时打开选项列表,可从打开的列表中选择列表项目,选择的列表项目将显示在文本框中。也可直接在文本框中输入文本,在DropDown等事件过程中把文本框内容增加到组合框中。 当Style设置为1时,是简单组合框。这时文本框右侧无箭头按钮,它看起来象一个文本框和一个标准列表框的结合,列表项始终显示在列表框中。可以从列表中选择项,也可以直接在文本框中输入文本。 当Style设置为2时,是下拉式列表框,它与下拉式组合框相似。单击右侧的箭头时打开选项列表,可从打开的列表中选择列表项目,选择的列表项目将显示在文本框中;通过输入可以快速选择文本。与下拉式组合框不同的是:它不能在文本框中输入新的内容。,(2)Text属性 返回列表框被选择的列表项目,是字符串类型。在Style为0或1时可以键入文本。 组合框的(名称)属性系统隐含为Combo1,Combo2等。在列表框中的属性同样适于组合框。,组合的事件和方法 组合框的Style取值不同,能响应的事件也有差异,只有简单组合框能响应DblClick事件,下拉式组合框和下拉式列表框能响应DropDown,所有组合框都能响应Click事件。 在列表框中可以使用的方法同样适于组合框。,MsgBox函数和MsgBox语句 MsgBox函数的一般格式如下: MsgBox(内容,类型,标题,帮助文件,主题编号) 例4.6 确认删除列表项。设计一个窗体,在窗体上添加一个列表框和两个命令按钮。运行程序时,先选择要删除的列表项,单击“删除”按钮,弹出含有询问对话框,根据用户的不同选择进行不同处理。,MsgBox语句 MsgBox的语句格式如下。 MsgBox 内容,类型,标题,帮助文件,主题编号 在程序中MsgBox语句不能提供返回值,一般只用来崭停一下程序。,综合运用 例4.7选课。设计一个窗体,在窗体上添加五个标签框、四个组合框、一个文本框和两个命令按钮。运行程序时,先选择课程、教师和学分并输入姓名,单击“登记”按钮,弹出对话框,根据用户的不同选择进行登记或放弃登记。 例4.8歌咏比赛。设计一个窗体,在窗体上添加在窗体上添加一个标签、两个文本框、三个命令按钮和两个框架。两个框架内分别画上单选按钮和复选按钮。运行程序时,输入歌手姓名、选择性别和参赛项目后,单击“登记”将在文本框登记一行,单击“下一个”清除输入的姓名和选择,为输入下一个准备,每次登记信息占一行,单击“退出”按钮,结束程序运行。,认识图片框和循环程序设计,“例5.1正弦曲线。设计一个窗体,在窗体上添加一个图片框和四个命令按钮。运行程序时,单击绘制曲线、绘制坐标、输出标记,可分别在图片框中绘制正弦曲线、坐标系和标记。,绘图方法,坐标系 在VB中,窗体和图片框都有确省的坐标系。确省的坐标系规定坐标的原点在窗体和图片框可用空间的左上角,向下为Y方向,向右为X方向,单位是Twip。1440个Twip为1英寸。使用这样的坐标系绘图非常困难,用户可用Scale方法设置自己的坐标系。 Scale方法的一般格式: 对象名. Scale(x1,y1)-(x2,y2),PSet方法画点 用PSet方法可以在窗体或图片框上绘制一个点。 PSet方法的一般格式: 对象名. PSet(x,y),颜色,Line方法 用Line方法可以在窗体或图片框上绘制一条直线或绘制一个矩形。 Line方法的一般格式: 对象名. Line (x1,y1)- (x2,y2) ,颜色 ,BF 其中,(x1,y1)为始点坐标;(x2,y2)为终点坐标;颜色可以使用RGB函数,规定画线或画矩形的颜色。 关键字B表示画矩形或填充矩形。当FillStyle属性为1时,表示画空心矩形。FillStyle属性可取值0到7,除FillStyle属性为1外,都为画填充矩形,此时由FillStyle属性决定填充图案,由FillColor属性决定填充颜色。,Circle方法 用Line方法可以在窗体或图片框上绘制一条直线或绘制一个矩形。 用Circle方法可以在窗体或图片框上绘制圆、圆弧、扇形或椭圆。 Circle方法的一般格式是: 对象名. Circle (x,y),半径 ,颜色 , 起始角 , 终止角 , 长短轴比率 其中,(x,y)为圆心坐标;颜色可以使用RGB函数;起始角和终止角应使用弧度,值在02时绘制圆弧,取负值时绘制扇形;使用长短轴比率可用绘制椭圆。,循环结构,循环结构用来描述有规律地重复执行某一程序段。VB 6.0支持循环结构的语句有for、和do等语句,使用循环控制结构编程可以简化程序,提高效率。 ForNext结构 ForNext结构在程序中可以实现固定次数的循环。 ForNext结构的格式如下: For 循环变量 = 初值 To 终值 Step 步长 循环体 Exit For Next 循环变量,例5.2连乘之积。设计一个窗体,在窗体上添加两个命令按钮。运行程序时,单击“计算”,程序将弹出输入对话框,要求输入数据,输入5个数之后,将在窗体输出5个数之积。,DoLoop结构,Do WhileLoop形式 Do While 逻辑表达式 循环体 Exit Do Loop,Do UntilLoop形式 Do Until 逻辑表达式 循环体 Exit Do Loop,Do Loop While形式 Do 循环体 Exit Do Loop While 逻辑表达式,Do Loop Until形式 Do 循环体 Exit Do Loop Until 逻辑表达式,循环的嵌套 在一个循环结构的循环体内含有另一个循环结构,这就形成了嵌套循环,又叫做多重循环。判断正误,Do While b1 For j=k1 To k2 Loop Next j,Do For j=k1 To k2 Next j Loop While b1,Do For j=k1 To k2 Next j Loop While b1,图片框和图像框,图片框和图像框都能加载图像文件。图片框功能更强,它不仅可以显示图像,还可以用绘图方法绘制图形、用Print方法显示文本,图片框也能作为其他控件的容器。 可加载到这两个控件上的图像文件扩展名是:.Bmp 、.Dib、Ico、.Cur、. Emf、.Wmf或. Gif。,图片框和图像框的属性 (1)Picture属性 设置图片框和图像框要显示的图形。可在设计阶段加载图像文件,也可以在程序运行时加载图像文件。 (2)AutoSize属性 设置图片框是否能自动改变大小以适应图形,该属性是逻辑型。当取值True时,图片框随着图形实际大小自动调整尺寸以适应图形的尺寸;若取值False时, 图片框不能改变大小,此时若图片框小于图形尺寸,图形被裁剪。图片框的AutoSize属性缺省为False。,(3)Stretch属性 设置能否自动改变图形的大小以适应图像框,该属性是逻辑型。若取值True时, 图像框不能改变大小,此时图形被压缩或拉伸以适应图像框;当取值False时,图像框随着图形实际大小自动调整尺寸以适应图形的尺寸。图像框的Stretch属性缺省为False。 (4)名称和其他属性,在代码中加载图形要使用LoadPicture函数。把LoadPicture函数值赋给图片框或图像框的Picture属性,便可实现在图片框或图像框中显示图形。 一般使用的格式为: 对象名.Picture=LoadPicture(“图形文件名“),例随手画。 本程序演示MouseMove事件过程的用法,在Picture1中随手画 在Picture1中压下鼠标左键并拖动鼠标可绘制图形,图片框和图像框事件和方法 图片框和图像框都支持Click和DblClick事件,但很少对它们编程。另外图片框和窗体一样支持MouseMove、MouseDown、MouseUp等事件。 图片框常用方法在本章第2节介绍了PSet方法、Line方法、Circle方法。这里主要介绍Cls方法和Print方法 Cls方法用于清除图片框中显示的文字信息或用绘图方法绘制的图形。Print方法用于在图片框中显示的文字信息。和在窗体使用这两个方法完全相同。 Cls方法的一般格式是: 对象名. Cls,其他图形控件 在VB除图像框和图片框控件是专门处理图形的控件外,还有画线控件和形状控件,使用这两个控件可以非常方便地构造几何图形,一般不需要编程。 1、 Line画线控件 Line控件可以用来画线。画线操作的步骤如下: 2、 Shape形状控件 Shape控件可以用来画矩形、正方形、椭圆、圆、圆角矩形和圆角正方形。通过Shape属性可确定所需要的几何形状。Shape控件的Shape属性取值0到5,其形状分别对应矩形、正方形、椭圆、圆、圆角矩形和圆角正方形 。,综合运用 例5.5 绘制方程线。设计一个窗体,在窗体上添加一个图片框、两个框架、五个标签框、五个文本框和四个按钮。运行程序时,单击“绘制曲线”和“绘制直线” 根据函数中给定的数值在图片框内绘制函数的图形。单击“输出坐标”和“结束程序”也能完成相应的功能。 例5.6 水仙花数。寻找100,999之间的所有水仙花数,所谓水仙花数指一个三位数,其中各位数字的立方和等于该数本身。在窗体上添加一个标签框、一个列表框和两个命令按钮。用户界面请参见图5.21。,例5.7整钱化成毛票。把一圆以上的钞票换成一角,两角,五角的毛票(每种至少一张),求每种换法各种毛票的张数。在窗体上添加一个列表框和两个命令按钮。 例5.8 最大公约数和最小公倍数。设计一个窗体,在窗体上添加一个图片框和两个命令按钮。运行程序时,单击“开始”按钮,弹出输入对话框,要求输入两个数,程序将计算两个自然数M和N的最大公约数和最小公倍数。,认识计时器和数组,例6.1输入日期计算天数。设计一个窗体,在窗体上添加一个标签框、一个计时器和两个命令按钮。运行程序并单击“开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论