Visual Basic程序设计实践教程的第9章
合集下载
《Visual Basic语言程序设计》 第9章 文件

数,可以避免在文件输入时出现“输入超出文件尾”错误。因此,它是一 个很有用的函数。
(3)关闭文件
文件的读写操作结束后,应将文件关闭。这可以通过Close语句来实现。其格 式为:
Close [ [#]文件号] [, [#]文件号]…… Close语句用来结束文件的输入输出操作。例如,假定用下面的语句打开文件:
第9章 文件
9.1 文件及其基本操作 9.2 顺序文件 9.3 随机文件 9.4 二进制文件 9.5 文件系统控件 9.6 目录及文件操作
第9章 文件
所谓“文件”,是指记录在外部介质上的数据的集合。 例如用Word或Excel编辑制作的文档或表格就是一个文 件,文件通常放到磁盘、光盘、磁带等介质上。 Visual Basic具有较强的文件处理能力。它可以处理顺 序文件、随机文件和二进制文件,并且提供了与文件处 理有关的控件。
第9章 文件
9.1 文件及其基本操作
1 文件及文件结构 (1)文件名
完整的文件名又叫文件说明,文件说明的一般格式为: 设备名: 文件引用名 例如: A:myfile.frm (2)文件结构 为了有效地存取数据,数据必须以某种特定的方式存放,这种特定的
方式称为文件结构。不同的文件有不同的结构。 (3)文件的分类
Dim strLine As String On Error GoTo Errh Open "c:\vb\in.txt" For Input As #1 Open "c:\vb\out.txt" For Output As #2 MousePointer= vbHourglass
存取。 5) FileAttr函数 格式:FileAttr(文件号,属性) FileAttr函数返回打开文件的有关信息。格式中“文件号”的含义同前。“属
(3)关闭文件
文件的读写操作结束后,应将文件关闭。这可以通过Close语句来实现。其格 式为:
Close [ [#]文件号] [, [#]文件号]…… Close语句用来结束文件的输入输出操作。例如,假定用下面的语句打开文件:
第9章 文件
9.1 文件及其基本操作 9.2 顺序文件 9.3 随机文件 9.4 二进制文件 9.5 文件系统控件 9.6 目录及文件操作
第9章 文件
所谓“文件”,是指记录在外部介质上的数据的集合。 例如用Word或Excel编辑制作的文档或表格就是一个文 件,文件通常放到磁盘、光盘、磁带等介质上。 Visual Basic具有较强的文件处理能力。它可以处理顺 序文件、随机文件和二进制文件,并且提供了与文件处 理有关的控件。
第9章 文件
9.1 文件及其基本操作
1 文件及文件结构 (1)文件名
完整的文件名又叫文件说明,文件说明的一般格式为: 设备名: 文件引用名 例如: A:myfile.frm (2)文件结构 为了有效地存取数据,数据必须以某种特定的方式存放,这种特定的
方式称为文件结构。不同的文件有不同的结构。 (3)文件的分类
Dim strLine As String On Error GoTo Errh Open "c:\vb\in.txt" For Input As #1 Open "c:\vb\out.txt" For Output As #2 MousePointer= vbHourglass
存取。 5) FileAttr函数 格式:FileAttr(文件号,属性) FileAttr函数返回打开文件的有关信息。格式中“文件号”的含义同前。“属
Visual Basic程序设计第九章

2. 关闭文件——Close 语句
格式:
Close [filenumberlist]
其中: filenumberlist:可选项,为文件号列表, 如:#1, #2, #3, 例如: Close #1,#2,#3
如果省略,则将关闭Open语句打开的所有活动文件。
顺序文件的写操作
向文件写入内容使用 Print # 语句或Write#语句, 在程序是数据输出。
9.2.2随机文件
随机文件的打开与关闭
1.打开随机文件
格 式 : OPEN FileName FOR Random As filenumber [Len = reclength] 用OPEN命令以Random模式打开随机文件,同时指
出记录的长度。文件打开后,可同时进行读写操作。
例 如 : Open "d:\abc.dat" For Random Access Read As #1 Len = 20
9.1.3 文件访问类型
根据访问文件的方式将文件分成3类: 顺序文件、 1.顺序文件 顺序文件(Sequential File)是普通的文本文 件。顺序文件中的记录按顺序一个接一个地排列。读 写文件存取记录时,都必须按记录顺序逐个进行。一 行一条记录(一项数据),记录可长可短,以“换行” 字符为分隔符号。 结构简单; 但不能灵活存取,适用于不经常修改的文件 随机文件、 二进制文件
9.2 使用传统方法处理文件
在程序中对文件的操作,通常按3个步骤进行:
打开文件 关闭文件
读出或写入
9.2.1 顺序文件
1.打开顺序文件—— Open 语句 格式:Open FileName For [Input|Output| Append]
Visual Basic程序设计教程第09章

第9章 界 面 设 计 9.1 菜单的设计 9.2 工具栏的设计
9.3 对话框的设计
1
9.1 菜单的设计菜单Fra bibliotek以分成两种基本类型:
下拉式菜单,通常通过单击菜单标题打开。
弹出式菜单,通常通过在某对象上单击鼠标右
键打开。
2
9.1.1 下拉式菜单
1.下拉式菜单的结构
(1)主菜单:包括若干个主菜单标题。放在主菜 单栏中,一般用于对要执行的操作按功能进行分 组。不同功能的操作划分在不同的主菜单标题下。 每一个主菜单标题可以下拉出下一级菜单,称为 子菜单。
5
属 性 区
编 辑 区
菜 单 列 表 区
(1)属性区用于设置或修改菜单项的属性。 标题:即菜单控件的Caption属性,用于输入要 在菜单项中显示的文字,如“文件”、“编辑”、 “查看”等。
6
可以在一个字母前插入&符号,给菜单项定义 一个访问键。例如,定义某菜单标题为“文件 (&F)”,则在菜单中显示为“文件(F)”,F即为访 问键。 名称:即菜单控件的Name属性。
Clipboard.SetText Text1.SelText
文本放到剪贴板中
End Sub
12
Private Sub txtCut_Click()
Clipboard.Clear Clipboard.SetText Text1.SelText
' 剪切
' 清除剪贴板 ' 将文本框中选择
的文本放到剪贴板中
10
【例9-1】
设计菜单界面,
11
在菜单编辑器中完成了各菜单项的设置之后,单 击“确定”按钮关闭菜单编辑器。完成菜单设计。 向窗体上添加一个文本框Text1,录入适当的文字。 以下是“编辑”菜单下的各子菜单项的Click事件 过程:
9.3 对话框的设计
1
9.1 菜单的设计菜单Fra bibliotek以分成两种基本类型:
下拉式菜单,通常通过单击菜单标题打开。
弹出式菜单,通常通过在某对象上单击鼠标右
键打开。
2
9.1.1 下拉式菜单
1.下拉式菜单的结构
(1)主菜单:包括若干个主菜单标题。放在主菜 单栏中,一般用于对要执行的操作按功能进行分 组。不同功能的操作划分在不同的主菜单标题下。 每一个主菜单标题可以下拉出下一级菜单,称为 子菜单。
5
属 性 区
编 辑 区
菜 单 列 表 区
(1)属性区用于设置或修改菜单项的属性。 标题:即菜单控件的Caption属性,用于输入要 在菜单项中显示的文字,如“文件”、“编辑”、 “查看”等。
6
可以在一个字母前插入&符号,给菜单项定义 一个访问键。例如,定义某菜单标题为“文件 (&F)”,则在菜单中显示为“文件(F)”,F即为访 问键。 名称:即菜单控件的Name属性。
Clipboard.SetText Text1.SelText
文本放到剪贴板中
End Sub
12
Private Sub txtCut_Click()
Clipboard.Clear Clipboard.SetText Text1.SelText
' 剪切
' 清除剪贴板 ' 将文本框中选择
的文本放到剪贴板中
10
【例9-1】
设计菜单界面,
11
在菜单编辑器中完成了各菜单项的设置之后,单 击“确定”按钮关闭菜单编辑器。完成菜单设计。 向窗体上添加一个文本框Text1,录入适当的文字。 以下是“编辑”菜单下的各子菜单项的Click事件 过程:
精品课件-Visual Basic程序设计项目化案例教程-第9章

第9章 图形与图像
函数过程的格式: [Static][Public|Private] Function 参表])[As类型]
[语句序列] [函数名=表达式] [Exit Function] [语句序列] [函数名=表达式] End Function
函数过程名 ([形
第9章 图形与图像
说明: (1) 过程名命名规则和变量命名规则相同。过程名不能与 同一级别的变量重名,并且在一个程序中是唯一的。 (2) “语句序列”是Visual Basic的程序段。Exit Sub表 示退出子过程,Exit Function表示退出函数过程。 (3) “函数名=表达式”中,函数名是函数过程的名称。 表达式是函数过程的返回值。如果没有此语句,则函数过程返 回一个默认值,数值型函数返回0,字符型函数返回空字符串。 (4) 形参表中的形参类似于变量声明,用于接收调用过程 时传递过来的值。它指明了传递给过程的变量的个数和类型, 变量之间用逗号隔开。
第9章 图形与图像 图9-5
第9章 图形与图像
(2) 在“名称”文本框中输入过程的名称(过程名中不允 许有空格),在“类型”选项组中单击选中“子程序”或“函 数”单选按钮,在“范围”选项组中选取函数过程作用的范围, 有“公有的”和“私有的”两种。
(3) 单击“确定”按钮建立一个函数过程的框架,即过程 的开始和结束语句,用户可以在框架内部编写函数过程代码。
第9章 图形与图像
1) 自定义过程的分类 自定义过程分为子过程、函数过程和属性过程。 (1) 子过程 (Sub过程)不返回值。 (2) 函数过程(Function过程)返回一个值。 (3) 属性过程(ProPerty 过程)返回和设置窗体、标准模 块以及类模块的属性值,也可以设置对象的属性。 2) 自定义过程的定义方法 方法一:利用“工具”菜单下的“添加过程”命令定义。 (1) 在窗体或模块的代码窗口中选择“工具”菜单下的 “添加过程”命令,打开“添加过程”对话框,如图9-5所示。
《Visual Basic程序设计实用教程》 第9章

(2)在状态栏中显示图形。单击 “浏览”按钮,在弹出 的“选定图片”对话框中选择需要的图形文件,即可将 指定的图片添加到指定的窗格中。
(3)在状态栏中显示信息。设置 “样式”(Style)属 性可以显示需要的信息。
2020/1/11
综合举例
例9.4 综合举例。 设计具有菜单、工具栏和状态栏的窗体。
2020/1/11
例9.1 下拉式菜单示例。 设计一个窗体,在窗体中使用下拉式 菜单改变文本框内容的字体大小 Sub Form_MouseUp (Button As Integer, Shift As _Integer, X As Single, Y As Single)
下拉式菜单
用菜单编辑器可以创建新的菜单 在“工具栏”上单击“菜单编辑器”按钮,都会打开菜单编辑器
2020/1/11
在“标题”文本框中,为第一个菜单标题输入希望在菜单栏上显 示的文本。 在“名称”文本框中,输入将用来在代码中引用该菜单控件的名 字。 单击向左或向右箭头按钮,可以改变该控件的缩进级。 如果需要的话,还可以设置控件的其他属性。这个工作可以在菜 单编辑器中做,也可以在“属性”窗口中设置。 单击“下一个”按钮就可以再建一个菜单控件。单击“插入”按 钮可以在现有控件之间增加一个菜单控件。也可以单击向上与向 下的箭头按钮,在现有菜单控件之中移动控件。 如果窗体的所有的菜单控件都已创建,单击“确定”按钮可关闭 菜单编辑器。
度会自动伸展,直到填满 MDI窗体工作空间。 Align=1 (2)用CommandButton或Image控件来创建工具栏 按钮。工具栏(图片框)Image控件 (3)设置属性:显示一个位图。设置按钮的 ToolTipText属性来使用工具提示等。
2020/1/11
(3)在状态栏中显示信息。设置 “样式”(Style)属 性可以显示需要的信息。
2020/1/11
综合举例
例9.4 综合举例。 设计具有菜单、工具栏和状态栏的窗体。
2020/1/11
例9.1 下拉式菜单示例。 设计一个窗体,在窗体中使用下拉式 菜单改变文本框内容的字体大小 Sub Form_MouseUp (Button As Integer, Shift As _Integer, X As Single, Y As Single)
下拉式菜单
用菜单编辑器可以创建新的菜单 在“工具栏”上单击“菜单编辑器”按钮,都会打开菜单编辑器
2020/1/11
在“标题”文本框中,为第一个菜单标题输入希望在菜单栏上显 示的文本。 在“名称”文本框中,输入将用来在代码中引用该菜单控件的名 字。 单击向左或向右箭头按钮,可以改变该控件的缩进级。 如果需要的话,还可以设置控件的其他属性。这个工作可以在菜 单编辑器中做,也可以在“属性”窗口中设置。 单击“下一个”按钮就可以再建一个菜单控件。单击“插入”按 钮可以在现有控件之间增加一个菜单控件。也可以单击向上与向 下的箭头按钮,在现有菜单控件之中移动控件。 如果窗体的所有的菜单控件都已创建,单击“确定”按钮可关闭 菜单编辑器。
度会自动伸展,直到填满 MDI窗体工作空间。 Align=1 (2)用CommandButton或Image控件来创建工具栏 按钮。工具栏(图片框)Image控件 (3)设置属性:显示一个位图。设置按钮的 ToolTipText属性来使用工具提示等。
2020/1/11
Visual Basic程序设计教程 (9)

第9章 常用的内部控件
9.4.2 组合框
组合框(Combo)在下拉列表框中一组项目列表,组合框实际上是文本 框与列表框的组合,顶部的文本框允许用户键入数据。
1. 组合框常用的属性
名称:是创建的组合框对象的名称。 List、Columns、Sorted、ListIndex、ListCount、Text、Selected、
第9章 常用的内部控件
9.2 图像框
例9.2:创建一个窗体,使一个图像框在一定的时间间隔内, 输出不同的多个图形文件,模拟动画演示效果 。
演示 程序
第9章 常用的内部控件
9.3 单选钮与复选框
• 9.3.1 单选钮 • 9.3.2 复选框
第9章 常用的内部控件
9.3.1 单选钮
单选按钮(Option)是在一组单选按钮中选择其一,按钮 一旦被选中,“圆圈”中会出现一个黑点。
Scroll事件是当滚动滑块被重新定位,或滑块按水平方向滚动,
或滑块按垂直方向滚动时触发的事件。 Scroll事件与Change事件的区别在于:当滚动条控件滚动时Scro
1.常用的属性 名称:是创建的复选框对象的名称。
Caption属性、Alignment属性与单选按钮相同。
Value:标明复选框是否被选中。
2.常用的事件
Click事件是复选框控件最基本的事件。
第9章 常用的内部控件
9.3.2 复选框
例9.3:创建一个窗体,通过系统提供的不同餐馆的菜单,选择所 需的菜肴,并计算出所选菜肴的价格。
1.常用的属性 名称:是创建的单选按钮对象的名称。
Caption:单选按钮的显示标题。
Alignment:显示标题在单选按钮的哪一侧。 Value:标明单选按钮是否被选中。
精品课件-Visual Basic程序设计案例教程-第9章

第9章 VB与数据库
(3) 数据库运行、控制功能:提供数据安全性控制、数 据完整性控制、多用户环境的并发控制以及数据库恢复等功 能;
(4) 数据库维护功能:提供数据加载、转储、数据库重 组、性能分析与监控等功能;
(5) 数据字典:存放数据库结构的描述等信息; (6) 数据通讯功能:实现联机处理、分时处理、分布式 处理等功能。
第9章 VB与数据库
(3) 索引:它是加快数据库访问的一种手段,目的是实 现对数据行的快速、直接存取而不必扫描整个表。索引通常 对一个或多个列表创建,表的索引字段的每个值在索引中都 有一个入口,同时使用指针指向具有该值的数据行。
(4) 视图:它是一个与真实表相同的虚拟表,用于限制 用户可以看到和修改的数据量,从而简化数据的表达式。
第9章 VB与数据库
2.数据库技术的发展概况 数据库技术是数据处理的一种方法,它研究如何科学组 织和存储数据,如何高效地获取和处理数据,以及如何保障 数据安全和实现数据共享。数据处理技术的发展大致经历了 以下四个阶段: (1) 人工管理阶段:其主要特点是数据依赖于特定的应 用程序。
第9章 VB与数据库
第9章 VB与数据库
例如,个人地址簿和图书馆的目录卡片都是我们所熟悉 的数据库。
数据库中数据的组织形式有多种,按数据库使用的数据 结构模型划分,到目前为止,数据库可分为如下几种:
● 层次数据库:采用层次模型; ● 网状数据库:采用网状模型; ● 关系数据库:采用关系模型; ● 面向对象数据库:采用面向对象模型。
第9章 VB与数据库
图9.4 “选择要创建的Microsoft Access数据库”对话框
第9章 VB与数据库
(3) 选择新建的数据库要保存的目录后,在“文件 名”文本框中输入数据库的名称student,单击“保存” 按钮。“可视化数据管理器”即在指定的目录下创建了 名为student的Microsoft Access数据库,如图9.3所示。
Visual Basic程序设计案例教程第9章

3.调用函数过程
调用Function过程的方法和调用Visual Basic 6.0内部函数的方法一样,即在表达式中可以通过 使用函数名,并在其后用圆括号给出相应的参数 列表来调用一个Function过程。一般形式如下: 变量名=函数过程名([实参列表]) 被调用的函数过程可以作为表达式,也可以作 为表达式的一部分。 在例8-5中调用函数过程的语句是“Text3.Text = Fac2(m) / (Fac2(n) * Fac2(m - n))”。程序执行 时3次调用函数过程Fac2,返回值分别为m!、n!、 (m-n)!。
1.引例
例9-5 使用函数过程改写例9-3。
2.创建函数过程
建立函数过程和建立子过程类似,也有两种方法。 (1)直接在“代码”编辑窗口中输入过程代码,方法同子过程。 函数过程的完整定义格式如下: [Private|Public] Function <函数名>([<形参列表>]) [As 数据类型]函 数过程体 [局部变量和常数声明] <语句系列> [Exit Function] [<语句系列>] 函数名=表达式 End Function (2)使用“添加过程”对话框。
(2)按值传递传值。 按值传递简称传值,形参得到的是实参的 值,形参值的改变不会影响实参的值。形 参前加“ByVal”关键字的是按值传递 。
(2)实际参数简称实参,指在调用Sub或 Function过程时,写入子过程名或函数名后括号 内的参数,其作用是将他们的数据(数值或地址) 传送给Sub或Function过程与其对应的形参变量。 例9-7的Form2代码里的语句“text4.text = Format(aver(a, b, c), "0.0")” 中的a、b、c就是实 参。 在Form3代码里的语句“Call aver2(a, b, c, d)”中的a、b、c、d也是实参。
Visual Basic程序设计教程第九章 数据库应用技术

DataSource 属性,将其设定为 ADO 控件即可。
ADO 控件的操作
• 主要有以下4种操作:
使记录指针移到第一条记录; 使记录指针移到上一条记录; 使记录指针移到下一条记录; 使记录指针移到最后一条记录。
DataGrid 控件的操作
• PageUp键和PageDown键:可在记录集中前
利用ADO对象访问数据库
• 在使用 ADO 对象之前,需要在自己的工程中添加
对 ADODB 对象库的引用,否则,无法使用任何 ADO 对象。 • 方法是:
展开菜单【工程】【引用】; 在引用对话框中,找到并选择“Microsoft ActiveX Data Objects 2.x Library”。
查询数据
SQL 及其应用
• 对数据库的操作
插入记录 删除记录 修改记录 查询数据 select 姓名,所属部门,工资 from Employees where 所属部门='市场部'
本章内容安排
• 关系数据库及其应用 • 利用ADO控件访问数据库
ADO控件 DataGrid控件 ADO控件的操作 DataGrid控件的操作
本章内容安排
• 关系数据库及其应用 • 利用ADO控件访问数据库 • 利用ADO对象访问数据库
连接到数据库 操作数据库 利用查询结果
利用ADO对象访问数据库
• 我们需要更灵活地控制对数据库的访问。
• 实际开发都要使用ADO对象。当然,使用ADO对
象,意味着编程人员需要编写更多的代码。
ADO 控件和 DataGrid 控件
• 向工具箱添加ADO控件和DataGrid控件
Visual Basic程序设计教程第九章

• (2)键盘选择 • 菜单项可以用鼠标进行选择,也可以用 键盘进行选择。用键盘选择有两种方法 :快捷键(热键)和访问键。它们都在 设计菜单时直接指定。
7
9.1.2 下拉式菜单
• 下拉式菜单一般通过单击菜单标题,即 可出现下拉式菜单命令列表
8
9.1.3 菜单的Click事件
• 在Visual Basic中,每一菜单项甚至分隔 符都被看作一个控件。每一菜单项都要 响应某一事件过程。一般来说,菜单项 都响应鼠标单击(Click)事件,即每个 菜单项都拥有一个事件处理过程 Name_Click()。每当单击菜单项时, Visual Basic就调用Name_Click过程,执 行这一过程中的代码。
19
• ③ 设置ImageList控件属性窗口中“通 用”标签中的单选按钮16×l6,确定图 像的大小。选择“图像”标签 • ④ 单击“插入图片”按钮,将所需图形 的图形文件打开,则选中的图形将自动 的添加到图形对话框中,设置它们的索 引值分别为1,2,3,……。
9.2.1 ActiveX控件
• ActiveX控件以前被称为OLE控件。OLE 即对象链接与嵌入的意思,ActiveX控 件是指可以重复使用的编程代码和数据 。通过OLE技术用户在开发应用程序的 过程中,能够访问W1ndows环境中的其 他应用程序。
14
9.2.2 工具栏(ToolBar)
• 1.在标准工具箱中插入制作工作具栏所需 要的控件。 • 制作工具栏需要Toolbar(工具栏)控件和 ImageList(图像列表)控件。这两个控件 没有列在标准工具箱中,需要加进去。具 体方法是: • (1)选择“工程”菜单项中的“部件”选 项。 • (2)选择“部件“对话框中的“控件”选 15 项卡。
Visual Basic程序设计教程第9章

建立:
方法1:使用“添加过程”对话框 方法2:在代码窗口中直接键入 Sub “过程名”
பைடு நூலகம்
2017/7/7
2
9.1.2 调用Sub过程
用Call语句调用Sub过程:
Call 过程名[(实际参数)]
把过程名作为一个语句来使用
2017/7/7
3
9.2 Function过程
9.2.1 建立Function过程
12
8
9.3.4 数组参数的传送
当用数组作为过程的参数时,使用的是
“传地址”方式,而不是“传值”方式
为了把一个数组的全部元素传送给一个过
程,应将数组名分别放入实参表和形参表 中,并略去数组的上下界,但括号不能省 略
2017/7/7
9
9.4 对象参数
9.4.1 窗体参数 用窗体作为参数时,过程的格式为: Sub 过程名(形参表) 语句块 [Exit Sub] ...... End Sub
第9章 过程
Visual Basic中的通用过程分为两类,即子 程序过程和函数过程,前者叫做Sub过程, 后者叫做Function过程。本章介绍如何在 Visual Basic应用程序中使用通用过程。
2017/7/7
1
9.1 Sub过程
9.1.1 建立Sub过程
定义:
[Static][Private][Public] Sub 过程名[(参数表列)] 语句块 [Exit Sub] [语句块] End Sub
“形参表”中形参的类型为Form。 在调用时,只能通过传地址方式传送。
2017/7/7
10
9.4.2 控件参数
用控件作为参数时,过程的格式为: Sub 过程名(形参表) 语句块 [Exit Sub] ...... End Sub
《新编Visual Basic程序设计教程》第9章

程序运行时,单击窗体,首先出现一个输入对话框,要求输入矩形的长, 假设输入30,确定后又出现一个输入对话框,要求输入矩形的宽,假设输入 20,确定后出现运行结果如下图所示。
调用Sub过程求矩形的面积
函数过程由Function…End Function定义,也称为Function过程。与Sub 过程相比,Sub过程不直接返回值,作为独立的基本语句调用,而Function 过程要返回一个值,通常在一个表达式中被调用。
(3)单击“确定”按钮,回到模块代 码窗口,此时可以在Sub和End Sub之间键入 程序代码。
“添加过程”对话框
可以把Sub过程的调用当作是一句独立的调用语句,可以有两种调用形式:
Call 过程名[(实参表列)]
或 过程名 [实参表列]
前者用Call关键字,若有实参,必须用小括号括起来,无实参时小括号可省 略;而后者去掉了关键字Call,并且实参不需要用小括号括起来。实参也称实际 参数,是在过程被调用时写在过程名后面括号中的参数。且实参的数据类型必须 与定义过程时的形式参数一致。它的作用是把需要实际运算的数据传递给形式参 数。
把某功能定义为Sub过程还是Function过程,没有严格的规定,但Function 过程有返回值。定义Function过程时,要定义返回值的数据类型,同时在 Function过程体内可以对Function过程名赋值,该值就是这个函数的返回值。如 果在Function过程体内省略:
过程名=表达式
则该Function过程返回一个默认值(0或空字符串)。 例如,要编写用辗转相除法求最大公约数的函数,程序如下:
(1)选择“工程”菜单中的“添加模块”命令,打开“添加模块”对话
框,在该对话框中选择“新建”选项卡,然后双击“模块”图标,打开模块代 码窗口。
Visual Basic 程序设计教程第9章

表9.4
颜色对话框的标志属性 含 义
Flags属性值 1 2 4
使 Color 属性定义的颜色在首次显示对话框时显示出 来 打开的对话框,包括“自定义颜色”窗口 不能使用“规定自定义颜色”按钮
8
显示一个Help按钮
(3)“打印”对话框
“标志”属性用来设置对话框的一些选 项(注意,不同类型的对话框的“标志” 属性值和含义有所不同)。如Flags=0时, 将打印对话框中“打印范围”框架内的 “全部页”单选钮设置为缺省按钮。
Flags=1时将“选择的范围”单选钮设 置为缺省按钮。Flag=2时将“页数”单选 钮设置为缺省按钮。 “起始页”和“终止页”指定从第几页 打印到第几页(如果要设此两属性,“标 志”属性值必须定为2)。
(4)“帮助”对话框
当通用对话框的Action属性值为6时, 通用对话框作为帮助对话框用。其属性页 如图9.12所示。
图9.12
帮助对话框属性页
二.菜 单 设 计
1.菜单编辑器的使用
2.菜单项的控制
在应用程序中,菜单的作用可能因执 行条件的变化而相应的发生一些变化。这 就是菜单的控制问题。
(1).有效性控制
有些命令在执行时需要一定的条件, 例如,只有剪贴板上保存有信息,“粘贴” 命令才能执行,否则该命令是灰色的,不 能执行。这时,“粘贴”命令失效。
法
ShowOpen ShowSave ShowColor ShowFont
5
6
打印(Print)
帮助文件(Help)
r
ShowHelp
2.通用对话框的使用
(1)文件对话框:
① 对话框标题:
用来给出对话框的标题内容,缺省值 为“打开”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RGB(255,0,0)
RGB(0,255,0) RGB(0,0,255) RGB(0,0,0) RGB(255,255,0) RGB(255,255,2 55) RGB(0,255,255) RGB(255,0,255)
红
绿 蓝 黑 黄 白 深红 浅蓝
实验 绘图方法的使用
一、实验目的
1.了解VB标准坐标系的特点。 2.掌握建立图形坐标系的方法。 3.掌握与绘图相关的属性、事件。 4.掌握画点、画线或框、画圆或弧的基本方法。 5.掌握简单动画的设计方法。
ScaleMode属性值与对应的度量单位 单位 User用户定义 Twip(缇) Point(磅) Pixed(像素) Character(字符) Inch(英寸) Millimeter(毫米) Centimeter(厘米) 1英寸=25.4mm 1英寸=2.54cm 默认值,1英寸=1440 缇 1英寸=72磅,1磅=20 缇 由显示器分辨率决定 高12磅,宽20磅 说明
2.参考程序代码
【例题9.2】 显示Shape控件的6种形状,采用不同的线
型和填充图案。
1.分析:在窗体上先放置一个shape控件,然后通 过单选按钮控件组,选择不同的选项来改变其形状。其 线型和填充图案,同样利用单选按钮的索引值来进行改 变。 2.界面设计如图9.2所示,其属性设置如表9.6所示 。
FillStyle属性表
设置值
0 1 2 3 4 5 6 7
描述
实线 (缺省值)透明 水平直线 垂直直线 上斜对角线 下斜对角线 十字线 交叉对角线
4.绘图方法
5.颜色使用 在程序运行时,有4种方式可以指定颜色值。
(1)使用RGB函数。 (2)使用QBColor函数。
(3)使用在“对象浏览器”中列出的一个内部常数。
VbInvisible
VbInsideSolid
5
6
Байду номын сангаас
无线
内收实线
表9.3
常数
VbFSSolid VbFSTransparent VbHorizontalLine VbUpwardDiagonal VbUpwardDiagonal VbDownwardDiagonal VbCross VbDiagonalCross
5
品红
11
亮青
表9.5 颜色常数
常用的颜色常数及对应的值 设置值 RGB函数 颜色
VBRed
vbgreen vbBlue vbBlack VBYellow vbwhite vbmagenta vbcyan
&HFF
&HFF00 &HFF0000 &H0 &HFFFF &HFFFFFF &HFF00FF &HFFFF00
3.参考程序代码 4.程序运行界面如图9.3所示。
图9.3 程序运行界面
【例题9.3】 在窗体上画出圆弧、扇形、圆和椭圆。
1.分析 本题旨在练习Circle方法的使用,改变其参数能够得 到不同的形状。
2.参考程序代码
程序运行效果如图9.4所示。
图9.4 运行结果图
【例题9.4】 编写程序:模拟地球绕太阳旋转的运动效 果。程序运行结果如图9.5所示。
2.自定义坐标系 3.绘图属性 CurrentX和CurrentY:返回或设置对象的当前绘图位置; DrawWidth和DrawStyle:返回设置图形方法输出的线宽 和线型;
FillStyle和FillColor:设置封闭图形的填充方式;
ForeColor和BackColor:设置绘图的前景颜色和背景颜色;
AutoRedraw:用于显示处理,决定是否自动重绘窗体或者控 件。 DrawStyle属性如表9.2所示,FillStyle属性如表9.3所示。
表9.2 常数 VbSolid VbDash VbDot VbDashDot VbDashDotDot
DrawStyle属性表 设置值 0 1 2 3 4 描述 (缺省值)实线 虚线 点线 点划线 双点划线
二、实验示例
【例题9.1】在窗体上绘制−~的正弦函数 y=sin(x)的曲线,如图9.1所示。
图9.1 −~的正弦曲线图
1.分析 可以在系统坐标系中画线,也可以在自定义坐标系中 画线,两者有不同的优缺点。任何时候在程序代码中使用 Scale方法都能有效地和自然地改变坐标系统。当Scale方 法不带参数时,则取消用户自定义的坐标系,而采用默认 坐标系。绘制图形遵循以下4个步骤:首先定义图形载体 窗体对象或图形框对象的坐标系;其次设置线宽、线型、 色彩等属性;然后指定画笔的起点、终点位置;最后调用 绘图方法绘制图形。
(4)直接输入一个颜色值。
颜色码与颜色对应关系如表9.4所示,常用的颜色 常数及对应的值如表9.5所示。
表9.4 颜色码 0 1 2 3 4 颜色 黑 蓝 绿 青 红
颜色码与颜色对应表 颜色码 6 7 8 9 10 颜色 黄 白 灰 亮蓝 亮绿 颜色码 12 13 14 15 颜色 亮红 亮品红 亮黄 亮白
第9 章 图形操作
1
1 2
知识要点
实验 绘图方法的使用
2
知识要点
1.坐标系统
每个容器都有一个坐标系。构成一个坐标系,需要3个要素 :坐标原点、坐标度量单位、坐标轴的长度与方向。坐标度量 单位由容器对象的ScaleMode属性决定,ScaleMode属性值与对 应的度量单位如表9.1所示。
3
表9.1 属性值 0 1 2 3 4 5 6 7
图9.5 地球绕太阳旋转的模拟图
地球围绕太阳旋转的椭圆方程为
X x0 rx*cos(alfa) Y y0 ry*sin(alfa)
其中x0、y0为椭圆圆心坐标,rx为水平半径,ry为 垂直半径,alfa为圆心角。
1.界面设计
在窗体上放置2个合适大小的形状控件Shape1、Shape2 和一个定时器控件。其中Shape1表示太阳,放在窗体正中 央。Shape2表示地球。这些控件的属性设置如表9.7所示。
图9.2 界面设计图
表9.6 类型 Shape 对象名 Shape1 Option1 Option1 单选按钮 Option1 Option1 Option1 Option1 窗体 Form1
各控件属性 属性 Index Index Index Index Index Index 属性值 0 1 2 3 4 5