网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » vb程序
网站建设

VB程序调试

VB程序调试

  VB程序调试_计算机软件及应用_IT/计算机_专业资料。清华大学出版社 VB.NET程序设计实用教程 第12章 程序调试 本章主要内容 VB 的3种工作模式 在VB 中使用调试工具调试 程序的方法 VB 中的常用调试窗口 非结构化

  VB.NET 清华大学出版社 VB.NET程序设计实用教程 第12章 程序调试 本章主要内容 VB 的3种工作模式 在VB 中使用调试工具调试 程序的方法 VB 中的常用调试窗口 非结构化异常处理语句(On Error语 句和Resume语句)的功能与使用 结构化异常处理语句( Try…Catch…Finally…End Try 语句)的功能与使用 主 要 内 容 12.1 程序的调试 程序中的错误可分为语法错误、逻辑错误或运行错误三 种类型,系统会在语法错误的下面加上波浪线,比较容易 查找和排除,而逻辑错误或运行错误排除则比较困难。当 程序中出现了逻辑错误或运行错误而又难以解决时,就应 该借助于程序调试工具对程序进行调试。所谓程序调试就 是在应用程序中查找并修改错误的过程。通过程序的调试, 可以纠正程序中的错误。为了更正程序中发生的不同错误, VB .NET提供了多种调试工具,如设置断点、插入观察变 量、逐行执行和过程跟踪、各种调试窗口等。 1、程序错误概述 (1)程序错误类型 ①编译错误 ?笼统地说,编译错误是指程序在编译过程中出 现的错误。编译错误的产生原因是在程序代码 中出现了不正确的代码。 ?Visual Basic具有功能强大的智能编辑功能 ,程序中的语法错误在代码编辑阶段就会被自 动检测和识别。 ?②运行错误 运行错误是指程序顺利通过编译后(即已经没有编 译错误),在运行期间由于执行了程序中的某些非 法操作或力图执行一个操作失败时所发生的错误。 ?③逻辑错误 逻辑错是指程序在没有编译错误和运行错误的前提 下,顺利运行程序,但是却得不到预期的结果。 Visual Basic不会针对逻辑错误给出错误提示, 而且逻辑错误本身又具有隐蔽性,所以这种错误的 发现和排除难度较大。 (2)程序减少错误的方法 ?①在程序中加上Option Explicit语句,避免 由于变量名的误用而产生的错误。 ?②声明变量时,尽可能说明变量的具体类型, 少用Variant类型。 ?③加入适当的注释,提高程序的易读性。 ?④整个程序中使用统一的变量名、过程名和对 象名命名规则。 ?⑤为每一个事件过程和普通过程指定一个特定 的、明确的目标。 ?⑥对于预感会出现错误的地方,合理添加错误 捕捉与处理程序。 12.1.1 VB 的3种工作模式 1 2 1 设 计 模 式 运 行 模 式 3 1 中 断 模 式 12.1.1 VB 的3种工作模式 (1)设计模式 在设计模式下,用户可以设计项目。使用VB 新 建一个项后,系统将自动进入设计模式,此时,IDE 的标题栏将显示“[设计]”字样。处于设计模式时, 可进行应用程序的窗体设计、为窗体添加控件、设置 对象属性、编写程序代码等操作。在设计模式下可以 为程序设置断点。 12.1.1 VB 的3种工作模式 (2)运行模式 项目设计完之后,运行项目,系统就进入了运行模式。 此时,在IDE的标题栏上将显示“[运行]”字样。处 于运行模式时,程序设计人员可以与程序交互、可以 查阅程序代码,但不能修改程序代码。执行【调试】 →【停止调试】命令,或单击工具栏上的“停止调试” 按钮图标“ ”就可以中止程序运行。 12.1.1 VB 的3种工作模式 (3)中断模式 当系统处于运行模式时,单击工具栏中的“全部中断” 按钮“ ”,或执行【调试】→【全部中断】命令, 都将暂停程序的运行,进入中断模式。此时,在IDE 的标题栏中将显示“[中断]”字样。中断模式主要用 于程序调试和排除错误,可以查看代码,也可编辑代 码。同时,可以检查或修改数据。当想结束中断重新 从中断处继续执行程序时,只需单击“继续”按钮 “ ”即可。如果程序中设有断点或代码中含有 Stop语句,则程序运行到断点或Stop语句处也将进 入中断模式。 归纳起来,处于中断模式的应用程序可以完成如 下操作: ?①编辑修改程序代码。 ?②确定活动的过程(正在被调用执行的过程) 。 ?③查看变量、属性和表达式的当前值。 ?④修改变量和属性的值。 ?⑤执行程序中特定的语句。 从程序运行模式进入中断模式的方法有: ?①选择工具栏上的“中断”按钮。 ?②选择“运行”菜单中的“中断”菜单命令。 ?③按下Ctrl+Break键。 ?④当程序出现未被捕捉的错误时,单击错误提 示对话框中“调试”按钮。 ?⑤程序执行到设置断点处。 ?⑥程序执行到Stop语句。 12.1.2 使用调试工具调试程序 为了方便用户对程序进行调试 ,VB 提供了一组调试工具。可通 过“调试”菜单和 “调试”工具 栏来调用这些调试工具,“调试 ”菜单如图所示,“调试”工具 栏如图所示。当调试工具栏没有 出现时,可执行【视图】→【工 具栏】→【调试】使之出现。 12.1.2 使用调试工具调试程序 1.设置和删除断点 断点是应用程序暂时停止执行的位置,也是让应 用程序进入中断模式的地方。在程序设计中,可以在 中断模式和设计模式下设置和删除断点。在调试程序 时,按照程序的功能,可在怀疑有错误的语句处设置 断点,这样,有利于测试程序的功能和发现程序的逻 辑错误。 设置断点的方法主要有以下几种: ①在代码窗口中,单击要设置断点的那一行代码, 然后按F9键; ②在代码窗口中,在要设置断点的那一行代码行上, 单击鼠标右键并选择“插入断点”命令; ③在代码窗口中,在要设置断点的那一行代码行的 左边界上的竖条上单击。 12.1.2 使用调试工具调试程序 被设置成断点的代码行显示为红色,并在其左边显示 一个红点,如图所示。若要删除一个断点,只需重复 上面步骤即可。还可以选择“调试”菜单中的“清除 所有断点”菜单项来清除断点。 12.1.2 使用调试工具调试程序 2.跟踪程序的执行 在VB 中,提供了“逐语句”、“逐过程”、“跳出”等好几种 跟踪程序执行的方式。 ① 逐语句执行:“逐语句”执行方式是一次执行一条语句,这种 方式又称为单步执行。每执行一条语句之后,程序设计人员可 以使用“即时”窗口、“局部变量”窗口或“巡视”窗口,来 查看语句的执行结果,借此分析程序中存在的问题。 ② 逐过程执行:“逐过程”执行与逐语句执行类似,差别在于当 前语句如果包含过程调用,“逐语句”将进入被调用过程,而 “逐过程”则把整个被调用过程当作一条语句来执行。 ③ 跳出:“跳出”命令是连续执行当前过程的剩余语句部分,并 在调用该过程的下一个语句行处中断执行。 以上三种命令均可以通过执行【调试】菜单中的相应菜单命令 或单击【调试】工具栏上的相应按钮来实现。 12.1.3 常用的调试窗口 在调试应用程序时,经常要分析应用程序的程序段或语句 的运行结果,并希望能够看到变量、属性、表达式等值 的变化,以便找出错误所在处。为便于观察程序块或语 句的运行结果,在VB 提供了很多调试窗口,充分利用这 些窗口,可以提高程序调试的效率。下面将一一介绍主 要调用窗口的功能。 12.1.3 常用的调试窗口 1. “命令”窗口 在VB 中,有一个“命令”窗口,在该窗口中可以直接使用VB 的各种命令与系统交互。“命令”窗口有两种不同的模式:命 令模式和立即模式。命令模式主要用来执行命令,立即模式主 要用于调试程序。在调试应用程序执行函数或语句等操作时, 可使用立即模式查看,并更改变量的值。通过执行【调试】→ 【窗口】→【即时】命令,可以以立即模式打开“命令” 窗口。当命令窗口处于立即模式时,标题栏显示“命令窗口一 立即”,如图所示。 “命令”窗口 12.1.3 常用的调试窗口 2.“监视”窗口 利用“监视”窗口,可以动态观察 变量、数组、数组元素和表达式的 值,从而可以观察程序的运行情况, 找到错误的所在。在“监视”观察 的变量或表达式称为监视表达式。 “监视”窗口只能在运行模式或中 断模式下打开,打开方法是执行 【调试】→【窗口】→【监视】命 令,打开的“监视”窗口如图所示。 若要在“监视”窗口中添加监视表 达式,只需单击【监视】窗口“名 称”列最下面单元格上单击,在其 中输入监视表达式即可。“监视” 窗口是最重要的调试用窗口之一, 在逐语句运行的情况下,通过该窗 口可以看到每执行一条语句后,监 视表达式值的变化情况,从而可以 找到错误所在 图 “监视”窗口 12.1.3 常用的调试窗口 3. “局部变量”窗口 在“局部变量”窗口可以显示 当前过程中所有局部变量的值。 当程序从一个过程执行到另一个 过程时,“局部变量”中显示的 变量及其值也会随之改变,因为 该窗口只显示当前正在执行的过 程中所有局部变量的值。打开 “局部变量”窗口的方法是执行 【调试】→【窗口】→【局部变 量】命令,打开的“局部变量” 窗口如图所示。“局部变量”窗 口只显示当前过程的“局部变量” 的值,模块级变量和全局变量的 值不会显示在该窗口中。 除了上述窗口外,还有“任 务列表”窗口、 “输出”窗口、 “Me”窗口等调试窗口。 图 “局部变量”窗口 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 任 务 1 2 - 1 描 述 : 制作一个简单计算器程序,程序 的设计界面如图 12-1 所示。程 序运行时通过按钮输入运算公式, 如图 12-2 所示。单击“计算” 按钮将得到计算结果,如图 123 所示。单击清除按钮将清除文 本框中显示的表达式或运算结果。 程序能够捕获并处理算术运算溢 出的异常(被 0 除和运算数或运 算结果超出类型允许的范围)和 运算数少的错误,分别如图 124 和 图 1 2 - 5 所 示 。 图5-8 输入的公式 图5-7 程序设计界面 图5-9 单击“ 运算”得到的 结果 “运算数缺少异常”处理 “算术运算溢出”异常处理 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 任务分析: 通过单击数字按钮输入公式时,只需在各数字按钮的Click事件 中把按钮的Text属性值连接到文本框的Text属性中,这样每 单击一次数字按钮,对应的数字将出现在文本框中。单击运算 符按钮时,在文本框的Text属性中连接一个空格,然后连接运 算符按钮的Text属性,再连接一个按钮。这样在“计算”按钮 的Click事件中,就可以通过查找空格的位置,通过字符串的取 子串方法就可以获得两个运算数和运算符,然后通过Select Case…End Select语句可以判断运算符是什么运算符并对两 个运算数进行相应运算就可以得到结果,把结果显示出来即可。 为了捕获并处理异常,可使用On Error语句指定错误处理程序。 在错误处理程序块中通过Err对象的Number属性中的错误号 来判断错误的类型(算术运算溢出,错误号为6。过程参数错误, 错误号为5),然后决定相应的处理。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 任务实现: 1.启动VB.NET,新建一个项目,项目类型为 “Windows应用程序”,项目的存放位置为 “D:\VBTASK\CH05”,项目名为“Task5_1”。 2.把Form1窗体的Text属性值设置为“简单计算 器”,把它的Name属性值设置为 “SimpleCalculator”。单击“解决方案资源管理 器”中的“Form1.VB”窗体,然后在属性窗口中把 它文件名属性设置为“SimpleCalculator.vb”。 然后执行【项目】→【Task5_1属性】命令,在出 现的“Task5_1属性页”对话框中把“启动对象” 设置为“SimpleCalculator”。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 控件名 属性名 属性值 结果: 清空 1 2 3 4 5 6 7 8 9 0 + - * / 运算 说明 Label1 TextBox1 Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text 提示 显示算式或结果 单击它清空文本框中显示的内容 单击它在文本框中显示的数字后连一个“1” 单击它在文本框中显示的数字后连一个“2” 单击它在文本框中显示的数字后连一个“3” 单击它在文本框中显示的数字后连一个“4” 单击它在文本框中显示的数字后连一个“5” 单击它在文本框中显示的数字后连一个“6” 单击它在文本框中显示的数字后连一个“7” 单击它在文本框中显示的数字后连一个“8” 单击它在文本框中显示的数字后连一个“9” 单击它在文本框中显示的数字后连一个“0” 把空格、+号和空格连接到文本框的Text属性中 把空格、-号和空格连接到文本框的Text属性中 把空格、*号和空格连接到文本框的Text属性中 把空格、/号和空格连接到文本框的Text属性中 单击它计算出算式的结果并显示出来 3.对照程序设计界面, 为窗体添加控件并设 置控件的属性。控件 的属性设置如表121所示。 Button1 Button2 Button3 Button4 Button5 Button6 Button7 Button8 Button9 Button10 Button11 Button12 Button13 Button14 Button15 Button16 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 4.编写Button1的Click事件过程代码,如下。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = 清空文本框 End Sub 5.编写Button2的Click事件过程代码,如下。 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim btn As Button 按钮类型的变量 btn = sender 把产生该事件的按钮对象赋值给 btn TextBox1.Text = TextBox1.Text + btn.Text 把 该按钮的Text属性值连接到TextBox1中 End Sub 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 6.运行程序,单击“1”按钮,发现每单击一次该按钮 文本框中都将连接一个“1”,单击“清空”按钮, 文本框中的内容将被清空。 7.依次编写Button3~Button11各按钮的Click事 件过程代码,并对各按钮的功能进行测试。各按钮的 Click事件过程代码和Button2按钮的Click事件过 程代码完成一样。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 8.编写Button12按钮的Click事件过程代码,如下。 Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click Dim btn As Button btn = sender 在文本框的Text属性后连接一个空格、本按钮的Text属性 值和一个空格 TextBox1.Text = TextBox1.Text + + btn.Text + End Sub 说明: 连接两个空格的作用是把运算符和前后的两个运算数分隔开来,这 样就可以通过字符串的Index方法找出空格的位置,然后再通 过字符的Substring方法分离出两个运算数和运算符。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 9.运行程序,通过单击数字按钮输入第一个运算数, 单击“+”按钮输入“+”运算符号,再通过单击数字 按钮输入第二个运算数,发现在两个运算数和“+” 号之间均有一个空格。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 10.依次编写Button13、Button14和Button15 的Click事件过程代码,并对它们的功能进行验证。 Button13、Button14和Button15的Click事 件过程代码与Button12的Click事件过程代码完全 一致。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 11.编写“运算”按钮的Click事件过程代码如下。 Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click 发生错误转移到标号“ErrorPro”指定的行去执行错误处理程序 On Error GoTo ErrorPro Dim r As Decimal 保存计算结果的变量 Dim t As String = TextBox1.Text 用于保存文本框中的算术表达式exOf( ) 搜索空格位置,如果没有空格,返回值 为0 字符串的取子符方法,第二个参数小于0,则将产生错误号为5的异常,即过程参数不正 确 Dim s1 As String = t.Substring(0, space) 通过取子串方法获得第一个运算数 Dim op As String = t.Substring(space + 1, 1) 通过取子串方法获得运算符 Dim s2 As String = t.Substring(space + 3) 通过取子串方法获得第二个运算 数 Dim arg1, arg2 As Integer arg1 = Val(s1) : arg2 = Val(s2) Select Case op Case + : r = arg1 + arg2 Case - : r = arg1 - arg2 Case * : r = arg1 * arg2 Case / : r = arg1 / arg2 Case Else 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 MsgBox(输入的运算符有误!) Exit Sub End Select TextBox1.Text = CStr(r) 显示结果 Exit Sub 退出过程 ErrorPro: 错误处理程序块 Select Case Err.Number Case 6 除数为零时,或运算溢出时的错误号 MsgBox(算术运算溢出!, , 溢出提示) TextBox1.Focus() Exit Sub Case 5 Substring过程的参数不符合要求的错误号 MsgBox(必须输入运算符和第二个运算数!, , 运算数少) Exit Sub Case Else 其它情况显示错误号和错误原因 MsgBox(错误号为 & Err.Number & Chr(10) & Chr(13) & 错误原因: & Err.Description) Exit Sub End Select End Sub 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 说明: (1)程序中的“t.IndexOf( )”的作用是在字符串变量t的值中查找空格第一次出现的位置, 若找到则以整数形式返回空格所在位置(第一个字符的位置为0),若找不到则返回-1。 IndexOf是字符串的一个方法,其作用是在字符串中查找子符的位置,查找到则返回位置 值,查找不到返回-1。 (2)程序中“t.Substring(0, space)”的作用是从变量t存放的字符串的第一个字符开始取 space个字符作为字串返回。Substring也是字符串的一个方法,其作用是取子串,基本格 式有两种,分别如下。 [格式1]:str.Substring(start,length) [作用]:从“str”指定的字符串的第“start”个字符开始,取“length”个字符作为子串返回。 参数start代表要取的子串的开始位置,length代表要取的子串的长度,值均应大于等于0。 [格式2]:str.Substring(start) [作用]:从“str”指定的字符串的第“start”个字符开始,一直取到字符串的结尾作为子串返回。 (3)程序中的语句“On Error GoTo ErrorPro”是一条非结构化的错误捕获语句,用来捕获程 序中的错误。在非结构化异常处理中,将On Error语句放在代码块的开始处,它将处理在 该块内发生的任何错误。如果在执行On Error语句后过程中引发了异常,程序流程将跳转 到On Error语句中指定的行参数。行参数(行号或行标签)指示异常处理程序的位置。 有时,在某过程中调用了另一个过程,并且在被调用过程中发生异常。这种情况下,如果被调 用过程不处理异常,则异常传播回调用过程,并且程序流程将跳转到On Error语句中指定 的行参数。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 On Error语句有以下四种形式: ? On Error GoTo Line ? On Error Resume Next ? On Error GoTo 0 ? On Erro GoTo -1 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ① On Error GoTo Line 该语句假定错误处理代码在Line参数指定的行处开始。该语句的作 用是如果发生运行时错误,则将流程跳转到该Line参数中指定 的行号和行标签,并激活错误处理程序。指定行必须与 On Error GoTo Line 语句位于同一过程中,否则 Visual Basic 将 生成编译器错误。请看下面的示例: Sub ErrTest On Error GoTo ErrorHandler 可能包含错误的代码 Exit Sub ErrorHandler: 用于处理错误的代码 Resume End Sub 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ① On Error GoTo Line 该语句假定错误处理代码在Line参数指定的行处开始。该语句的作用是如果发生运行时错误, 则将流程跳转到该Line参数中指定的行号和行标签,并激活错误处理程序。指定行必须与 On Error GoTo Line 语句位于同一过程中,否则 Visual Basic 将生成编译器错误。请看 下面的示例: Sub ErrTest On Error GoTo ErrorHandler 可能包含错误的代码 Exit Sub ErrorHandler: 用于处理错误的代码 Resume End Sub 本例包含一个名为 ErrorHandler 的错误处理程序。如果ErrTest过程中的任何代码生成错误, VB .NET将立即执行 ErrorHandler 标签后面的代码。在错误处理程序块的结尾处, Resume 语句将把程序流程转移到最先发生错误的代码行,重新执行发生错误的代码行及 以后的代码。 需注意的是,必须将 Exit Sub 语句放在错误处理块的前面,否则,VB .NET在到达子例程的 结尾时将运行错误处理代码,从而导致不可意料的结果。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ② On Error Resume Next 该语句的作用是如果在过程中出现运行错误,将把流程 跳到发生错误的语句的下一条语句,再继续进行。使 用该语句可以将错误处理过程放置于错误可能发生的 地方,从而不需要在发生错误时将程序流程跳转到其 他位置。 如果在过程中调用了其他过程,则On Error Resume Next语句将在执行被调用的过程时被禁止。因此, 应该将On Error Resume Next语句放置于每个被 调用的过程中。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ③ On Error GoTo 0 该语句用于禁止当前过程中任何可用的错误处理代码块。 如果不包含On Error Go To 0语句,则当退出过程 时,其中的所有异常处理代码块都将被自动禁止。 On Error GoTo 0语句并不表示第0行是错误处理代码 的起始,即使过程中包含第0行。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ④ On Error GoTo -1语句 该语句用来禁止当前过程中任何可用的异常。如果不包 含On Error GoTo -1语句,则当退出它的过程时, 异常将被自动禁止。与On Error GoTo 0语句类似, 该语句也并不表示第-1行是错误处理代码的起始,即 使过程中包含第-1行。 下面通过一个实际的例子来说明On Error语句的使用。 例子的作用是把异常处理程序命名为DivideByZero 并处理除数为0的错误。如果发生不同的错误, VB .NET引发运行时错误并停止应用程序。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 示例代码如下: Sub ErrorTestExam () Dim m As Integer, m As Integer, k As Integer On Error GoTo DivideByZero 捕获错误,异常处理程序被命名为DivideByZero. 下面是代码的主体部分,可能产生错误 m=6 : n=0 k=m\n On Error GoTo 0 禁止异常处理 Console.WriteLine(m & / & n & = & k) 在执行错误代码之前应退出过程,如果该操作失败将产生意想不到的结果 Exit Sub 异常处理程序 DivideByZero: Console.WriteLine(You have attempted to divide by zero!) 输出错误提示信息 n=1 处理错误的代码 Resume 该语句将返回到首次发生错误的语句重新执行,应用程序可以继续执行下去 End Sub 注意:使用 On Error 的非结构化错误处理会降低应用程序性能并导致代码难以调试和维护。 建议使用结构化错误处理方法。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 (4)在“ErrorPro”行号指定的错误处理程序块中,通 过Select Case…End Select语句测试错误号,然后 决定相应的操作。错误号通过Err对象的Number属 性值取得。Err对象包含与运行时错误相关的信息, 在错误处理代码中通用对Err对象属性值的检测可以 知道发生的错误。 Err对象的属性值由刚发生的错误决定,Err对象的主要 属性有: ①Number属性:该属性包含了错误代码,即导致错误 的原因。 ②Description属性:该属性包含了发生的错误的描述 信息,是一个字符串属性。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 Err对象的常用方法有Raise和Clear,其格式与功能如下: ①Raise方法 [格式]:Public Sub Raise( ByVal Number As Integer, Optional ByVal Source As Object = Nothing, Optional ByVal Description As Object = Nothing, Optional ByVal HelpFile As Object = Nothing, Optional ByVal HelpContext As Object = Nothing ) [功能]:产生一个错误。 [说明]:参数Number 为必选参数,是用于标识错误的特性的 Long 型数据。 Visual Basic 错误范围在0~65535 内:范围 0~512 保留用于系统错误,范 围 513~65535 则用于用户定义的错误。当在类模块中将 Number 属性设置 为您自己的错误代码时,向 vbObjectError 常数添加您的错误代码号。例如, 若要生成错误号 513,应分配 vbObjectError + 513 给 Number 属性。参 数Source是一个可选参数,用来命名生成错误的对象或应用程序的 String 表 达式。参数Description也是一个可选参数,是用来设定描述错误的信息,是一 个字符串型表达式。例如,下列的程序代码是生成一个代号为513的用户定义的 错误: Err.Raise(vbObjectError + 513, SimpleCalCulator,本运算器现在不能用! ) 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 ②Clear方法:该方法用来清除Err对象的所有属性值。 任何错误处理程序都应该在其它错误发生之前,测试或 保存Err对象的相关属性值。在错误处理例程中的 Exit Sub、Exit Function、Exit Property 或 Resume Next 语句执行之后,Err 对象的属性重置 为零或零长度字符串 ()。在错误处理例程以外,使 用任何形式的 Resume 语句都不会重置 Err 对象的 属性。但可使用 Clear 方法显式地重置 Err。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 归纳说明: 异常处理是程序员在编写过程中必须要考虑的一件事, 好的异常处理能使程序具有较强的容错能力和纠错能 力。本任务通过计算器运算过程中容易出现的一些异 常的解决方法,讲解了非结构化异常处理的一般方法: 在容易发生异常的程序段前使用On Error语句指定错 误处理程序块,在错误处理程序块中对出现的异常进 行处理。在错误处理程序块中通过需要测试Err对象 的Number属性以获取错误的类型,从而实施相应的 处理。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 拓展与提高: 错误处理程序块完成之后想要使程序继续执行,可使用Resume语句,该语句 的形式主要有三种,下面分别加以讲述。 (1)Resume [0] 如果错误发生在错误处理程序所在的同一过程中,在错误处理程序中执行到该语句 时,程序将由产生错误的语句处继续执行。如果错误发生在被调用的过程中, 在错误处理程序中执行到该语句时,程序将从最近过程(该过程含有错误处理 例程)调用的语句处继续执行。参数0可以缺省。 (2)Resume Next 如果错误发生在错误处理程序所在的同一过程中,在错误处理程序中执行到该语句 时,程序将从引发错误的语句的下一条语句处继续执行。如果错误发生在被调 用的过程中,在错误处理程序中执行到该语句时,程序将从过程(该过程含有 错误处理例程)调用的语句的下一条语句继续执行。 (3)Resume line 在错误处理程序中执行到该语句时,程序将从必选参数line指定的代码行处继续执 行。line参数是一个行标签或者行号,必须位于错误处理程序所在的同一过程 中。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 使用该语句有以下两点需注意: (1)在错误处理程序中,还可以通过Exit Sub、Exit Function、Exit Property等语句退出发生错误的过 程。 (2)如果在错误处理例程以外的任何位置使用 Resume语句,将会引发错误。Resume语句不能用 在含有Try-Catch-Finally语句的过程中。 下面看一个Rsume语句的使用示例,该示例的作用是使 用 Resume 语句来结束过程中的错误处理,然后继 续执行导致错误的语句。 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 示例代码如下: Sub ResumeStatementDemo() On Error GoTo ErrorHandler 激活错误处理程序 Dim m As Integer = 68 Dim n As Integer = 0 Dim k As Integer k = m \ n 产生被0除的异常 Exit Sub 退出过程 ErrorHandler: 程序处理程序 Select Case Err.Number 测试错误号 Case 6 处理被0除的错误 n = 1 设置y的值为1,以便重新除 Case Else 此处放置处理其它错误的代码 End Select Resume 返回到发生错误的语句执行 End Sub 12.2 任务12-1:具有非结构化异常处理的简单计 算器——非结构化异常处理 思考与实训: 1.为什么要进行异常处理? 2.非结构化异常处理的一般模式是什么? 3.Err对象的Number属性和Description 属性各有什么作用? 4.编写一个除法计算器,用非结构化异常处 理方法除数为0的异常和所有其它异常。当 除数为零时,自动把除数设置为1,给出结 果不可靠的信息并重新执行除法运算得到不 可靠的结果,如图所示。如果发生了其它异 常则给出异常的提示信息,并退出过程,如 图所示。 不可靠的结果 其它异常的提示信息

发布时间:2019年8月9日 | 评论:0 | 浏览: | 标签:vb程序  

网站建设

VB程序的打包与发布

VB程序的打包与发布

  VB程序的打包与发布_计算机软件及应用_IT/计算机_专业资料。附录 打包和发布应用程序 在创建 Visual Basic 应用程序后,您可能希望将该程序发布给其他人。您可以将使用 Visual Basic 创建的任何应用程序自由地发布给使用 Microsof

  附录 打包和发布应用程序 在创建 Visual Basic 应用程序后,您可能希望将该程序发布给其他人。您可以将使用 Visual Basic 创建的任何应用程序自由地发布给使用 Microsoft Windows 的任何人。可以通 过磁盘、CD、网络、或者 intranet 以及 Internet 这些途径来发布应用程序。 下面以实例 57 为例介绍打包和展开应用程序。 一、使用向导进行打包 1.启动打包和展开向导 Visual Basic 的打包和展开向导使您能够轻松地为应用程序创建必需的 .cab 文件以及 安装程序。与其它向导一样,打包和展开向导将提示您输入相应信息,以便创建您所需要 的准确配置。 要从 Visual Basic 中启动打包和展开向导,请按照以下步骤执行: (1) 打开想要使用向导来打包或展开的工程。注意 如果您正在使用一个工程组, 或已加载了多个工程,则在启动该向导之前,请确保当前的工程就是您要打包或展开的工 程。 (2)如果必要,请使用“外接程序管理器”来加载打包和展开向导:从“外接程序” 菜单中选择“外接程序管理器”,从该列表中选择“打包和展开向导”,然后单击“确定” , 如图 1 所示。 图1 外接程序管理器 (3)从“外接程序”菜单中选择“打包和展开向导”来启动该向导,如图 2 所示。 打包和展开向导提供了三个选项: “打包”选项帮助您将一个工程的文件打包为一个可以展开的 .cab 文件,而且在某些 情况下还要创建一个安装程序来安装该 .cab 文件。向导确定需要打包的文件,并引导您作 出所必需的选择,以便为您的工程创建一个或多个 .cab 文件。 “展开”选项帮助您将打好包的应用程序传送到适当的发布媒体,例如软盘、网络共 享、或 Web 站点。 “管理脚本”选项让您可以查看和操作以前使用打包和展开向导时所保存的脚本。每 次使用该向导时,都会保存一个包含您所做的所有选择的脚本。在以后的过程中,如果您 想使用相似的设置值以及做出与原来相同的选择,就可以重新使用这些脚本。 图2 打包和展开向导 注意: 打包和展开向导只能为 Visual Basic 应用程序创建安装程序和发布媒体。如果 要为其它基于 Windows 的应用程序创建安装程序, 请使用与相应的开发产品一起提供的安 装工具包或在 Windows SDK 中提供的安装工具包。 2.使用向导为应用程序打包 为应用程序打包是指创建一个软件包的操作,该软件包可以将您的应用程序安装到用 户的计算机上。软件包由一个或多个 .cab 文件组成,文件中包含了用户安装和运行应用程 序所需的被压缩的工程文件和任何其它必需的文件。这些文件可能包括安装程序、辅助 的 .cab 文件或其它必需的文件。这些附加的文件根据您创建的软件包类型不同而不同。 具体过程如下: (1)启动“打包和展开向导”,在“打包和展开向导”窗口中单击“打包”。 (2)在接下来的对话框中视具体情况选择“是”或“否”,在这里我们选择“是”, 如图 3 所示。 图 3 是否进行重新编译 (3)选择打包脚本,如图 4 所示。 图 4 打包脚本 (4)确定要创建的软件包类型 您可以为基于 Windows 的、要通过磁盘、CD 或在网络上发布的程序创建一个标准软 件包;或者可以为要在 Web 上发布的程序创建一个 Internet 软件包。也可以选择只创建 从属文件,在这里我们选择“标准软件包”,如图 5 所示。 图5 确定要创建的软件包类型 您可以创建两种软件包,标准软件包或 Internet 软件包。如果计划通过磁盘、软盘或 网络共享来发布应用程序, 则应创建一个标准软件包。 如果计划通过 intranet 或 Internet 站 点来发布,则应创建一个 Internet 软件包。在多数情形下,可以使用 Visual Basic 提供的 打包和展开向导来为您的应用程序打包。您可以手工打包应用程序,不过向导提供了很有 用的快捷方式,并能自动处理一些在手工打包过程中不得不自己完成的任务。 除了创建标准和 Internet 软件包之外,还可以使用打包和展开向导的打包部分来创建 从属文件。从属文件列出了必须随应用程序的工程文件一起发布的运行时部件。 重点:无论何时创建软件包,您都应确保已在“工程属性”对话框的“生成”选项卡中设 置了工程的版本号码。如果您要发布一个现有应用程序的新版本,那么这一点特别重要: 如果没有对版本号进行适当的更改,最终用户的计算机可能会认为关键文件不需要更新。 (5)新建打包文件夹,缺省为“包”,如图 6 所示。 图6 新建打包文件夹 (6)确定需要发布的文件 向导在创建软件包之前,必须确定应用程序的工程文件以及从属文件。特别是需要的 图像、声音及 readme.txt 等文件,添加这些文件可单击“添加”,如图 7 所示。 图7 选择包含的文件 (7)确定压缩文件的个数及大小 如果要用软盘发布应用程序,请选择多个压缩文件,大小选为 1.44MB;如果用光盘发 布,可选择“单个的压缩文件”,如图 8 所示。 图 8 选择压缩文件选项 (8)设定安装文件标题,例如 mp3player,如图 9 所示。 图 9 设置安装程序标题 (9)设置安装在“开始”菜单“程序”中的位置,如图 10 所示。 图 10 设置启动菜单项 (10)确定将文件安装到用户机器上的位置 程序和安装文件通常被安装到 Program Files 目录的某个子目录中,而系统和从属文件 通常被安装到\Windows\System 或 \Winnt\System32 目录中。您的安装程序必须考虑这一 点,并确定每个文件要被安装在何处,如图 11 所示。 图 11 设置安装位置 (11)设置共享文件 共享的应用程序文件是指可能被系统中的多个应用程序使用的文件。例如,可能有多 个软件商提供的应用程序都使用了同一个 ActiveX 控件。如果您创建了一个使用该控件的 应用程序,则应在安装程序中将该控件的 .ocx 文件指明为共享文件。共享文件必须安装在 一个其它应用程序可以访问到的位置。 在多 数情 形下 ,对 于 Windows 98 和 Windows NT 4.0 及更 新版 本, 这个 位置是 \ProgramFiles\Common Files。 当最终用户卸载您的应用程序时, 只有当其它应用程序没有使 用这些共享文件时,系统才会将其删除。 本例中可以设为共享文件的是 mp3play2.exe, 但由于它只是个一般应用程序, 所以不必 设为共享文件,如图 12 所示。 图 12 设置共享文件 (12)设置软件包脚本名称 输入脚本名称,单击“完成”,系统开始压缩文件,完成打包过程,如图 13 所示。 图 13 设置脚本名称 3.标准软件包和 Internet 软件包 3.1 标准软件包 标准软件包是一种专门用 setup.exe 程序安装、而不是从 Web 站点下载 .cab 文件而 设计的软件包。您可以为基于 Windows 的、要通过磁盘、CD 或网络共享来发布的应用程 序创建标准软件包。当创建标准软件包时,必须在创建软件包之前仔细考虑计划使用的发 布方法。如果计划使用软盘来发布,那么通常需要创建多个可以分别放置在若干张软盘上 的 .cab 文件,而不能创建一个大的 .cab 文件。打包和展开向导中有一个选项让您指定是 要创建一个还是多个 .cab 文件,以及要使用的 .cab 大小(1.44 MB、1.2 MB 等等)。如 果您选择要创建多个 .cab 文件, 向导将把应用程序文件分成若干个不超过指定大小的文件 组。 重点: 即使计划要发布到软盘上的应用程序小到当打包为一个大的 .cab 文件时也足够 放置到一张磁盘上,您也仍然应该选择“多个 .cab 文件”选项,以便您在随后的向导操作 中可以访问软盘的展开过程。而在这里,只创建了一个 .cab 文件。 如果计划展开到网络或本地共享目录、CD 或 Web 站点上,则既可以创建一个大 的 .cab 文件,也可以创建多个较小的 .cab 文件。 标准软件包的必要部分有若干个文件将始终作为标准软件包的一部分。这些文件包括: (1)setup.exe 文件 Setup.exe 是一个预安装可执行程序。安装过程中第一个在用户机器上运行的程序就是 Setup.exe,该程序执行在主安装之前必须进行的必要处理。 (2)setup1.exe 文件 Setup1.exe 是应用程序的主安装程序。 (3)所有必需的支持文件 支持文件存储在 \Support 子目录,位于创建该软件包的目录的下一层。除了 setup.exe 和 setup1.exe 文件之外, 该目录还包含用于自定义应用程序的 .cab 文件所需的文件, 以备 用户的需要。 (4)应用程序的 .cab 文件 Internet 应用程序和基于 Windows 的应用程序在发布前都将被打包到 .cab 文件之 中。.cab 文件取代了 Visual Basic 原来版本中的一长列被压缩的应用程序文件。现在所有 这些被压缩的文件都包含在 .cab 文件中。可以为应用程序创建一个单一的 .cab 文件,也 可以为软盘发布方式创建多个 .cab 文件。 注意: 如果要在双向的 (BiDi) 操作系统上运行应用程序,则需要手工在打包和展开向导所创 建的 Setup.lst 中包括 vbame.dll 文件。要实现这个操作,可以在运行打包和展开向导时, 在“包含文件”屏幕上通过直接编辑 Setup.lst 来添加该文件;或者在 文件中为 vbame.dll 添 加一 项, 以 便不 论何 时运 行 打包 和展 开 向导 ,该 文件 都 将被 自动 添 加到 Setup.lst 中。 如果应用程序使用了 Visual Basic 的数据访问技术之一,例如数据访问对象 (DAO)、 ActiveX 数据对象 (ADO)或远程数据对象 (RDO),则打包和展开向导打包过程中还将执行 两个附加步骤: 如果应用程序使用了 ADO、OLEDB 或 ODBC 部件,向导将自动添加一个名为 mdac_type.exe 的文件到要包含软件包的文件列表中。Mdac_type.exe 是一个自解压的可执 行程序,它将安装您的数据访问技术所需的所有必需部件。 3.2 Internet 软件包 Internet 软件包是基于.cab 的安装程序,它是专为从 Web 站点下载而设计的。Internet Explorer 使用一个称为“Internet 部件下载”的过程来安装 Internet 应用程序。打包和展开 向导自动包括其所创建的软件包所需的信息。有多种类型的 Visual Basic 应用程序或部件 可以被打包,以供 Internet 展开,其中包括: (1)在 Web 页上显示的 ActiveX 控件(.ocx 文件)。 (2)用于在客户或 Web 服务器上运行的 ActiveX .exe 或 .dll 文件。 (3)代替 Web 页显示的 ActiveX 文档。?DHTML 应用程序,基于客户的、通过使 用动态的 HTML 来链接 HTML 页与 Visual Basic 代码的应用程序。 (4)IIS 应用程序,基于服务器的、链接 HTML 页与 webclass 对象的应用程序。 该 webclass 截取来自浏览器的服务器请求,并执行 Visual Basic 代码来响应。 Internet 软件包的部分有若干个文件将始终作为 Internet 软件包的一部分。 这些文件包 括: (1)应用程序的主要 .cab 文件 Internet 软件包的主要 .cab 文件用作应用程序的安装程序。 主要 .cab 文件包括工程部 件,例如应用程序的可执行文件或 DLL 或控件的 .ocx 文件、一个引用辅助 .cab 文件以 及包含安全性和注册表信息的 .inf 文件,以及不属于辅助 .cab 文件的所有必需的从属文 件。 (2)所有必需的支持文件 Internet 应用程序的支持文件包括 HTML 文件、Active Server Pages (.asp) 文件、各种 格式的图形文件或应用程序运行时必需访问的其它文件。 (3)应用程序的任何辅助 .cab 文件 除了工程文件之外,应用程序通常会引用若干个运行时部件,例如 Visual Basic 运行 时 DLL、单个的 ActiveX 控件以及数据访问对象。如果这些部件可以联机从预包装的 .cab 文件中获得,则可以在主要 .cab 文件中引用这些 .cab 文件,而不必自己来传送这些文件。 辅助 .cab 文件提供了一个有效的途径,可以确保用户使用的是该部件的最新版本。如果辅 助 .cab 文件中部件的较新版本已经可以从外部 Web 站点上获得,则下载您应用程序的用 户将自动收到该部件的更新版本。 注意:如果不能或不愿意让应用程序的安装程序需要与 Internet 的连接,则可以将辅 助 .cab 文件放置在您的 intranet 服务器上。intranet 服务器通常提供了更快的下载,并允许 用户从安全的网络下载。 二、使用向导展开应用程序 展开应用程序是指将打好包的应用程序放置到选定的发布媒体上,或放置到可由此下 载的 Web 站点上的操作。有两种展开 Visual Basic 应用程序的途径: (1)可以使用打包和展开向导的“展开”部分来将应用程序展开到软盘、本地或网络 驱动器或 Web 站点上。 (2)可以手工将文件复制到磁盘或共享目录,或手工将文件在适当的 Web 站点上发 布。 打包和展开向导提供了快捷方式,并能自动执行在手工展开应用程序时不得不手工执 行的一些相同的任务。 1.展开过程的全部步骤 不论是使用打包和展开向导,还是手工方式来展开软件包,都有一些必须采取的步骤。 (1)创建用于展开的软件包。可以是单个的 .cab 文件,也可以是一系列 .cab 文件, 这取决于您计划如何发布应用程序。 (2)确定要展开的软件包。可以为选定的工程选择任何有效的软件包,如图 14 所示。 图 14 选择要展开的包 (3)选择展开方法。可以将应用程序展开到 Internet、软盘或本地或网络驱动器的目 录上,如图 15 所示。 图 15 选择展开方法 ? 展开到软盘、目录以及 CD 只有在使用“多个压缩文件”选项创建了标准软件包后,才可以使用打包和展开向导 展开到软盘上。该选项确保了软件包将由多个 .cab 文件组成,或由一个小于一张磁盘容量 的单个 .cab 文件组成。在将 .cab 文件复制到软盘前,系统将为每个磁盘提供格式化选项。 您无需格式化磁盘,但在展开过程中必须使用空磁盘。如果选择展开到某个目录,则系统 将提示您挑选一个用来复制文件的本地或网络目录。然后您可以引导用户从该位置来访问 应用程序的安装程序,也可以将文件放置到 CD-ROM 上。 注意:如果您有一个可写的 CD 驱动器,则可以使用向导的展开部分直接将文件复制 到该驱动器,而不必先展开到一个目录后再将文件复制到 CD 上。 ? 展开到 Web 您可以将任何软件包,不论是标准软件包还是 Internet 软件包,展开到 Web 上。当您 选择 “Web 发布”作为展开方法时,系统会把工程文件夹视为展开的本地基础文件夹。 本 地基础文件夹用于确定应如何将文件何目录复制到所选择的 Web 站点上。 处于本地基础目 录中的文件和目录将被展开到同基础目录有相同的目录结构的 Web 服务器上。 注意: 缺省情况下,向导不会在工程目录或 \Support 子目录中展开源文件。向导的打包部分将创 建 \Support 目录并将文件放置在该目录中,该目录可用来重新创建 .cab 文件。 (4)选择要展开的文件。如果要展开到 Internet 上,您可以对要展开的文件列表添加 或删除文件,如图 16 所示。 图 16 选择要展开的文件 (5)为要展开的文件确定目标。对于 Internet 展开方式,本步骤将指定一个应展开该 软件包的 Web 站点,如图 17 所示。对于目录展开方式,则本步骤指定展开该软件包的驱 动器位置,如图 18 所示。对于软盘展开方式,则本步骤要选择适当的软盘驱动器。 图 17 设置 Web 发布站点 图 18 选择展开位置 (6)展开软件包。 三、管理向导脚本 如果使用打包和展开向导,可以创建并存储脚本。脚本是指在打包或展开过程中所做 选择的记录。创建一个脚本就可以将这些选择保存起来,以便您在向导以后的过程中为同 一个工程应用该脚本。使用脚本可以显著地节省打包和展开时间。此外,可以使用脚本以 静态模式打包和展开应用程序。每次打包或展开工程时,Visual Basic 都会将有关过程的信 息保存为一个脚本。工程的所有脚本都存储在应用程序工程目录的一个特别文件中。 要查看脚本列表,请按照以下步骤执行: (1)启动向导,然后从主屏幕上选择“管理脚本”。 重点:如果已经将向导作为独立的应用程序启动,那么在选择“管理脚本”之前必须 选择所需的 Visual Basic 工程。 (2)复制或删除脚本。你可以复制或删除“打包脚本”或“展开脚本”,如图 19 所 示。 图 19 “管理脚本”对话框 注意:在安装过程中包含两个安装程序——setup.exe 和 setup1.exe。setup.exe 程序在 用户计算机上执行预安装处理,包括安装 setup1.exe 程序以及运行主安装程序所需的任何 其它文件。在安装工具包中,只有 setup1.exe 是可以自定义的。安装工具包除了在创建安 装程序的过程中扮演了支持角色之外,还可以用于修改安装过程中出现的屏幕,或直接创 建一个安装程序。如果需要在安装顺序中添加向导所不支持的附加功能,则您可以创建一 个 自 定 义 的 安 装 程 序 。 安 装 工 具 包 工 程 位 于 Visual Basic 主 目 录 的 \Wizards\PDWizard\Setup1 子目录中。 四、修改安装工程 如果希望给打包和展开向导所创建的安装过程添加新的屏幕、提示或事件,则可以修 改 Setup1.vbp 工程。您可以在安装程序中编写代码,如同在其它的 Visual Basic 程序中一 样。大量可用的函数调用在安装程序中都是特别有用的。可能修改安装工具包工程的一些 情形示例包括: 需要在安装过程中添加特殊的用户提示。 希望为安装程序创建一个自定义的外观。 希望在安装过程中显示布告板。布告板介绍了有关产品的特性、服务和支持、注册的 信息,以及其它相关信息。 希望使用自己的压缩工具将应用程序的文件复制到发布媒体上。 注意:由于打包和展开向导要使用安装工具包中的文件,因此应当在进行任何更改之 前都要备份该工程。 此外, 还应该备份 Setup1 目录中的所有内容。 要修改安装工具包工程, 请按照以下步骤执行: ( 1 ) 在 进 行 任 何 更 改 之 前 , 创 建 一 个 \Wizards\PDWizard\setup1.exe 和 \Wizards\ PDWizard\Setup1 目录中所有内容的备份。 (2)从 \Wizards\PDWizard\Setup1 目录打开 setup1.vbp 工程。 (3)对该工程的代码、窗体或模块进行更改。 (4)保存该工程,并将其进行编译以创建 setup1.exe。 (5)如果您使用打包和展开向导来对应用程序打包,则启动打包和展开向导并为应用 程序创建一个软件包。 (6)如果创建您自己的自定义安装软件包,请继续执行“安装工具提示”中概述的步 骤。

发布时间:2019年8月9日 | 评论:0 | 浏览: | 标签:vb程序  

网站建设

用VB建立字符界面的控制台程序

用VB建立字符界面的控制台程序

  即使是初学VB的人,对于如何用它来建立一个GUI界面的标准Windows应用程序,肯定也是胸有成竹;然而,对于如何用VB来编写字符界面的控制台程序(Console-Mode Applications),知道的人恐怕不多。有人甚至认为这是不可能的,因为VB对编写控制台程序并无内在的支持,在VB的“新建工程”对话框里没有“控制台程序”这一选项。实际上,利用Windows提供的应用程序编程接口(API),VB是能够建立控制台程序的。控制台程序与图形界面的标准Windows程序不同,它没有Windows程序所通行的窗口,其与用户的交互是基于字符界面,外观类似于“MS-DOS方式”,同标准的Windows程序相比,控制台程序具有界面简单、占内存少、生成的可执行文件小的优点,因而在某些场合还有用武之地。

发布时间:2019年5月8日 | 评论:0 | 浏览: | 标签:vb程序  

网站建设

采用VB和VC++为开发语言实现电磁兼容标准自动测试软件设计

采用VB和VC++为开发语言实现电磁兼容标准自动测试软件设计

  随着科学技术的发展,人们在生产及日常生活中使用的电气与电子设备也日益增多,而这些设备与其他物体及设备一样,工作在一定环境之中。运行中的电气、电子设备大多伴随着电磁能量的转换,往往对周围环境中的其他用电设备发生影响,与此同时,电气、电子设备本身也会受到其所处环境的各种电磁干扰我国国内目前基于GJB、FCC、CISPR等的测试系统和软件大多采用国外进口的配套软件,这样就相应地产生了很多问题。首先,由于技术的垄断和关税等问题,国外进口的配套软件成本很高,对于一般的小型实验室来说是不小的负担;其次,国外的进口软件仅适用于标准测试,用户的可扩展性差,尤其是对于定位在EMC故障诊断及摸底实验的实验室更改测试参数不容易实现;最后目前对电磁兼容标准的测试存在对标准不清楚或者知道标准而无从下手的情况对实验中的注意事项、实验仪器、实验方法、实验配置和实验布局等存在误区,因而存在着大量的浪费和多余。本软件根据此要求进行开发本软件的目标使电磁兼容标准测试简单化,以节省标准测试方面的不必要的资源浪费。对于电磁兼容标准自动测试系统软件最终用户为电磁兼容标准测试人员。EMI标准自动测试系统软件将解决电磁兼容标准测试工作冗余的问题,实现电磁兼容标准测试简单程序化。电磁兼容标准自动测试软件以VB和VC++为开发语言。其中VB实现界面及数据库功能,VC++实现程控仪器模块的功能。

发布时间:2019年5月8日 | 评论:0 | 浏览: | 标签:vb程序  

网站建设

VB程序错误处理方法小结

VB程序错误处理方法小结

  大家知道,即使程序员抱有最好的愿望,而且计划工作做得非常周密,也无法避免代码出现错误。实际上可能出现的程序错误是很多的,但是它们基本上可以分为两种类型:一种是编译错误;另一种是运行期错误。编译错误是指使得Visual Bacsic(下面简称VB)的编译器无法对代码进行编译的错误。如果一个过程中包含了编译错误,VB将不执行该过程,并且我们也不能向用户提供带有编译错误的运行期版本应用程序,大多数编译错误是句法错误造成的。

  VB有两个设置项会在很大程度上影响我们创建非常坚实的代码的能力。一个设置项是Compile On Demand(按需要进行编译),另一个设置项是Background Compile(后台编译)。可以打开Options对话框,选定General选项卡,然后对这两个设置项进行设置,如下图1所示。当选定Compile On Demand时,如果单击工具栏上的Run按钮,或者按F5键,VB并不全面编译我们的项目。相反,只在引用过程时,才对这些过程进行编译。使用Compile On Demand,通常可使比较大的项目或者速度较慢的计算机上的项目能够更快地启动运行,但是它也会产生某些不被注意的编译错误。

发布时间:2019年5月8日 | 评论:0 | 浏览: | 标签:vb程序  

«1»
海南开文旅资源对接大会 达成意向投资额超40亿元
英国资产料将升值 英国大选出口民调显示保守党狂胜
英国大选约翰逊赢定了?欧盟对民调结果表示欢迎
12月13日现货黄金、白银、原油、外汇短线交易策略
北京市社会福利中心原党委副书记贠根华被双开
上市折戟后WeLab融资11亿元 股东个个来头不小
手机店店员监守自盗:利用漏洞5天盗销十余部手机
美财政部发售中国鼠年“吉利钱” 已销售200万套
美国财政部发售中国鼠年"吉利钱" 已累计销售200万套
有新的假期要来,网友却在流泪