• 沒有找到結果。

Visual Basic程序设计 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Visual Basic程序设计 - 万水书苑-出版资源网"

Copied!
18
0
0

加載中.... (立即查看全文)

全文

(1)

没学过编程的人常常会问,编程难不难,这个问题很难回答。难,的确很难,要编一个 好的程序尤其是这样,并且有些程序还要用到一些其他专业的知识,比如说一个图形处理程 序,就要对图像的格式有所了解,甚至一些美术知识;但编程也很容易,就拿 Visual Basic 来 说,编一个自娱自乐的小工具还是一件相当容易的事情。  Visual  Basic 易学易用,最适合没有接触过计算机和没有计算机理论基础的人士,无须太 多理论知识就可轻松上手。如果你是属于下面几种类型的人,请选择 Visual  Basic,它绝对能 满足你的要求。 l 电脑初学者而且没有学习过“数据结构”等计算机专业课程。 l 想在较短时间内掌握一种可视化开发工具。 l 主要编写中小型 MIS 类程序。 

1.1  Visual Basic 简介 

1.1.1  Visual Basic  的发展

在高级语言的家族中,Basic  语言占有重要的地位,Basic  是英文  Beginner’s  All­purpose 

Symbolic Instruction Code 的缩写(初学者通用符号指令代码) ,它是专门为初学者设计的计算 机语言。 l 第一代 Basic 于 1964 年问世,最初只有十几条语句,通常称为基本 Basic,由于其简 单易学而受到用户的欢迎,很快就得到了广泛的应用。 l 第二代 Basic 是在 20 世纪 70 年代中期到 80 年代中期出现的,其功能有了较大扩充, 应用范围更加广泛,主要有 GW­Basic 和 Microsoft 公司的 Basic(MS­Basic) 。

l 第三代 Basic 是在 20 世纪 80 年代中期出现的结构化的 True Basic、 Quick Basic、 Turbo  Basic、QBasic。

l 第四代就是 Visual  Basic(以下简称 VB),是 1991 年 Microsoft 公司推出的。它的诞生

标志着软件设计和开发的一个新时代的开始。在以后的几年里,VB 经历了 1.0 版、2.0  版、……、6.0 版几次升级,它的功能也更加强大,更加完善,最新版本为 VB.net。从  1.0 到 4.0 版,VB 只有英文版,而 5.0 以后为了方便中国用户同时推出了中、英文版。 现在,我们要学习的就是 VB  6.0。它包括 3 种版本,分别为学习版、专业版和企业版。 这些版本是在相同的基础上建立起来的,因此大多数应用程序可在 3 种版本中通用,3 种版本 适合于不同的用户层次。  1.学习版  VB 的基本版本, 可用来开发 Windows 应用程序, 该版本包括所有的内部控件 (标准控件)、 网格(Grid)控件、Tab 对象以及数据绑定控件。

(2)

2.专业版 该版本为专业编程人员提供了一套用于软件开发的功能完备的工具,它包括学习版的全 部功能,同时包括 ActiveX 控件、Internet 控件、Crystal Report Writer 和报表控件。  3.企业版 可供专业编程人员开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能, 同时具有自动化管理器、部件管理器、数据库管理工具、Microsoft Visual SourceSafe 面向工程 版的控制系统等。 

VB  6.0  是专为  Microsoft  的  32  位操作系统设计的,在  Windows  9x、Windows  NT  或  Windows 2000 环境下,用 VB 编译器可以自动生成 32 位的应用程序。  1.1.2  Visual Basic 特点  VB 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于 开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大。VB 有以下主要功 能特点:  1.具有面向对象的可视化设计工具 在 VB 中,应用面向对象的程序设计方法 OOP(Object­Oriented Programming) ,把程序和 数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具,根据 界面设计的要求,直接在屏幕上“画”出窗口、菜单、命令按钮等各种“部件” ,即不同类型 的图形对象,并为每个对象设置属性。VB 自动产生界面设计代码,程序员仅编写针对对象要 完成的事件过程的代码,因而程序设计的效率可提高许多。 打个比方说:就好比有一个篮子,你想放一个苹果,那就把一个苹果拿进来;想放两个 苹果,就拿两个苹果;想放几个就放几个;如果我不想放苹果,我想放香蕉,那就把香蕉拿 进来,拿多少,放在什么位置,完全根据自己的喜好。在这里,窗体就好比一个篮子,各种 控件就好比苹果和香蕉等水果,需要什么,拿过来用就可以了,而无需自己再去编程实现, 这些控件是系统已经定义好的,非常方便。具体苹果和香蕉是红色的还是绿色的,大的还是 小的,那就要设置各自的属性了。  2.事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。传统的面向过程的应用程序是按事先设 计的流程运行的。但在图形用户界面的应用程序中,用户的动作即事件掌握着程序的运行流 向。一个对象可能会产生多个事件,每个事件都可通过一段程序来响应。例如,命令按钮是 一个对象,当用户单击该对象时,会产生一个“单击” (Click)事件,而在产生该事件时将执 行一段程序,用来实现指定的操作。 比方说:你刚刚做好的那个果篮,做好之后,就等着用户来用了。也就是说,现在对象 已经建立好了,接下来就等待事件的发生了。具体你拿这个果篮干什么用,是送给朋友,还 是自己享用;是先吃苹果,还是先吃香蕉,那就看你怎么编写这个果篮的响应事件的代码了。 有什么样的用途,完全由你编写程序代码来决定。  3.结构化的程序设计语言  VB 结构清晰,简单易学。所谓结构化,就好比我们写作文,你是采用议论文还是散文, 或者是采用疑问句还是反问句,都是要有一定的结构和规范。编程序也不例外,也有它自己

(3)

的结构,包括:顺序结构、选择结构和循环结构。这三种结构灵活运用,就可编写任意的 VB  程序了。关于这一点,在后面章节会有详尽的介绍。  4.强大的数据库操作功能  VB 中利用数据控件可以访问多种数据库系统,如 Microsoft  Access、Microsoft FoxPro 和  Paradox 等,也可访问 Microsoft Excel、Lotus l­2­3 等多种电子表格。VB 6.0 新增了功能强大、 使用方便的 ADO(Active Database Object)技术,该技术包括了现有的 ODBC,而且占用内存 少,访问速度更快。同时提供的 ADO 控件,不但可以用最少的代码创建数据库应用程序,也 可以取代 Data 和远程数据对象(RDO)控件,支持多种数据库系统的访问。 除以上介绍的 VB 主要特性外,VB 还提供了其他一些功能,包括动态数据交换(DDE)、 对象的连接与嵌入(OLE)、动态连接库(DLL)、Internet  组件下载、组件自己的  ActiveX  控 件等。 VB 还提供了多种向导,如应用程序向导、安装向导、数据对象向导和数据窗体向导,还 提供了 IIS 应用程序和 DHTML 等。 通过它们可以快捷地创建不同类型、 不同功能的应用程序。 与 Windows 环境下的软件一样,在 VB 中,利用帮助菜单和 F1 功能键,用户可随时方便 地得到所需的帮助信息。 

1.2  集成开发环境 

1.2.1  Visual Basic 的启动和退出  1.启动 方式一: “开始→程序→Microsoft Visual Studio 6.0 中文版→Microsoft Visual Basic 6.0 中文 版” ,就可启动 VB 6.0。 方式二:如果桌面上有 VB 6.0  的快捷方式,双击也可启动。 启动后界面如图 1.2.1 所示。 图 1.2.1    VB 启动界面 弹出“新建工程”对话框,选择“标准  EXE”,单击“打开”按钮,如图 1.2.2 所示。

(4)

进入 VB 的集成开发环境,启动成功,如图 1.2.3 所示。  2.退出 单击“文件”下拉菜单,选择“退出”选项即可。其他退出方式和基本 Windows 窗口的 退出方式相同,不再一一赘述。 图 1.2.2  “新建工程”对话框 图 1.2.3  VB 的集成开发环境  1.2.2  Visual Basic  集成开发环境  1.标题栏 标题栏中的标题为“工程 1-Microsoft Visual Basic [设计]” ,说明此时集成开发环境处于 设计模式,在进入其他状态时,方括号中的文字将做相应的变化。 属性窗口 工程资源 管理器 工具栏 菜单栏 标题栏 工具箱 窗体窗口 窗体布 局窗口 代码窗口

(5)

VB 有三种工作模式: l 设计模式:可进行用户界面的设计和代码的编制,来完成应用程序的开发。 l 运行模式:运行应用程序,这时不可编辑代码,也不可编辑界面。 l 中断模式:应用程序运行暂时中断,这时可以编辑代码,但不可编辑界面。按 F5 键 或单击“继续”按钮程序继续运行,单击“结束”按钮停止程序的运行。在此模式会 弹出立即窗口,在窗口内可输入简短的命令,并立即执行。  2.菜单栏 菜单栏中的菜单命令提供了开发、调试和保存应用程序所需的工具。VB  6.0 菜单栏中包 括 13 个下拉式菜单,这是程序开发过程中需要的命令(可参阅图 1.2.3) 。 (1)文件(File):用于创建、打开、保存、显示最近的工程及生成可执行文件。 (2)编辑(Edit):用于程序源代码的编辑。 (3)视图(View) :用于集成开发环境下程序源代码、控件的查看。 (4)工程(Project) :用于控件、模块和窗体等对象的处理。 (5)格式(Format) :用于窗体控件的对齐等格式化的命令。 (6)调试(Debug) :用于程序调试、查错的命令。 (7)运行(Run) :用于程序启动、设置中断和停止等程序运行的命令。 (8)查询(Query) :在设计数据库应用程序时用于设计 SQL 属性。 (9)图表(Diagram) :在设计数据库应用程序时编辑数据库的命令。 (10)工具(Tools) :用于集成开发环境下工具的扩展。 (11)外接程序(Add­Ins) :用于为工程增加或删除外接程序。 (12)窗口(Window) :用于屏幕窗口的层叠、平铺等布局以及列出所有打开文档窗口。 (13)帮助(Help) :帮助用户系统学习掌握 VB 的使用方法及程序设计方法。  3.工具栏  VB  6.0 提供了 4 种工具栏,包括编辑、标准、窗体编辑器和调试,并可根据需要定义用 户自己的工具栏。工具栏可以迅速地访问常用的菜单命令。一般情况下,集成环境只显示标 准工具栏,如图 1.2.4 所示。其他工具栏可以选择“视图”菜单的“工具栏”命令或用鼠标在 标准工具栏处单击右键来选取所需的工具栏。 图 1.2.4  标准工具栏  4.窗体(Form)窗口 窗体是 VB 应用程序的主要构成部分,窗体窗口如图 1.2.3 中间部分所示,用户通过与窗 体上的控制部件交互可控制应用程序的运行,得到各种结果。每个窗体窗口必须有一个唯一 控件 管理 器 数据 库浏 览窗 口 工具 箱 对象 浏览 器 窗体 布局 窗口 属性 窗口 工程 资源 管理 器 结束 中断 启动 重复 撤消 键入 查找 粘贴 复制 剪切 保存 工程 打开 工程 菜单 编辑 器 添加 窗体 添加 标准 工程

(6)

的窗体名字,建立窗体时默认名为 Forml、Form2……。 处于设计状态的窗体(见图 1.2.3 中间)由网格点构成,网格点方便用户对控件的定位, 网格点间距可以通过“工具”菜单的“选项”命令,在“通用”标签的“窗体设置网格”栏 中输入“宽度”和“高度”值来改变。可通过属性控制窗体的可见性(运行时窗体的网格始 终不显示) 。一个应用程序至少有一个窗体窗口。 在设计应用程序时,窗体就像是一块画布,在这块画布上可以画出组成应用程序的各个 构件。程序员根据程序画面的要求,从工具箱中选择所需要的工具,并在窗体中画出来,这 就完成了程序设计的第一步。 除了一般窗体外,还有一种 MDI(Multiple Document Interface)多文档窗体,它可以包含 子窗体,每个子窗体都是独立的。  5.属性(Properties)窗口 属性窗口主要是针对窗体和控件设置的,VB 中控件和窗体被称为对象。每个对象都可以 用一组属性来刻画其特征。如图 1.2.5 所示,所有窗体或控件的属性,如颜色、字体、大小等, 可以通过属性窗口来修改。 图 1.2.5  属性窗口 属性窗口由以下部分组成: l 对象组合框:单击其右边的下拉按钮可打开所选窗体包含对象的列表。 l 属性显示排列方式:有“按字母序”和“按分类序”两种方式,图  1.2.5  中显示的是 “按字母序”排列。 l 属性列表框:列出所选对象在设计模式可更改的属性及默认值,对于不同对象所列出 的属性也不同。属性列表由中间一条线把其分为两部分,左边列出的是各种属性名; 右边列出的则是相应的属性值。用户可以选定某一属性,然后对该属性值进行设置或 修改。 l 属性说明栏:当在属性列表框选取某属性时,在该区显示所选属性的含义。  6.工程资源管理器(Project Explorer)窗口 在工程资源管理器窗口中,含有建立一个应用程序所需要的文件的清单。工程资源管理 器窗口中的文件可以分为 6 类,即窗体文件(.frm)、程序模块文件(.bas)、类模块文件(.cls)、 工程文件(.vbp)、工程组文件(.vbg)和资源文件(.res)。如图 1.2.6 和图 1.2.7 所示的是含有 两个工程、多个窗体、多个程序模块和类模块的工程资源管理器窗口。VB  6.0  用层次化管理

(7)

方式显示各类文件,而且也允许同时打开多个工程。 工程资源管理器窗口上面有三个按钮,分别为: l “查看代码”按钮:切换到代码窗口,显示和编辑代码。 l “查看对象”按钮:切换到窗体窗口,显示和编辑对象。 l “切换文件夹”按钮:切换文件夹显示的方式。 图 1.2.6  工程资源管理器窗口(展开) 图 1.2.7  工程资源管理器窗口(折叠) 在工程资源管理器窗口中,各种类型的文件说明: (1)工程文件(.vbp)和工程组文件(.vbg)。每个工程对应一个工程文件,当一个应用 程序包括一个以上工程时,这些工程构成一个工程组,新建一个应用程序就是新建一个工程。 用“添加工程”命令可以在应用程序中添加一个工程。 (2)窗体文件(.frm 文件)。该文件存储窗体上使用的所有控件对象和有关的属性、对象 相应的事件过程、程序代码。一个应用程序至少包含一个窗体文件(最多可达 255 个)。 (3)标准模块文件(.bas 文件)。该文件存储所有模块级变量和用户自定义的通用过程。 通用过程是指可以被应用程序各处调用的过程。 (4)类模块文件(.cls) 。VB  提供了大量预定义的类,同时也允许用户根据需要定义自 己的类,用户通过类模块来定义自己的类,每个类都用一个文件来保存。 (5)资源文件(.res) 。资源文件中存放的是各种“资源” ,是一种可以同时存放文本、 图片、声音等多种资源的文件,是一种纯文本文件,可以用简单的文字编辑器(如 Notepad) 编辑。 (6)ActiveX 控件的文件(.ocx)。可添加到工具箱并在窗体中使用。

【说明】对于图  1.2.6  显示的工程  l(BookSaleser.vbp) 、Forml(BookSale.frm) 、Form2  (Form2.frm)和  Modulel(ServerMain.bas)等,括号左边的部分表示此工程、窗体、标准模 块的名称(即  Name,在程序的代码中使用) ;而括号内的部分表示此工程、窗体、标准模块 等保存在磁盘上的文件名,有扩展名的已保存过,无扩展名则表示当前文件还未保存过。  7.代码(Code)窗口 每个窗体都有各自的代码窗口。代码窗口是专门用来进行程序设计的窗口,可显示和编 辑程序代码,如图 1.2.8 所示。 (1)代码窗口主要包括: l “对象”下拉式列表框:显示所选对象的名称。可以单击右边的下拉按钮,来显示此 窗体中的对象名。其中“通用”表示与特定对象无关的通用代码,一般在此声明模块 级变量或用户编写自定义过程。

(8)

“对象”下拉式列表框 “代码”框 “全模块查看”按钮 “过程查看”按钮 “过程”下拉式列表框 l “过程”下拉式列表框:列出所有对应于“对象”列表框中对象的事件过程名称(还 可以显示用户自定义过程名) 。在“对象”列表框中选择对象名,在“过程”列表框 中选择事件过程名, 即可构成选中对象的事件过程模板, 用户可在该模板内输入代码。 其中“声明”表示声明模块级变量。 l “代码”框:输入程序代码。 l “过程查看”按钮:只能显示所选的一个过程。 l “全模块查看”按钮:显示模块中全部过程。 图 1.2.8  代码窗口 (2)打开代码窗口有以下三种方法: ① 从工程窗口中选择一个窗体或标准模块,并选择“查看代码”按钮。 ② 从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身。 ③ 从“视图”菜单中选择“代码窗口”命令。  8.工具箱(ToolBox)窗口 工具箱窗口由工具图标组成,这些图标是 VB 应用程序的控件。在一般情况下,工具箱位 于窗体的左侧。工具箱中的工具分为两类,一类称为内部控件或标准控件,一类称为 ActiveX  控件。启动 VB 后,工具箱中只有内部控件,如图 1.2.9 所示。 工具箱主要用于应用程序的界面设计。在设计阶段,首先用工具箱中 的工具(即控件)在窗体上建立用户界面,然后编写程序代码。 在设计状态时,工具箱窗口总是出现的。若要不显示工具箱窗口,可 以将其关闭;若要再显示,选择“视图”菜单的“工具箱”命令即可。在运 行状态下,工具箱窗口自动隐去。  9.立即(Immediate)窗口 立即窗口是为调试应用程序提供的,用户可直接在该窗口利用  Print  方法或直接在程序中用 Debug.Print 显示所关心的表达式的值,如图 1.2.10  所示。 10.窗体布局(Form Layout)窗口 窗体布局窗口用于指定程序运行时的初始位置,主要为使所开发的应用程序能在各个不 图 1.2.9  工具箱

(9)

同分辨率的屏幕上正常运行,在多窗体应用程序中较有用。用户只要用鼠标拖动窗体布局窗 口中 Form 窗体的位置,就决定了该窗体运行时的初始位置,如图 1.2.11 所示。 图 1.2.10  立即窗口 图 1.2.11  窗体布局窗口 【说明】在 VB  6.0 中,工具箱中除了已有的“通用(General) ”工具外,还可以往其中 添加选项卡,定制专用工具箱。添加选项卡的方法是,在工具箱窗口上单击右键,选择快捷 菜单中的“添加选项卡”命令,输入新增选项卡的名字。 对添加的选项卡加控件的方法是,在已有的选项卡中拖动所需的控件到当前选项卡;也 可单击选项卡使其激活,再通过“工程”菜单的“部件”命令来装入其他控件。 

1.3  设计一个简单的 VB 应用程序

一般来讲,用 VB 开发应用程序需要以下 4 步: l 建立用户界面 l 设置对象属性 l 编写事件驱动代码 l 保存和运行程序  1.3.1  建立用户界面 用户界面由对象(即窗体和控件)组成。所有的控件都放在窗体上,一个窗体最多可容 纳  255  个控件,程序中的所有信息都要通过窗体显示出来,是应用程序的最终用户界面。在 应用程序中要用到哪些控件,就在窗体上建立相应的控件。程序运行后将在屏幕上显示由窗 体和控件组成的用户界面。 【例 1.1】 编写一个程序。 用户初始界面如图 1.3.1 所示。 要求实现功能: 窗体标题为 “Hello  World!” ;左边按钮标题为“请单击此按钮” ;中间按钮标题为“清屏” ;右边按钮标题为“结 束程序” 。运行时,单击左边按钮,文本框显示: “Hello World! VB,我来了! ” ;如果单击中间 按钮,则清除文本框中显示的内容;如果单击右边按钮,则程序结束。 单击工具箱上相应的控件图标,然后在窗体上拖动鼠标左键,画出相应控件,排列成图  1.3.1 所示的界面。 图 1.3.1  用户界面设计

(10)

1.3.2  设置对象属性 前面窗体上  4  个对象建立好后,就要为其设置属性值。属性是对象特征的表示,各类对 象中都有默认的属性值,设置对象的属性是为了使对象符合应用程序的需要。通常,对于反 映对象的外观特征的一些不变的属性应在设计阶段完成,而一些内在的可变的属性则由编程 实现。 这里,介绍在设计阶段进行属性设置的步骤和方法。 (1)选定要设置的对象。 (2)在属性窗口选中要修改的属性,在属性值栏中输入或选择所需的属性值。 本例中各控件对象的有关属性设置见表 1.3.1,设置后用户界面见图 1.3.2。 表 1.3.1  对象属性设置

默认控件名称(Name) 标题(Caption) 文本(Text) 字号  Form1  Hello World! 无 小五  Text1  无 空白 小五  Command1  请单击此按钮 无 小五  Command2  清屏 无 小五  Command3  结束程序 无 小五 图 1.3.2  设置属性后的窗体 【说明】 (1)属性表中的“无”表示该对象无此属性, “空白”表示无内容。 (2)若窗体上各控件的字号等属性要设置相同的大小,不用逐个设置,只要在建立控件 前,将窗体的字号等属性进行设置,以后建立的控件都有该默认属性值。  1.3.3  对象事件过程及编程 按照 VB 编程步骤,根据应用程序要求,建立了用户界面并为每个对象设置了属性后, 就要考虑用什么事件来激发对象执行所需的操作。 这涉及到选择对象的事件和编写事件过程 代码。 编程总是在代码窗口进行。 代码窗口左边的 “对象” 列表框列出了该窗体的所有对象 (包 括窗体) ,右边的“过程”列表框列出了与选中对象相关的所有事件。在  VB  程序设计中,

(11)

许多功能已封装在对象内部,例如,文本框本身就具有各种文本编辑的功能,文件列表框具 有列出当前目录下的文件的功能。因此,程序设计时,只需编写少量的代码来满足某些功能 要求。 根据本例要求: (1)当单击“请单击此按钮”命令按钮,用户可在文本框  Text1  中键入一个字符串,就 要对命令按钮对象 Commandl 对应的 Click 事件编程。 (2)当单击“清屏”命令按钮,清除文本框的所有内容,就要对命令按钮对象 Command2  对应的 Click 事件编程。 (3)当单击“结束”命令按钮,程序运行结束,这要对命令按钮对象 Command3 对应的  Click 事件编程。 现在以“请单击此按钮”命令为例,说明事件过程编程的步骤: (1) 单击 “对象” 列表框右边的下拉按钮, 列出该窗体包含的所有对象, 选择 Commandl。 (2)单击“过程”列表框右边的下拉按钮,列出与 Commandl 对象相关的所有事件,选 择 Click 事件。此时代码窗口就显示出 Commandl_Click 事件代码的模板,如图 1.3.3 所示。 图 1.3.3  事件过程代码窗口 在窗体的 Load 事件中加入代码:  Sub Form1_Load()  Text1.FontSize=16  '设置字体大小,默认为 9  End Sub  对象 Command1 的 Click 事件过程代码:  Private Sub Command1_Click()  Text1.Text = "Hello World! VB,我来了!"  '显示字符串  End Sub  对象 Command2 的 Click 事件过程代码:  Private Sub Command2_Click()  Textl.Text= ""  '清除文本框内容  End Sub  对象 Command3 的 Click 事件过程代码:  Sub Command3_Click()  End  '结束程序  End Sub  1.3.4  保存和运行程序 在程序的编写过程中要注意程序的保存,尤其是在运行程序前,必须先保存程序,以避免 由于意外造成程序的丢失。程序调试运行结束后还要将经过修改的有关文件再保存到磁盘上。

(12)

1.保存窗体文件和工程文件 如前所述,在 VB 中,一个应用程序是以工程文件的形式保存在磁盘上的。一个工程中涉 及到多种文件类型,本例仅涉及到一个窗体,因此,只要保存一个窗体文件和工程文件。保 存文件的步骤如下: (1)执行“文件”菜单下的“Forml  另存为” (窗体文件) ,系统弹出“文件另存为”对 话框,提示用户输入文件名,如图 1.3.4 所示。在“保存在”列表框中选择保存的文件夹,在 “文件名”文本框中输入文件名(系统根据不同的文件类型,自动添加扩展名) 。本例窗体文 件名为 first.frm,保存在“d:\ch1\”文件夹下。 (2)执行“文件”菜单下的“工程另存为” (工程文件) ,系统弹出“文件另存为”对话 框,提示用户输入文件名,操作同上。本例工程文件名为 first.vbp。 图 1.3.4  文件保存对话框 【说明】 (1)第一次保存文件或欲对文件改名存盘时,选择“文件”菜单下的“Forml  另存为” 和“工程另存为”命令。若以原文件名保存,则利用“保存 Form” 、 “保存工程”命令,也可 利用工具栏中的“保存”按钮。 (2)在存盘时一定要搞清楚文件保存的位置和文件名,以免下次使用时找不到,系统默 认位置为安装路径的 VB98 目录。 一个完整的应用程序至此编制完成。若用户要再次修改或运行该文件,只需选择“文件” 菜单的“打开工程”命令,输入要打开的工程文件名,就可把磁盘上的文件调入内存进行所 需的操作。  2.程序的运行 程序设计完并存入磁盘后,即可运行程序。运行程序的目的,一是输出结果,二是发现 错误。在 VB 中,程序可以以两种模式运行,即解释运行模式和编译运行模式。 (1)解释运行模式。执行“运行”菜单的“启动”命令(或按  F5  键,或单击“启动” 按钮) ,系统读取事件激发的那段事件过程代码,将其转换为机器代码,然后执行该机器代码。 由于转换后的机器代码不保存,如需再次运行该程序,必须再解释一次,运行速度比编译运 行模式慢。在开发阶段为了便于程序的调试,一般使用此模式。 (2)编译运行模式。选择“文件”菜单的“生成.exe”命令后,系统读取程序中全部代 码,将其转换为机器代码,并以扩展名为.exe 的可执行文件保存在磁盘上,供以后多次运行。 在本例中,单击“启动”按钮后,程序处于解释运行模式,等待用户激发事件。只要单

(13)

击“请单击此按钮”按钮,文本框中显示“Hello  World!  VB,我来了! ” ;运行结果如图 1.3.5  所示。若单击“清屏”按钮,则文本框中的内容被清除。单击“结束程序”按钮,程序运行 结束。若在程序运行过程中出错,系统显示出错信息,系统自动进入“中断”运行模式,回 到代码窗口,提示用户对代码进行修改。用户修改好程序后,再运行。 图 1.3.5  运行结果  1.3.5  程序举例 上面介绍了一个 VB 程序从建立到运行的全过程,下面给大家介绍一个有趣的小例子。 【例 1.2】用 VB 做一个漂亮的小时钟吧。界面如图 1.3.6 所示。 图 1.3.6  界面设计 (1)首先,设计界面。然后修改属性,如表 1.3.2  所示。 表 1.3.2  对象属性设置

默认控件名称(Name) 标题(Caption) 形状(Shape) 字号(FontSize)磅值 

Form1  空白 无  12  Timer1  无 无 无  Shape1  无  3­Circle  无  Label1  3  无  12  Label2  6  无  12  Label3  9  无  12  Label4  12  无  12  LineS  无 无 无  LineM  无 无 无  LineH  无 无 无

(14)

注意:LineS、LineM、LineH 的起始位置放在圆心即可,具体编程时根据 Shape1 所在位 置决定。 (2)编写程序代码如下:  Option Explicit  Const pi = 3.14159  Private len_S As Single, len_M As Single, len_H As Single  Private Sub Form_Load()  '先取各指针的长度  len_S = Sqr((LineS.Y2 ­ LineS.Y1) ^ 2 + (LineS.X2 ­ LineS.X1) ^ 2)  '秒针长度 

len_M = Sqr((LineM.Y2 ­ LineM.Y1) ^ 2 + (LineM.X2 ­ LineM.X1) ^ 2)  '分针长度  len_H = Sqr((LineH.Y2 ­ LineH.Y1) ^ 2 + (LineH.X2 ­ LineH.X1) ^ 2)  '时针长度  Call timer1_timer  End Sub  Private Sub timer1_timer()  '定时器的定时事件过程  Dim s As Single, m As Single, h As Single  Form1.Caption = Time  s = Second(Time)  m = Minute(Time)  h = Hour(Time) + m / 60  '绘制秒针  LineS.X2 = LineS.X1 + len_S * Sin(pi * s / 30)  LineS.Y2 = LineS.Y1 ­ len_S * Cos(pi * s / 30)  '绘制分针  LineM.X2 = LineM.X1 + len_M * Sin(pi * m / 30)  LineM.Y2 = LineM.Y1 ­ len_M * Cos(pi * m / 30)  '绘制时针  If h >= 12 Then h = h ­ 12  LineH.X2 = LineH.X1 + len_H * Sin(pi * h / 6)  LineH.Y2 = LineH.Y1 ­ len_H * Cos(pi * h / 6)  End Sub  (3)运行程序,结果如图 1.3.7 所示。 图 1.3.7  运行结果

(15)

1.4  面向对象的基本概念 

1.4.1  对象  VB 是一种基于面向对象的程序设计语言,用 VB 进行程序设计,实际上是与一组标准对 象进行交互的过程。 对象是具有某些特性的具体事物的抽象。每个对象都具有描述其特征的属性及附属于它 的行为。对象在现实生活中到处可见。例如,一个人、一辆汽车、一台电脑等都是一个对象。 例如,一辆汽车有型号、外壳、车轮、颜色和功率等特性,又有启动、加速和停止等行为。  VB 中的对象与面向对象程序设计中的对象在概念上是一样的,但在使用上有很大区别。 在面向对象程序设计中,对象由程序员自己设计,而在 VB 中,对象分为两类,一类是由系统 设计好的,称为预定义对象,可直接使用;另一类由用户定义,可以像  C++一样,建立用户 自己的对象。窗体和工具箱中的控件就是 VB 中预定义的对象。 对象是具有特殊属性(数据)和行为方式(方法)的实体,建立一个对象后,其操作通 过与该对象有关的属性、事件和方法来描述。 

VB  还提供了系统对象,例如,打印机(Printer) 、剪贴板(Clipboard) 、屏幕(Screen) 和应用程序(App)等。  1.4.2  对象的建立和编辑  1.对象的建立 可以通过两种方法在窗体上建立对象。第一种方法分两步实现: (1)将鼠标定位在工具箱内要制作的控件对象对应的图标上,单击左键进行选择。 (2)将鼠标移到窗体上所需的位置处,按住鼠标左键拖曳到所需的大小后释放鼠标。 第二种方法是直接在工具箱双击所需的控件图标,则立即在窗体中央出现一个大小为默 认值的对象框。  2.对象的选定 要对某对象进行操作,只要单击欲操作的对象就可选定该对象,这时选中的对象出现  8  个方向的控制柄。 若要同时对多个对象进行操作,则要同时选中多个对象,方法有两种: (1)拖动鼠标指针,将欲选定的对象包围在一个虚线框内即可。 (2)先选定一个对象,按 Ctrl 键,再单击其他要选定的控件。 例如,要对多个对象设置相同的字体,只要选定多个对象,再进行字体属性设置,则选 定的多个对象就具有相同的字体。  3.复制或删除对象 (1)复制对象。选中要复制的对象,单击工具栏中的“复制”按钮,再单击“粘贴”按 钮,这时会显示是否要创建控件数组的对话框,单击“否”按钮,就复制了标题相同而名称 不同的对象。 【说明】初学者不要用“复制”和“粘贴”方法来新建控件,因为用这种方法容易建立

(16)

成控件数组,造成后面编写事件过程时出现问题。 (2)删除对象。选中要删除的对象,然后按 Del 键。  4.对象的命名 每个对象都有自己的名字,有了它才能在程序代码中引用该对象。建立的控件都有默认 的名字,例如,Forml、Form2、Textl 之类的窗体、文本框默认名。用户也可在属性窗口通过 设置 Name(名称)来给对象重新命名,名字必须以字母或汉字开头,由字母、汉字、数字串 组成,长度不超过  255  个字符,其中可以出现下划线(但最好不用,以免与代码中的续行符 混淆) 。  1.4.3  对象的属性、事件和方法 对象是具有特殊属性(数据)和行为方式(方法)的实体,VB 的控件是具有自己的属性、 事件和方法的对象,可以把事件看作对象的响应,把方法看作对象的动作,它构成了对象的 三要素。  1.属性 属性是一个对象的特性,VB 程序中不同的对象有不同的属性。它们是用来描述和反映对 象特征的参数,对象中的数据就保存在属性中。常见的属性有标题(Caption) 、控件名称

(Name) 、颜色(Color) 、字体大小(FontSize) 、是否可见(Visible)等,它决定了对象展现 给用户的界面具有什么样的外观及功能。不同的对象具有各自不同的属性,用户要详细了解 各对象的属性可查阅帮助系统。 用户可以通过以下两种方法设置对象的属性: (1)在设计阶段利用属性窗口直接设置对象的属性。 (2)在程序代码中通过赋值语句实现,其格式为: 对象名.属性名称=新属性值 例如,假设窗体上有一个文本框控件,其名字为 Display(名称) ,它的属性之一是 Text, 即在文本框中显示指定的内容,其在程序代码中的书写形式为:  Display.Text="Good Morning!"  2.事件、事件过程和事件驱动 (1)事件(Event)。事件是由 VB 预先设置好的、能够被对象识别的动作。例如 Click(单 击) 、DblClick(双击) 、Change(改变)和 KeyPress(键盘按下)等。 (2)事件过程(Event Procedure) 。当在对象上发生了事件后,应用程序就要处理这个事 件,响应这个事件所执行的操作通过一段代码来实现,这段程序代码叫做事件过程。VB 应用 程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的一般格式如下:  Private Sub  对象名称_事件名称([参数列表])  …… 事件响应程序代码 ……  End Sub  【说明】当用户对一个对象发出一个操作时,可能同时在该对象上发生多个事件。例如, 单击一下鼠标,同时发生了 Click、MouseDown 和 MouseUp 事件。写程序时,并不要求对这

(17)

些事件都编写代码,只要对感兴趣的事件过程编码。没有编码的为空事件过程,系统也就不 处理该事件过程。 (3)事件驱动程序设计。在传统的面向过程的应用程序中,程序执行的先后次序由设计 人员编写的代码决定,用户无法改变程序的执行流程。在 VB 中,程序的执行发生了根本的变 化。程序执行后,系统等待某个事件的发生,然后去执行处理此事件的事件过程,待事件过 程执行完后,系统又处于等待某事件发生的状态,这就是事件驱动程序设计方式。这些事件 驱动的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径可能都是 不同的。 一个 VB 应用程序的执行步骤如下: ①启动应用程序,装载和显示窗体。 ②窗体(或窗体上的控件)等待事件的发生。 ③事件发生时,执行对应的事件过程。 ④重复执行步骤②和③。 如此周而复始地执行,直到遇到 END 结束语句结束程序的运行或单击“结束”按钮强行 停止程序的运行。  3.方法 在传统程序设计中, 过程和函数是编程语言的主要部件。 而在面向对象的程序设计 (OOP) 中,引入了称为方法(Method)的特殊过程和函数。在  VB  中已将一些通用的过程和函数编 写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了很大的方便。因为方法 是面向对象的,所以在调用时一定要用对象。对象方法的一般调用格式为:  [对象.]方法[参数名表]  若省略其中的对象,则表示为当前对象,一般把当前窗体作为当前对象。例如:  Forml.Print  "欢迎使用 Microsoft  软件"  此语句使用 Print 方法在对象 Forml 窗体中显示“欢迎使用 Microsoft  软件”的字符串。

习题一

一、选择题  1.VB 6.0 共有三个版本,按功能从弱到强的顺序排列应是( )。  A.学习版、专业版和工程版  B.学习版、工程版和专业版  C.学习版、专业版和企业版  D.学习版、企业版和专业版  2.工程文件的扩展名是( )。  A..frm  B..vbp  C..bas  D..frx  3.窗体文件的扩展名是( )。  A..frm  B..vbp  C..bas  D..frx  4.英文“Visual”的含义是( )。  A.可视化  B.集成  C.结构化  D.调试

(18)

二、填空题  1.VB 的工作状态有__________、__________、__________。  2.OOP 的含义是__________。  3.VB 的程序设计方法是__________、__________。  4.双击窗体中的对象后,出现的窗口是__________。 三、简答题  1.VB 有多种类型的窗口,在设计阶段如想看到代码窗口,如何操作?  2.叙述 VB 的特点。  3.如何使窗口显示或不显示?

參考文獻

相關文件

教師請學生分成小組,然後派發附件一「癱姐妹生命 熱線與死神搶客」新聞摘要及附件二「我幫助了有需

「僅僅靠事件的順序本身並不能構成情節。」「因

內容概要: 透過有聲故事書分享及討論,培養學生 考慮別人的感受及需要,並以真誠及關 懷的態度與同學和諧共處。..

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书

當兒童以自由叙述形式披露事件後,如 內容的資料不足,調查員可用開放式問 題澄清事件的時、地、人、性質及發生 經過.. 呢件事係點發 生,幾時發生

危機事件 後果 可預測性 持續性 震撼程度 估計危機 影響程度 一對小四及小. 二的兄妹,居 於學校同邨的

表 2.1 是近年來校園常見災害事件調查統計表,自 92 年 12 月至 98 年 9 月 間重大校園災害事件,計有 57 件,火災約有 17 件,化學性傷害約 6

由于音乐以声波振动的非语义性组织结构与人类的情感、意志活动直接同构对应,所以音乐