第二章 VB简单的程序设计 2.1 程序设计方法的发展 2.2 对象的概念 2.3 建立简单的应用程序 2.4 基本控件和属性 2.5 工程的管理及环境的设置
第二章 VB简单的程序设计 2.6 生成可执行文件 和制作安装盘 2.7 程序调试 2.8 常见错误 习题和实验
2.1 程序设计方法的发展 1. 初期的程序设计 高运行效率、少占用内存为目标 2. 结构化程序设计 程序的可读性、可维护性为目标 程序=算法+数据结构 的面向过程的程序设计 3. 面向对象的程序设计 降低程序的复杂性、提高软件的开发效率和改善工作界面为目标 程序=对象+消息 返回
2.2 对象的有关概念 1.类 类是创建对象实例的模板, 包含了创建对象的属性描述和行为特征的定义. 2.对象 是类的一个实例,继承了类的属性、方法。 VB中常用的对象有:窗体、控件等。 3. 对象的建立和命名
2.2 对象的有关概念 4. 对象的三要素 (1)属性 对象的性质,即用来描述和反映对象特征的参数。 (2)方法 对象的行为,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。
2.2 对象的有关概念 响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。 事件过程 (3)事件 响应对象的动作称为事件,它发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。 事件过程 指附在该对象上的用户编写的程序代码,是事件的处理程序。 事件驱动过程 是图形用户界面的本质,由用户控制而代码做出响应。
2.2 对象的有关概念 1)启动应用程序,装载和显示窗体 2)窗体(或窗体上的控件)等待事件的发生; 3)事件发生时,执行对应的事件过程; 5.VB程序的执行步骤如下: 1)启动应用程序,装载和显示窗体 2)窗体(或窗体上的控件)等待事件的发生; 3)事件发生时,执行对应的事件过程; 4)重复执行步骤(2)和(3); 5)直到遇到“END”结束语句结束程序的运行或按“结束”强行停止程序的运行。
2.3 建立简单的应用程序 以例2.1为例 1.建立用户界面的对象 2.对象属性的设置 3.对象事件过程及编程 4.程序运行和调试 5.保存文件
2.4 基本控件和窗体 一、常用属性 1. Name名称属性 创建的对象名称,有默认的名.在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。 2.Caption标题属性 该属性决定了控件上显示的内容。
2.4 基本控件和窗体 3. Height、width、top和left属性
2.4 基本控件和窗体 4. Enabled属性 控件是否可操作. 当设置为false时,呈暗淡色,禁止用户进行操作. 5. Visible属性 定控件是否可见.当设置为false时, 用户看不到,但控件本身存在。
2.4 基本控件和窗体 6. Font属性 Fontname 字体 fontsize字体大小 fontbold是否是粗体 fontitalic 是否斜体 fontstrikethru是否加一删除线 fontunderline是否带下划线
2.4 基本控件和窗体 例2.2 在窗体上建立两个命令按钮 例2.2 在窗体上建立两个命令按钮 Cmddisp1和Cmddisp2, Cmddisp2的Font通过属性窗口设置, 其余属性通过代码实现。
0-transparent:透明显示,即控件背景颜色显示不出来 2.4 基本控件和窗体 7. Forecolor前景颜色属性 设置控件的前景颜色(即正文颜色). 其值是一个16进制常数,用户可以在调色板中直接选择所需颜色。 8. Backcolor背景颜色属性 9. Backstyle背景风格属性 0-transparent:透明显示,即控件背景颜色显示不出来
2.4 基本控件和窗体 10. BorderStyle边框风格属性 0-None:控件周围没有边框 1-Fixed Single:控件带有单边框。 11. Alignment属性 控件上正文水平对齐方式 0: 正文左对齐 1: 右对齐 2: 居中
2.4 基本控件和窗体 12. AutoSize属性 控件是否根据正文自动调整大小. 13. WordWarp属性 AutoSize 为True时,WordWarp才有效 True:按照文本和字体大小在垂直方向上改变显示区域的大小,水平方向不变 False:在水平方向上按正文长度放大和缩小;在垂直方向上以字体大小放大或缩小显示区域
2.4 基本控件和窗体 14.TabIndex属性 决定了按Tab键时,焦点在各个控件移动的顺序。 15.控件默认属性 反映该控件最重要的属性,见表1.2.3
2.4 基本控件和窗体 例2.3 控件设置 效果
2.4 基本控件和窗体 二、窗体
2.4 基本控件和窗体 二、窗体 1.属性 Caption标题 MaxButton、MinButton 、 Icon、 ControlBox 、 Picture、AutoRedraw BorderStyle (0 1 2 3 4 5 ) WindowsState (0-正常、1-最小化、2-最大化)
2.4 基本控件和窗体 2.事件 Click、DblClick和Load Load 当装入窗体时激发,通常用于对属性和变量初始化 3.方法 Print、Cls和Move等 例2.4 上述属性、Click、DblClick和Load 事件演示。
2.4 基本控件和窗体 三、标签 Label 例2.5 显示浮雕效果的文字 实现方法:字颜色、标签位置 用于显示文本(输出)信息,不能作为输入信息的界面。 例2.5 显示浮雕效果的文字 实现方法:字颜色、标签位置
2.4 基本控件和窗体 四.文本框 TextBox 是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。 1.其他属性 Maxlength: 设置正文的最多字符个数,0-任意长度值.
2.4 基本控件和窗体 MultiLine: 是否为多行,默认一行 FALSE ScrollBars: 当MultiLine为True时,该属性才有效,表示滚动条的形式 0-None、1-Horizontal、 2-Vertical、3-Both。
2.4 基本控件和窗体 SelStart,SelLength,SelText : 选中文本的起始、长度、内容。 例2.6 复制选中的文本。 Locked: 是否可被编辑属性,默认False,表示为可编辑。 PassWordChar : 口令字符。 Text属性返回输入的数据,屏幕显示该字符。 SelStart,SelLength,SelText : 选中文本的起始、长度、内容。 例2.6 复制选中的文本。
2.4 基本控件和窗体 2.常用事件 Change : 当改变文本框的Text属性时会引发该事件. KeyPress(KeyAscii As Integer): 同上,并可返回一个KeyAscii参数 KeyAscii 为13,按回车键;为0 去除刚输入的字符. LostFocus : 当控件失去焦点时发生. GotFocus : 当控件获得焦点时发生.
2.4 基本控件和窗体 3. 常用方法 [对象.]SetFocus 把光标移到指定的文本框对象中。 4. 文本框的应用 数据过滤 例2.7 要求输入合法的数字数据。当输入结束时(按Tab键),对于输入正确的数据,显示正确信息;对输入的非数字数据,则响铃(Beep)、显示错误信息、清除文本框中的内容,并使焦点重新回到文本框。
2.4 基本控件和窗体 例2.7使用的事件、函数和方法 IsNumeric(txtNum ) : 判断是否输入非数字数据. txtNum_ LostFocus 当输入结束按Tab键时,该事件激发 IsNumeric(txtNum ) : 判断是否输入非数字数据. txtNum.SetFocus : 使焦点重新回到文本框
2.4 基本控件和窗体 接受用户输入的命令。输入命令的三种方式: 五.命令按钮CommandButton 鼠标单击 按Tab键焦点到该按钮 快捷键 1. 其他属性 Caption: 命令按钮显示的内容,可设置快捷键,例 &Ok ,显示 Ok
2.4 基本控件和窗体 2.事件 Click Value: 检查该按钮是否按下. 该属性在设计时无效. Picture : 按钮可显示图片文件(.bmp和.Ico),当Style为1时有效 Style : 确定显示的形式. 0 只能显示文字, 1 文字、图形均可 。 ToolTipText :设置工具提示,和Picture结合使用。 2.事件 Click
2.4 基本控件和窗体 3.例 2.8 建立一个允许剪切、复制和粘贴的简单便笺板程序。 3.例 2.8 建立一个允许剪切、复制和粘贴的简单便笺板程序。 增加内容:利用MouseMove事件决定命令按钮的有效性,即当选中内容,“剪切”、“复制”按钮有效,否则无效。
2.4 基本控件和窗体 六 常用方法 [对象.]方法 形式: [对象.]Print[{Spc(n)|Tab(n)}] 方法是面向对象的,故使用的形式为: [对象.]方法 1.Print方法 形式: [对象.]Print[{Spc(n)|Tab(n)}] [表达式列表][;|,]
说明: 2.4 基本控件和窗体 作用: 在对象上输出信息。 1.对象:窗体、图形框或打印机(Pinter) ,省略对象则在窗体上输出。 2. Spc(n)函数:插入n个空格,允许重复使用。
2.4 基本控件和窗体 3. Tab(n)函数:左端开始右移动n列,允许重复使用。 4. ;(分号):光标定位于上一个显示的字符后。 5. ,(逗号):光标定位在下一个打印区的开始位置处。 若无;,则换行。
2.4 基本控件和窗体 6.开始打印的位置由对象的 CurrentX和CurrentY 属性决定,缺省为对象的左上角0,0 注意:Print方法若要在Form _Load事件过程中起作用,必须设置窗体的 AutoRedraw 属性为 True 或使用方法 Form1.show
2.4 基本控件和窗体 例2.9 显示图形 For i = 1 To 5 Print Tab(i); String(6 - I, "▼"); Private Sub Form_Click() For i = 1 To 5 Print Tab(i); String(6 - I, "▼"); Spc(6); String(I, "▲") Next i End Sub 注意:String(number, character)返回指定长度重复字符的字符串。
2.4 基本控件和窗体 2. Cls方法 形式 : [对象.]Cls 作用 : 清除运行时在窗体或图形框中显示的文本或图形。 考虑:若Spc(6)换成Tab(6),效果如何? 2. Cls方法 形式 : [对象.]Cls 作用 : 清除运行时在窗体或图形框中显示的文本或图形。 注意 : 不清除在设计时的文本和图形。
说明:对象可以是窗体及除时钟、菜单外的所有控件 2.4 基本控件和窗体 3. Move方法 形式 : [对象.]Move 左边距离 [,上边距离[,宽度[,高度]]] 作用 : 移动窗体或控件,并可改变其大小。 说明:对象可以是窗体及除时钟、菜单外的所有控件
2.4 基本控件和窗体 例2.10 图形起始点(左上角)移到窗体的中心,同时图形缩小50%。
2.4 基本控件和窗体 七. 应用举例 例2-11 编一计算月支付贷款的程序。 要求根据房产商提供的信息,买房者选择房型、面积、单价、按揭期等信息,计算每月支付代款的程序。 第一个窗体:列表框选择数据、标签显示数据、文本框输入数据; 第二个窗体:图形框显示房屋的平面图。 Pmt函数计算月支付贷款
2.4 基本控件和窗体
2.5 工程的管理及环境的设置 一.工程的组成 工程文件包含了一个应用程序的所有文件: 窗体文件(.frm):控件及属性、事件过程和自定义过程 窗体的二进制数据文件(.frx),自动产生同名.frx文件。
2.5 工程的管理及环境的设置 二.创建、打开和保存工程(p.38) 三.添加、删除和保存文件(p.39) 标准模块文件(.bas) 类模块的文件(.cls) 资源文件(.res) ActiveX控件的文件(.ocx) 二.创建、打开和保存工程(p.38) 三.添加、删除和保存文件(p.39)
注意: 2.5 工程的管理及环境的设置 1.窗体名和窗体文件名概念 前者是窗体的Name属性,在代码中用这个名称来引用该窗体,同一工程不能有相同的窗体名; 后者是存放在磁盘上的窗体文件名,该文件包含了该窗体的所有控件属性和代码,同一文件夹不能有相同的文件名。
2.5 工程的管理及环境的设置 2. 在工程中添加现存的文件时,只是对该文件的引用纳入工程。因此,如果更改文件并保存它,会影响包含此文件的任何工程。 3. 在工程中删除文件时,仅将此文件从工程里删除掉,但是仍存在于磁盘上。但是,如果在VB之外删除一个文件,VB不能更新此工程文件,当打开此工程时,将显示一个文件丢失的错误信息。
2.5 工程的管理及环境的设置 2)利用编辑程序打开工程文件 , 修改 FORM=XXX的文件名 4.对文件改名方法: 1)打开工程“另存为…”实现文件的复制 保存工程文件 2)利用编辑程序打开工程文件 , 修改 FORM=XXX的文件名
2.6 生成可执行文件 和制作安装盘 以工程文件例2.11.VBP为例 1.生成可执行文件 文件/生成V6B2-11.exe文件,然后关闭Visual Basic6.0。 2.制作安装盘 运行VB6.0中文版工具 “Package & Deployment”,在向导的指导下:
2.6 生成可执行文件 和制作安装盘 “打包”:把工程中用到的各种类型的文件进行打包压缩后,存放到特定的目录下。 “展开”:再把这些打包的文件展开到用户可以携带的拿来安装的软盘、光盘等介质。 3.检测安装程序 在没有VB6.0系统的环境下,执行安装盘中的Setup.exe文件,将发行盘进行安装。
2.7 程序调试 一、错误类型 (1)编辑错误 在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提示出错信息,出错的那一行变成红色。这时,用户必须单击“确定”按钮,关闭出错提示窗,然后对出错行进行修改。
2.7 程序调试 一、错误类型 (1)编辑错误
2.7 程序调试 (2)编译错误 编译错误指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,Visual Basic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。
2.7 程序调试 (2)编译错误
2.7 程序调试 (3)运行错误 运行时错误指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。
2.7 程序调试 (4)逻辑错误 程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错误往往是程序存在逻辑上的缺陷所引起。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及调试。
2.7 程序调试 二、调试错误 (1)VB的三种模式 进行程序的界面设计、属性设置、代码编写等 运行模式[运行] 2.7 程序调试 二、调试错误 (1)VB的三种模式 设计模式[设计] 进行程序的界面设计、属性设置、代码编写等 运行模式[运行] 执行“运行/启动”命令,可以查看程序代码,但不能修改。 中断模式[中断] 当在运行模式,按了“中断”命令或当程序出现运行时错误时进入中断模式。可以查看代码、修改代码、检查数据。
2.7 程序调试 (2)调试窗口 (3)设置断点和逐语句跟踪 “立即”窗口、“监视”窗口、“本地”窗口 2.7 程序调试 (2)调试窗口 有三个调试窗口: “立即”窗口、“监视”窗口、“本地”窗口 可单击视图菜单中的对应命令打开这些窗口。 (3)设置断点和逐语句跟踪 断点是告诉VB挂起程序执行的一个标记,当程序执行到断点处即暂停程序的运行,进入中断模式。设置或删除断点的步骤: 中断模式下,直接查看某个变量的值,只要把鼠标指向所关心的变量处,稍停一下,就在鼠标下方显示该变量的值。
2.7 程序调试 断点标记 当前行
2.8 常见错误 1.使用中文标点符号 2.字母和数字形状相似 3.对象名称(Name)属性写错 系统产生“无效字符”,以红色显示 2.字母和数字形状相似 字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。 3.对象名称(Name)属性写错 Text1、Text2、Command1 txtInput、txtOutput、cmdOk
2.8 常见错误 4.对象的属性名、方法名、标准函数名写错 5.变量名写错 6.语句书写位置错 尽量使用自动列出成员功能。 在通用声明段加Option Explicit 6.语句书写位置错 在通用声明段只能有Dim语句,不能有赋值等其它语句
2.8 常见错误 7.无意形成控件数组 8.打开工程时找不到对应的文件 建立控件时小心使用“复制”、“粘贴”按钮。 保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。
习题和实验 一、习题 教材P52 习题1 ~ 13 二、实验 教材P301 实验一 1.1~1.3、1.5、 1.7