Visual Basic程序设计实践教程的第11章

合集下载

Visual Basic 程序设计教程第11章

Visual  Basic 程序设计教程第11章

坐标度量单位由容器对象的ScaleMode 属性决定,一共有8种单位形式,它的默认 值为twip,每英寸1 440个twip,20个twip 为1磅,这一度量单位规定的是对象打印时 的大小,屏幕上的实际物理距离可因显示 器尺寸而异。
设置ScaleMode属性只是改变了容器对 象的度量单位,而度量属性ScaleHeight、 ScaleWidth能确定对象内部水平方向和垂 直方向的单元数(即实际高度),VB会重 新定义对象坐标度量属性ScaleHeight和 ScaleWidth 以便使他们与新刻度保持一致。
4.Shape(形状
Shape控件可以用来画矩形、正方形、 椭圆、圆、圆角矩形及圆角正方形。 Shape控件刚被放到窗体时显示为一个 矩形,通过Shape属性可确定所需要的几何 图形,FillStyle属性为形状控件指定填充 的图案,也可利用FillColor属性为形状控 件着色。
图形框对象.Picture=LoadPicture(" 图形文件名")
2.Image(图像框)
在窗体上使用图像框容器。
图像框没有Autosize属性,但它有 Stretch属性。它的Stretch属性为False时, 图像框可以自动改变大小以适应其中的图 形的大小。Stretch属性为True时,加载到 图像框的图形可自动调整尺寸以适应图像 框的大小。
VB根据给定的坐标参数计算出 ScaleLeft,ScaleTop,ScaleWidth, ScaleHeight的值: 如:ScaleLeft=xleft ScaleWidth=xright-xleft ScaleTop=ytop ScaleHeight=ybotton-ytop
2.图形层
VB在构造图形时,在3个不同的屏幕层 次上放置图形的可视组成部分,就视觉效 果而言,最上层离用户最近,而最下层离 用户最远。

计算机基础与Visual Basic程序设计(第三版)第十一章 文件

计算机基础与Visual Basic程序设计(第三版)第十一章 文件
第11章
数据文件
本章内容及要求:
1.掌握VB中文件的概念、种类及其结构; 2.掌握顺序文件的操作:打开、读/写、关闭; 3.掌握随机文件的操作:打开、读/写、关闭; 4.了解二进制文件的操作。 5.了解与文件操作有关的一些语句
第11章 数据文件
本章重点:
顺序文件的操作:打开、读/写、关闭; 随机文件的操作:打开、读/写、关闭;
11.3 文件操作语句和函数
与读文件操作有关的几个函数
(1)Lof 函数
LOF函数将返回某文件的字节数。例如,LOF(1)返回#1文件的长度,
如果返回0值,则表示该文件是一个空文件。 (2)Loc 函数
Loc函数将返回在一个打开文件中读写的记录号;对于二进制文件,
它将返回最近读写的一个字节的位臵。 (3)Eof 函数
11.2 文件概述
文件是存储在外部介质(如磁盘)上的以文件名标识的数据的集 合。通常由一组存放在磁盘上的相关字节组成。当应用程序要访问文 件时,必须自己决定文件中字节的意义(比如,表示字符、数据记录、 整数、字符串等等)。 存储在磁盘上的文件称为磁盘文件,与计算机相连的设备称为设备 文件。这些文件都不在计算机内,统称为外部文件。
1.顺序文件
顺序文件(Sequential File)是普通的文本文件。顺序文件中的记 录按顺序一个接一个地排列。读写文件存取记录时,都必须按记录顺序逐个 进行。一行一条记录(一项数据),记录可长可短,以“换行”字符为分隔 符号。
记录 1 记录 2 …… 记录 N 文件结束标志
二、文件分类
2.随机文件
11.1 文件系统控件
说明: 要使驱动器、目录和文件列表框同步显示,那么就需要编
写代码才能使它们之间彼此同步。

精品课件-Visual Basic程序设计项目化案例教程-第11章

精品课件-Visual Basic程序设计项目化案例教程-第11章

第11章 文件
4.程序代码调试 输入程序代码后,完成程序代码的调试和修改。 四、探索与思考 (1) 本案例中文件列表框只能显示文本文件,如果要显示 所有文件,则应如何修改程序? (2) 如果要在Text2中只显示5个字符,则该如何修改程序?
4.打开文件的Open语句 在对文件进行任何操作之前,必须先打开文件,同时通知 操作系统对文件进行读操作或写操作。打开文件的命令是 Open,其语句格式为: Open 文件名 For 模式 As [#]文件号 [Len=记录长度]
第11章 文件
说明: (1) 文件名可以是字符串常量(需加引号),也可以是字符 串变量。 (2) “模式”为下列3种形式之一: Output,对文件进行写操作。 Input,对文件进行读操作。 Append,在文件末尾追加记录。 (3) 文件号是一个介于1~511之间的整数。当打开一个文 件并给它指定一个文件号后,该文件号就代表这个文件,直到 文件被关闭后,此文件号才可以在被其他文件使用。
第11章 文件
6.读文件的语句和函数 1) Input #文件号,变量列表 该语句的功能是从文件中读出数据,并将读出的数据分别 赋给指定的变量。 2) Line Input #文件号,字符串变量 该语句的功能是从文件中读出一行数据,并将读出的数据 赋给指定的字符串变量。读出的数据中不包含回车符及换行符。 3) Input $(读取的字符数,#文件号) 该语句的功能是可以读取指定数目的字符。
例如: File1.ListIndex=2 此语句表示选中文件列表框中的第三项。 2) 常用事件 (1) PathChange事件。当文件列表框的Path属性改变时 触发该事件。 (2) PatternChange事件。当文件列表框的Pattern属性 在程序代码中被改变时触发该事件。

Visual Basic 程序设计VB11

Visual Basic 程序设计VB11

键盘事件
三个键盘事件 1、keypress事件 当按下一个ASCII码的键时,引发该事件 Sub<object>_keypress(keyascii as integer) 2、keydown事件 焦点位于对象,键盘按任一键 Sub <object>_keydown(keycode as integer,shift as integer) 3. keydown事件 焦点位于对象,键盘按键后松开 Sub <object>_keyup(keycode as integer,shift as integer)
MDI特性
属性、方法和事件 1、mdichild属性 为true时,该窗体为子窗体,否则为mdi 窗体 2、arrange方法 格式:mdi窗体名.arrange 方式 方式取0,1,2,3 3、queryunload 事件 在关闭窗体或结束应用程序之前发生。
MDI特性
Dim语句和windowstate属性 1、dim 语句的新用法 可以用来在mdi窗体中增加一个子窗体 如:dim achild as new form1 achild.show 2、windowstate属性 设置窗口的操作状态 取值0,1,2
鼠标其他事件
鼠标的事件 1. Click 2. Dblclick 3. Mousedown 4. Mouseup 5. Mousemove
绘图简单操作命令
1、画点 PSet (2000, 400), vbRed 2、画直线 Line (500, 500)-(2000, 2000), vbRed Line (500, 500)-(3000, 3000), vbRed, B ‘方框 Line (300, 300)-(1000, 1000), vbRed, BF ‘方块 3、画圆 Circle (1200, 1000), 750, vbBlue Circle (1600, 2200), 750, vbGreen, -pi / 2, -pi / 3 ‘弧 Circle (1800, 2200), 750, vbRed, , , 1 / 3 ‘椭圆

Visual Basic程序设计教程第十一章

Visual Basic程序设计教程第十一章
14
• (2)QBColor函数 • QBColor函数QuickBasic所使用的16种 颜色,其函数格式为: • QBColor(x)
15
• (3)用长整型代码 • RGB函数与QBColor函数实际上都返回 一个十六进制的长整数。这个数从左到 右,每2位一组代表一种基色,它们的 顺序是蓝绿红。因此也可直接使用6位 的十六进制颜色代码。在色彩的属性设 置框中可以看到这些代码(例如 &H000000&表示黑色,&H0000FF&表 示红色等)。 16
2
• vb使用的度量单位
符号常量
vbUser vbTwios vbPoints vbPixels
vbCharact ers vbInches vbMilimet ers vbCentime ters
设置 值 0 1 2 3 4 5 6 7


自定义值 缇(Twip),缺省值,1cm=567Twip 磅,1镑=20缇 像素点,监视器或打印机分辨率最小的 单位 字符,水平 1 个单位 =120 缇,垂直 1 个单 位=240缇 英寸 毫米
• 2.DrawWidth(线宽)属性 • 窗体、图片框或打印机的DrawWidth属 性给出这些对象上所画线的宽度或点的 大小。 • DrawWidth属性格式: • [对象.]DrawWidth [=n] • 功能:设置容器输出的线宽。
9
• 3.DrawStyle(线型)属性 • 窗体、图片框或打印机的DrawStyle属性 给出这些对象上所画线的形状
11
• 5.FillStyle和FillColor属性 • 封闭图形的填充方式由FillStyle和 FillColor属性决定。 • FillColor属性指定填充图案的颜色,缺 省的颜色ForeColor相同。FillStyle属性 指定填充的图案,共有8种内部图案

Visual Basic 2005程序设计教程chap11简明教程PPT课件

Visual Basic 2005程序设计教程chap11简明教程PPT课件

清华大学出版社
11.2建立Web应用程序的运行环境
11.2.2 管理Web服务器的目录 2. 权限
访问权限用于确定给定目录的访问类型,并说明包含于目录中的文件 的允许权限。共有以下几类:脚本资源访问、读取、写入、浏览目录。 执行权限用于确定在包含于指定目录中的页面上允许执行什么级别的 程序。这里有3 种可能的值: 无、纯脚本、脚本和可执行文件。
Visual Basic 2005程序设计教程 AutoCAD计算机辅助设计
清华大学出版社
11.2建立Web应用程序的运行环境
11.2.1 安装IIS Web服务器
(1)IIS的作用 (2)不同的操作系统IIS的版本号。 (3)IIS的安装步骤 (4)打开IIS (5)关闭IIS
Visual Basic 2005程序设计教程 AutoCAD计算机辅助设计
Visual Basic 2005程序设计教程 AutoCAD计算机辅助设计
清华大控件 11.5.2 DataList控件
DataList Web服务器控件以某种格式显示数据,这种格式可以使用 模板和样式进行定义。DataList控件可用于任何重复结构中的数据,如 表。DataList控件可以以不同的布局显示行,如按列或行对数据进行排 序。 使用DataList控件时,必须将该控件绑定到数据源。最常用的数据 源是数据源控件,如SqlDataSource或ObjectDataSource控件。或者, 可以将DataList控件绑定到任何实现IEnumerable接口的类。
Visual Basic 2005程序设计教程 AutoCAD计算机辅助设计
清华大学出版社
11.3 VB 2005在开发Web应用程序时的作用 10.3.1 Connection 对象

《VisualBasic程序设计基础与实训教程》第11章程序调试出错处理与发布精品PPT课件

《VisualBasic程序设计基础与实训教程》第11章程序调试出错处理与发布精品PPT课件
1 编译错误
编译错误是指程序在编译过程中出现的
错误,是由于不正确编写代码而产生的。
例如:键入的关键字错误、对象名称写
错、对象的属性名、方法名,内部函数
名写错、缺少必要的标点符号、语句结
构缺少结束语句等。这类错误当Visual
Basic开始运行时会弹出一个子窗口,提
示出错信息,且将出错位置用反色显示, 如图11.1所示。用户必须单击按钮,关
单击启动按钮或单击【运行】|【启动】命令或按F5 键,都会使应用程序切换到运行模式。
单击【调试】|【逐过程】命令或单击【调试】|【逐语 句】命令,都会使应用程序切换到中断模式。
11.2 程序的三种工作模式
2 运行模式
运行模式代表程序处于运行阶段,只能查看代码,不 能修改代码。在此种模式下,用户可以看到程序执行时 的实际效果,能够真正与程序进行交互式交流。
11单击【视图】|【工具栏】|【调试】命令,或者在Visual Basic工具栏上单击鼠标右键,从快捷菜单中选择【调试】 选项,都可以打开【调试】工具栏,中断模式下的【调试】 工具栏如图11.4所示。
逐语句
跳出
立即窗口 快速监视
切换断点
逐过程 本地窗口
调用堆栈 监视窗口
如果变量b的值为零,除法就是非法操作,尽管语句本 身的语法是正确的。运行时就会弹出一个如图11.2所示 的子窗口,提示出错信息。
图11.2 运行时错误提示窗口
11.1 错误类型
3 逻辑错误
当应用程序未按预期方式执行时会产生 逻辑错误。这类错误从语法角度来看, 应用程序的代码可以是有效的,在运行 时也没有执行无效的操作,但是产生的 结果与预期的不同。这种错误是最复杂 的,不会产生错误提示信息,因此错误 较难排除,只有根据程序的运行结果与 具体问题同时分析,才能检测出来。

Unit11Visual Basic程序设计

Unit11Visual Basic程序设计

a为椭圆的长半轴、b为椭圆的短半轴
当a = b 时,椭圆变成圆
练习一
定义的Graphics对象G,将坐标系原点平移至图片框PictureBox1中心,
以此为新坐标系的原点,绘制直角坐标系、绘制一个长为200、宽为 100像素的长方形和长半轴为100、短半轴为50像素的椭圆。
G = PictureBox1.CreateGraphics Dim x0, y0 As Single x0 = PictureBox1.Width / 2 y0 = PictureBox1.Height / 2 G.TranslateTransform(x0, y0) Dim P1 As New Pen(Color.Black) Dim P2 As New Pen(Color.Blue) Dim P3 As New Pen(Color.Red) G.DrawLine(P1, -200, 0, 200, 0) G.DrawLine(P1, 0, -150, 0, 150) G.DrawRectangle(P2, -100, -50, 200, 100) G.DrawEllipse(P3, -100, -50, 200, 100)
三、绘图方法-矩形
绘制矩形
Graphics对象.DrawRectangle( pen, x, y,宽,高)
Graphics对象.FillRectangle( brush, x, y,宽,高)
注:
pen:画笔
brush:画刷 x, y为矩形左上角坐标
(x,y)
三、绘图方法-椭圆
三、绘图方法-清除
画布清除
Graphics对象.Clear(颜色)
练习四、清除图形
清除在图形框中所画图形,并设置为白色

VisualBasicNET从基础到项目实战课件11程序出错了怎么办调试错误处理与异常

VisualBasicNET从基础到项目实战课件11程序出错了怎么办调试错误处理与异常

11.3.2 结构化异常处理
结构化异常处理是用 Try...Catch...Finally...End Try语 句实现的。
Try
' 能够引发一个异常的代码
Catch
' 处理异常的代码
Finally
' 实现清理工作的代码(如关闭数据库连接等)
End Try
Try和End Try语句都是必需的。Catch 和Finally语句可以共同使用于一个Try 块中,但是必需至少使用其中之一。
Dim o As object = Nothing
o.ToString( ) 当与非托管代码或不安全的 托管代码互操作时或者使用 无效指针时发生 从基础集合移除Item后调用 Enumerator.GetNext( )
ArgumentNullException
ArgumentOutOfRangeExce ption
MessageBoxButtons.OK, MessageBoxIcon.Error)
17
End Try
18 End Sub
捕获DivideByZeroException异常
运行结果
正常情况
运行结果
捕获InvalidCastException异常
运行结果
捕获System.DivideByZeroException异 常
其余可能的异常怎么办?
增加一个catch块:
◦ Catch ex3 As Exception ◦ MessageBox.Show(ex3.Message, "发生其
他异常", MessageBoxButtons.OK, MessageBoxIcon.Error)
◦ 这样其他类型的异常也都可处理了。

《新编中文Visual Basic 6.0基础操作教程》第11章

《新编中文Visual Basic 6.0基础操作教程》第11章

新编中文Visual Basic 6.0基础操作教程
语法及编译错误是由于不正确的使用代码造成的,如输入 关键字不正确、函数或过程调用方式不正确、循环语句
For…Next不配套等,这些错误非常容易发现并排除。VB有自
动语法检查功能,如果出现语法错误会提醒用户注意。要使用 这个功能,单击“工具”→“选项”命令,在弹出的“选项” 对话框中单击“编辑器”标签,选中“自动语法检测”复选框, 单击“确定”按钮即可。
错误,这种错误是可以捕获的,即可以由VB检测出来,要处理
这些错误需要使用VB的错误处理语句。
新编中文Visual Basic 6.0基础操作教程
逻辑错误是所有由于对程序如何运行的错误理解而导致的 错误,它使程序产生不正确或是与预期结果不同的结果。逻辑 错误不能被VB检测出来,然而却在所有错误中占据很大的一个 比例,这种错误非常隐蔽,也是程序调试中最难发现和处理的。 程序开发人员必须使用VB提供的各种调试工具找到出错的地方,
GoTo 语句后面的标号后不能加冒号。
如果要关闭错误捕获,只需要使用On Error GoTo 0语句就 可以了。
新编中文Visual Basic 6.0基础操作教程
二、Resume语句 在错误处理程序段中,处理了错误之后需要决定程序下面 的动作,这可以使用Resume语句来完成。VB中提供的Resume, Resume Next和Resume Line语句在此统称为Resume
语句。
当程序中出现了一个可捕获的错误后,Resume语句将返回 到出错语句处执行,即允许用户再尝试引进错误的操作。例如, 当用户打开一个文件出错时,可以使用该语句使用户再次尝试 打开文件的操作。
新编中文Visual Basic 6.0基础操作教程

916031-Visual Basic大学应用教程-VB课件第11章

916031-Visual Basic大学应用教程-VB课件第11章

11.2.1 打包应用程序
④ 添加其他文件 。 ⑤ 选择发布类型。
6
VB程序设计与数据库应用
11.2.1 打包应用程序
⑥ 指定安装标题。 ⑦指明要建立的图标组和图标。 ⑧选择安装位置。
7
VB程序设计与数据库应用
11.2.1 打包应用程序
⑨设置共享文件 。 ⑩ 脚本与报表 。
8
VB程序设计与数据库应用
11.2.2 发布应用程序
①选择一个要发布的包 。 ② 选择发布的方法。
9
VB程序设计与数据库应用
11.2.2 发布应用程序
③ 选择发布应用程序的媒体
④脚本名称
10
VB程序设计与数据库应用
11.2.3 管理脚本
“管理脚本”选项可以完成如下功能: 查看所有打包或部署脚本的列表。 重命名一个脚本。 创建一个具有新名字的脚本副本。 删除不再需要的脚本。
11
VB程序设计与数据库应用
11.3 运行安装程序
确保在一台没有VB及应用程序所需的任何 ActiveX控件的机器上测试安装程序。还应该 在所有可用的操作系统上测试该安装程序。
12
VB程序设计与数/删除程序”来 卸载应用程序。
13
VB程序设计与数据库应用
第11章 发布Visual Basic应用程序
11.1 设置工程的版本信息 11.2 应用程序的打包和发布 11.3 运行安装程序 11.4 卸载应用程序
1
VB程序设计与数据库应用
11.1 设置工程的版本信息
通过在“工程属性”对话框中设置一些属性来 告诉用户一些重要的信息
2
VB程序设计与数据库应用
11.2 应用程序的打包和发布
打包和发布向导提供了三个选项:

《Visual Basic程序设计实用教程》 第11章

《Visual Basic程序设计实用教程》  第11章

2020/1/11
例如: Select * from MyStudent Where
Age>20 and sex='Male'Order By Age
2020/1/11
1.Between和In Between和In运算符的格式如下: (域名称)Between(值1)and(值2) 该语句表示只返回值1和值2之间的记录。 (域名称)In (值1, 值2, …) 该语句表示只返回域为括号中的数值之
一的记录,可以在括号中指定多个元素。
2020/1/11
2.日期表示方法 日期是采用#date#格式表示的。date指 定为美国日期格式(月/日/年)。
2020/1/11
Like运算符 Like是最强大也是最复杂的SQL运算符之一,
它可以用样式字符串选择行。 * 任何字符集 ?任一字符 # 任一数字 [.]方括号中的一个字符 [!] 不在方括号中的一个字符
子句是用来修改条件的,下面列出了可用的子句。
l
FROM:用来为从其中选定记录的表命名;
l
WHERE:用来指定所选记录必须满足的条件;
l
ORDER BY:用来按特定的次序将记录排序;
GROUP BY:用来将选定的记录分成特定的组。
2020/1/11
运算符
运算符 描述
运算符
<
小于
=
<= 小于等于
<>
>
பைடு நூலகம்大于
>= 大于等于
Between和In 用来指定值的范围
Like
在模式匹配中使用
描述 等于 不等于
2020/1/11
函数
l
AVG:用来获取特定字段的值的平均数;

Visual Basic 程序设计案例教程第11讲

Visual Basic 程序设计案例教程第11讲

Function过程
• Function过程的定义
– Function过程定义的格式为 [Static][Private][Public]Function函数名([形 参表]) [As类型] [语句块] [函数名=表达式] [Exit Function] [语句块] End Function
Function过程
参数传送
• 传地址 【例8.5】编写程序,试验引用方式传送参数。 Sub tryout(x As Integer ,y As Integer) x=x+100 y=y*6 Print "x=";x, "y=";y End Sub Sub Form_Click() Dim a As Integer, b As Integer a=10:b=20 tryout a,b Print "a=";a, "b=";b End Sub
• Function过程的定义
– 说明: (1) Function过程以Function开头,以End Function结 束,在两者之间是描述过程操作的语句块,即“过程 体”或“函数体”。 (2) 函数名即函数过程的名称,命名规则与变量相同。 (3) 表达式的值是函数返回的结果,通过赋值语句将其赋 给函数名。 (4)不能在事件过程中定义通用过程(包括Sub过程和 Function过程),只能在事件过程内调用通用过程。
Sub过程
• Sub过程的建立
– 定义Sub过程
• 说明: (4) 过程名:命名规则与变量命名规则相同。 (5) 形参表:含有在调用时传送给该过程的简单变量 名或数组名,各参数名之间用逗号隔开。 (6) Exit Sub语句表示立即退出过程,一般出现在选 择结构中。 (7) End Sub标志着Sub过程的结束。 (8) Sub过程不能嵌套定义。

Visual Basic程序设计11项目十一

Visual Basic程序设计11项目十一
课题序号
11
授课班级
4321
授课课时
2
授课形式
理实一体
授课章节
名称
项目十一
使用教具
机房、多媒体教学
教学目的
掌握单行条件语句的结构、执行过程及使用方法,掌握Loadpicture函数的使用方法
教学重点
单行条件语句的结构、执行过程及使用方法
教学难点
语句的执行过程
更新、补
充、删节
内容
课外作业
教学后记
授课主要内容或板书设计
1新建一个名为prjsmile.vbp的工程
2设计prjsmile.vbp工程的界面
3设置窗体及按钮、图像框、计时器的属性
4编写窗体、计时器和按钮的代码
5保存prjsmile.vbp工程
6运行、调试程序(可生成可执行文件)
课堂教学安排
教学过程
主要教学内容及步骤
项目分析项目分解教源自演示项目描述:在窗体上显示一个不停转动的笑脸。
任务五:保存工程
任务六:运行、调试程序(可生成可执行文件)
项目分析:笑脸的转动其实就是多张照片的展示。利用计时器控制开始和停止,利用IMAGE框来存放图片。
项目实施:根据任务单的安排完成任务。
任务一:新建一个名为prjsmile.vbp的工程
任务二:设计prjsmile.vbp工程的界面
任务三:设置窗体和按钮、图像框、计时器的属性
任务四:编写按钮的代码
任务实施:在代码窗口中键入下列代码:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图11.1
编译错误
“自动语法检测”是VB默认的选项设置。如果需要修改 该选项,可以选择“工具”菜单中的“选项”,在弹出的对 话框的“编辑器”选项卡中改变“自动语法检测”设定。
在程序中不恰当地使用变量,也会引发编译错误。 按照VB的规定,变量可以不经声明而直接使用,此时变 量具有默认的Variant类型,对较小的程序而言这通常 不会带来麻烦,但当程序规模较大时,变量的使用混乱 可能造成错误,且不易被发现。
图11.5 在断点处中断运行
选择“运行”菜单中的“继续”,程序可以继续执行 ,直到程序结束或再次遇到断点。 通过观察变量或表达式的当前值,了解其在代码前后 的变化情况,就可以发现许多存在的问题和错误。某些 错误是由于输入代码时的疏忽造成的,例如写错了变量 名称、使用了对象不支持的属性或方法等,因为在中断 模式下可以直接修改代码,所以这类错误很容易得到更 正。当更正或改变了代码后,继续运行程序便可以验证 问题或错误是否得到了解决或纠正。
“立即”窗口是调试程序时使用最多的窗口。它最 容易使用,功能也最强。使用该窗口可以实现以下功 能。
设置运行断点通常有两种方法。
(1)在代码窗口中单击最左边的灰色区域,使之出现 一个棕色“●”标志,对应的代码行被同时加亮,则此 处便设置了一个断点。
(2)将光标移动到要设置断点的代码行,打开“调 试”菜单,选择“切换断点”,亦可设置一个断点。如 图11.4所示,设置了两个断点的情况。
图11.4
2.使用调试窗口 有些问题和错误往往需要通过对数据的变化进行分析 才能发现。当程序处于中断模式下时,可以使用3个调试 窗口来监视变量或表达式的值,它们是:“立即”窗口、 “监视”窗口和“本地”窗口。打开它们的菜单命令均位 于“视图”菜单下。
(1)“立即”窗口 “立即”窗口显示正在调试的代码产生的信息。可 以直接在该窗口中键入命令请求这些信息,如图11.6所 示,也可以在程序中使用Debug.Print语句输出某些变 量和表达式的值到“立即”窗口。
例如,将“示例程序”中第4行循环语句改为: For i = 0 To 10 则VB编译时不会发现其中的错误,而且还能够生成可 执行程序(.EXE),但在运行中会出现图11.3所示的错误 信息。
图11.3 运行异常错误
运行异常错误会导致程序突然异常终止而无法恢复
运行,为了避免这种情形的出现,在代码中可以用VB的 错误处理语句捕获并中断错误,转而执行正确的操作。
示例程序”中,如果 在输入第5行时,将InputBox函数的参数中第2个双引号 误输成中文双引号,即第5行变为: a(i) = Val(InputBox("输入一个整数”))
则当运行程序时就会出现编译错误,VB自动检测到该 错误并弹出错误信息,如图11.1所示。 “自动语法检测”是VB默认的选项设置。如果需要修 改该选项,可以选择“工具”菜单中的“选项”,在弹 出的对话框的“编辑器”选项卡中改变“自动语法检测 ”设定。
在上述3类错误中,编译错误最为简单,也最容易发现 和处理,只要根据编译时提供的错误信息进行修改就可以 了。只要存在编译错误,应用程序也就不可能运行起来。 而对其他两类错误的处理就要复杂的多,需要花一番工夫 。本章后面将介绍如何处理逻辑错误和运行异常错误。
调试程序
1.设置运行断点
在设计状态,可以改变应用程序的设计和代码,但却不能 立即看到这些变更对程序运行所产生的影响;在运行程序时 ,可以观察到程序的运行状态,但却不能直接改变代码。通 过设置运行断点,VB系统可以中止程序的运行,使得程序进 入到中断模式。在中断模式下,系统保留着发生中断时的运 行状态,包括各个变量和属性的设置值,供用户观察、分析 ;同时,允许用户直接修改应用程序的代码,从而影响程序 的运行。
为此,可以强制进行变量的显式声明,即在程序代码 的“通用-声明”段中加入语句:Option Explicit。要使 以后新建的窗体均自动加入该语句,可选择“工具”菜单 中的“选项”,在弹出的对话框的“编辑器”选项卡中选 中“要求变量声明”。强制变量显式声明后,VB将自动检 查是否有未定义的变量,发现后将显示错误信息。
第11章 程序调试
1
1 2 3
错误类型 调试程序 捕获和处理错误
2
错误类型
程序中出现的错误是多种多样的,为了易于找出程序
中的错误,将其归纳起来可以分为3类:编译错误、逻辑
错误和运行异常错误。
3
1.编译错误 违背VB语法规定,不正确地书写代码,会造成编译错 误,这是最常见的错误类型。例如输入了拼写错误的关键 字,遗漏了某些必要的标点符号,使用了For语句但没有 Next语句与之对应,调用函数没有提供必要的参数,等等 。
在“示例程序”中的第2行定义了循环变量i。如果
已经有了Option Explicit语句,再删除第2行,则运’ 行程序时会出现图11.2所示的错误信息。
图11.2 变量未定义
2.逻辑错误 3.运行异常错误 运行异常错误指程序代码在编译通过后,运行代 码时所发生的错误。这类错误往往是指令代码执行非 法操作引起的。程序运行时,当一个语句试图执行一 个不能执行的操作时,就会发生运行异常错误(实时 错误)。例如,某些系统硬件问题,意料之外的数组 下标越界,除法运算中除数为 0 ,试图读取未准备好 的磁盘文件等等,均会引起运行异常错误。出现运行 异常错误时,程序会自动中断,并给出有关错误的提 示信息。
设置断点
要清除已经设置的断点,只需将上述操作重复一次 ,断点便被撤销。也可以打开“调试”菜单,选择“ 清除所有断点”。
VB允许在一行上有多条语句,其间用冒号(:)分 隔。在这种具有多条语句的行上,断点只被设置在第1 条语句上。
另外,在代码中使用Stop语句,也可以设置一个 断点。 程序运行到所设置的断点时,自动停止运行,并 且不执行包含断点的代码行,进入中断模式。此时 ,将光标移动到某个变量或表达式上,系统会立即 显示出该变量或表达式的当前值,如图11.5所示。
相关文档
最新文档