




已阅读5页,还剩527页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual Basic程序设计(第二版上),高等院校计算机应用技术规划教材,谭浩强 主编,总 目 录,第1章 程序设计的基本知识 第2章 设计一个简单的Visual Basic应用程序 第3章 Visual Basic的基本语法 第4章 窗体 第5章 使用文本框和标签输入输出文字信息 第6章 命令按钮、复选框、单选按钮和框架 第7章 列表框、组合框和滚动条 第8章 对话框 第9章 图片框、图像框和计时器,总 目 录,第10章 菜单设计 第11章 文件系统控件 第12章 图形 第13章 多文档界面 第14章 建立和访问数据库 第15章 对象的链接与嵌入使用OLE控件 第16章 ActiveX控件 第17章 多媒体控件 第18章 错误处理程序,第1章 程序设计的基本知识,1.1 为什么要学习Visual Basic 1.2 程序设计的有关概念,BASIC是Beginners All-Purpose Symbolic Instruction Code(初学者通用符号代码)的缩写。与其他高级语言相比,它的语法规则相对简单,容易理解和掌握,且具有实用价值,被认为是最理想的初学者语言。,1.1 为什么要学习Visual Basic 1.1.1 BASIC语言是最容易掌握的计算机语言,BASIC语言自诞生以来,在广泛使用中不断地发展。至今为止,BASIC已经历了4个发展阶段。第一代 BASIC指最早期的 BASIC(1964年到20世纪70年代初期),它的功能简单,只有十几个语句,常称为基本BASIC 。第二代BASIC指微机出现初期的BASIC(20世纪70年代中期到20世纪80年代中期),功能有较大扩充,应用面较广,其代表为GW-BASIC和Microsoft 的BASIC(即MS-BASIC)。第三代BASIC是在20世纪80年代中期出现的结构化的BASIC语言,其代表为True Basic、Quick Basic、Turbo Basic、QBasic。,第四代就是Visual Basic,它是为Windows环境下编程使用的BASIC。目前,第一代BASIC早已被淘汰,第二代BASIC正在向第三代BASIC转移,随着Windows环境的推广使用,将会有更多的人学习和使用Visual Basic。,前三代的BASIC语言,尽管功能不断丰富,但都是在DOS操作环境下使用的,它提供给用户的是字符界面,看起来单调枯燥。例如,向计算机输入两个数a和b,要求计算机输出ab的值c。可以用传统的BASIC语言编写出以下程序。 10 INPUT enter a:,a 20 INPUT enter b:,b 30 c = a * b 40 PRINT c =;c 50 END,1.1.2 Windows的出现使Visual Basic应运而生,该程序运行时,在输入a和b的值并按Enter键后,屏幕如图1.1所示。用过Windows的人显然不满足这样的人机对话方式。Windows提供的是图形界面,即提供给用户的界面不仅包括字符,而且能包括各种图形。这就是图形用户界面(graphic user interface,GUI)。对于上述求c=a*b的题目,如果提供给用户的界面如图1.2所示,在“被乘数a”的框内输入a值,再在“乘数b”的框内输入b的值,然后单击“相乘”按钮,在 “a*b的值”的框内显示出c=a*b的结果。显然,用户更欢迎这样的界面。,图1.1,图1.2,1. 提供可视化的编程工具 用传统的高级语言编程序,主要的工作是设计算法和编写程序。程序的各种功能和显示的结果都要由程序语句来实现。而用Visual Basic开发应用程序,包括两部分工作: 一是设计用户界面;二是编写程序代码。,1.1.3 Visual Basic的基本特点,Visual Basic为程序设计人员提供图形对象(窗体、控件、菜单等),以进行应用程序的界面设计。例如,程序设计人员可以根据用户的需要在屏幕上画出如图1.2所示的用户界面。在传统的程序设计中,为了在屏幕上显示出一个图形,就必须编写一大段程序语句。而Visual Basic使屏幕设计变得十分简单。Visual Basic提供一个“工具箱”,箱内放有若干个“控件”。程序设计者可以自由地从工具箱中取出所需控件,放到窗体中的指定位置,而不必为此编写程序。也就是说,屏幕上的用户界面是用Visual Basic提供的可视化设计工具直接“画”出来的,而不是用程序“写”出来的。,设计用户界面如同用各种不同的印章在一张画纸上盖出不同的图形。被认为是最难的界面设计,就这样轻而易举地解决了。其实,这些编程工作只是不由用户来做,而由Visual Basic系统完成而已。 所谓用户界面设计,就是要设想让用户看到什么。Windows之所以比DOS受欢迎,就是因为具有生动直观、对用户“友好”的界面。现在,Visual Basic成功地解决了用户界面设计的难点,这就为设计应用程序提供了良好的基础。,2. 采取“事件驱动”的方式编程 传统的编程方法是根据程序应实现的功能,写出一个完整的程序(包括一个主程序和若干个子程序)。在执行时,从第一个语句开始,直到结束语句为止。在执行过程中,除了需要用户输入数据时暂停外,程序开始运行后不停顿地按程序中指定的顺序执行各指令,直到程序结束。因此程序设计者必须十分周到地考虑到程序运行中的每一个细节: 什么时候应发生什么事情,什么时候屏幕上应出现什么。因此对编写应用程序的程序设计人员提出较高的要求。,Visual Basic改变了程序的结构和运行机制,没有传统意义上的主程序,使程序执行的基本方法是由“事件”来驱动子程序(在Visual Basic中将“子程序”称为“过程”)的运行。例如,在屏幕上已画出了一个“相乘”的按钮,用户用鼠标单击此按钮,就产生一个“单击鼠标事件”,由此执行一个相应的“单击鼠标事件过程”,该过程应执行将两个数相乘的操作。执行完该过程后程序暂停,等待用户下一次操作。,如果屏幕上画有6个命令按钮(如“相加”、“相减”、“相乘”、“相除”、“求余”和“打印”),用户单击其中一个按钮,该按钮就产生一次“单击鼠标事件”。每一个命令按钮都有相应的“单击事件过程”, 单击不同的按钮,就执行不同的程序,执行不同的操作。程序设计人员只须分别编写出这样一些单个的过程即可。一般来说,每个过程要实现的功能是单一的(如上述“相乘”、“相加”的操作),过程的规模一般不会太大。也就是说,把原来一个由统一控制的、包罗万象的大程序分解为许多个独立的、小规模的过程,分别由各种“事件”来驱动执行,大大降低了程序人员编程的难度。,Visual Basic是面向对象的、结构化的计算机语言。Visual Basic的界面由对象(窗体和控件)组成,每个对象有若干个属性,程序人员的任务是设计这些对象和对象的事件过程。Visual Basic的语法与QBASIC基本相同,学过Quick BASIC和QBASIC的人,无须任何训练便可很熟练地进行Visual Basic编写代码的工作。 本书将以Visual Basic 6.0中文版为背景,介绍用Visual Basic进行程序设计的有关概念和方法。,结构化程序设计强调程序设计的风格和程序设计的规范化,提倡清晰的结构。结构化程序设计方法的基本思路是,把一个复杂问题的求解过程分为若干个阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。具体地说,采取如下方法来保证得到结构化算法: ,1.2 程序设计的有关概念 1.2.1 结构化程序设计,(1) 自顶向下; (2) 逐步细化; (3) 模块化。 人们在接受一个任务后怎样去做呢?一般有两种不同的方法: 一种是自顶向下,逐步细化;另一种是自下向上,逐步积累。以写文章为例来说明这个问题。有的人在写文章之前,先构想文章的提纲(及文章的结构),如包括哪些部分,每部分分成哪几节,每一节包含哪些内容,等等。用这种方法逐步细化,直到作者认为可以直接将各部分表达为文字为止。这种方法称为“自顶向下,逐步细化”。,另有些人写文章时不拟提纲,想到哪写到哪,直到他认为已将想写的内容都写出来为止。这种方法称为“自下向上,逐步积累”。 显然,用第一种方法考虑周全,结构清晰,层次分明,作者容易写,读者读起来条理分明。提倡使用这种方法。 使用“自顶向下,逐步细化”的结构化设计方法的过程是对问题求解并由抽象逐步具体化的过程。使用这种方法便于检查程序的正确性。在每一步细化之前,应仔细检查当前的设计是否正确。如果每一步细化、设计都没有问题,则整个程序的算法是正确的。由于每一次向下细化都不太复杂,因此容易保证整个算法的正确性。这样做,思路清楚,有条不紊,既严谨又方便。,除了自顶向下,逐步细化之外,在处理较大的复杂任务时,常采取“模块化”的方法,即在程序设计时不是把全部内容都放在同一个模块中,而是分成若干个模块,每个模块实现一个功能。划分模块的过程可以使用自顶向下的方法实现。模块化的思想实际上是“分而治之”的思想,把一个大的任务分为若干子任务,子任务还可以继续划分为更小的子任务。这些子任务对应于模块。在程序中往往用子程序实现模块的功能。,结构化程序设计的3个要素(自顶向下,逐步细化,模块化)中,最核心的是“逐步细化”。这种方法是“方法论”知识中重要的一部分。这种从抽象到具体、从总体到细目的分解过程,以及最后实现这些细化的过程都具有严密的逻辑性。逐步细化方法是由“程序设计目标”到写出源程序的正确途径。 在设计一个结构化的算法之后,还要进行结构化编码,即采用结构化的计算机语言表示算法,也就是编写程序。,尽管结构化程序设计方法已得到广泛的使用,但是仍有一些问题没有得到很好的解决。其中主要的问题是,这种设计方法重点在于用结构化的方法描述系统的操作过程。结构化程序设计语言又称为“面向过程的语言”,“面向过程的语言”将被处理的数据与相关操作分离,因此程序模块和数据结构的关系是松散的。面向对象的程序设计方法正是针对这个问题提出的一种新的程序设计技术。,1.2.2 面向对象程序设计,面向对象的程序设计最基本的概念是将数据与处理数据的函数合并成一个单元,每个单元称为一个对象。使用面向对象的设计原则编写程序时,重要的是如何将一个复杂的问题分解为一组对象。这种设计方法符合人们的思维习惯,便于分析复杂的问题,有利于软件的维护。 使用面向对象的程序设计,并不是放弃结构化程序设计方法。在对象的实现中,仍需要使用结构化程序设计技术。 Visual Basic是在BASIC和Quick Basic语言的基础上发展起来的,具有结构化的高级语言的语句结构,同时支持面向对象的程序设计技术,具有强大的功能。,第2章 设计一个简单的Visual Basic应用程序,2.1 启动Visual Basic 2.2 一个简单的应用程序 2.3 开发Visual Basic应用程序的步骤 2.4 如何运行与保存程序 2.5 离开Visual Basic环境应用程序能否运行 习题,使用Visual Basic编写程序之前,必须先启动Visual Basic系统。有几种启动Visual Basic的方法,其中一种方法是,在Windows系统中,将光标移到桌面左下角的“开始”按钮上,用鼠标单击,上方弹出一菜单。用鼠标单击“程序”选项,右侧弹出第二级菜单,光标移到“Microsoft Visual Basic 6.0中文版”上,它的右边出现Visual Basic 6.0程序组,如图2.1所示,再将光标移到“Microsoft Visual Basic 6.0中文版”上,单击鼠标左键,启动Visual Basic的开发环境,如图2.2所示。,2.1 启动Visual Basic,图2.1,图2.2,所有的Visual Basic应用程序都在这个环境下开发,它包括以下几个组成部分。 (1) 标题栏: 位置在窗口的顶部。它用来显示窗口的标题,标题文字后面方括号内指出了目前处在设计状态、运行状态或中断状态。在图2.2中标题栏显示的“工程1-Microsoft Visual Basic设计 ”表示当前处在Visual Basic环境,正在工作的是“工程1”,是设计状态。,(2) 菜单栏: 位置在标题栏的下方。共包括13个下拉式菜单,即“文件”、“编辑”、“视图”、“工程”、“格式”、“调试”、“运行”、“查询”、“图表”、“工具”、“外接程序”、“窗口”和“帮助”,每项菜单都含有若干命令。选择菜单上的命令,就可执行相应的操作。例如,打开一个工程、保存或删除文件、编辑程序、设计菜单以及寻求帮助,等等。 (3) 工具栏: 位置在菜单栏的下方。它以图标的形式提供常用的菜单命令。这些图标都是快速操作按钮,只要用鼠标单击某个按钮,就可执行相应的动作,不必再打开某个菜单选取某个命令。,(4) 工具箱: 位置在窗口的左侧。它提供了若干个在设计时需要使用的常用工具。这些工具以图标的形式排列在工具箱中。设计人员在设计阶段可以使用这些工具在窗体上构造出所需的应用程序界面。 (5) 窗体窗口: 位置在屏幕正中。设计人员根据需要可以使用工具箱中的工具在其上画出各种图形,以便设计出用户所需的应用程序界面。窗体相当于一张画纸,可以在其上画出所需图形界面。,(6) 工程窗口: 位置在屏幕的右上方。它列出当前应用程序所包含的文件清单。一个应用程序可以包含多种类型的文件,它们分别是: 后缀为.frm的窗口文件,后缀为.bas的标准程序模块文件,后缀为.cls的类文件,后缀为.ctl的用户控件文件,后缀为.pag的属性页文件。如图2.3所示。 (7) 属性窗口: 位置在工程窗口的下方。属性窗口中列出当前激活的一个窗体或控件(统称对象)的所有属性。,图2.3,【例2.1】 设计一个程序,在运行时若用鼠标单击窗体,在窗体上显示出“Visual Basic欢迎您”一行文字,运行结果如图2.4所示。 要用Visual Basic完成一个任务,必须解决两类问题。 (1) 设计一个用户操作界面。用户输入或输出信息都在这个界面中进行。当然,用户界面应当使用户感到方便美观。 (2) 设计程序代码。使程序运行后能按规定的目标和步骤进行操作,以达到题目的要求。,2.2 一个简单的应用程序,图2.4,对本例来说,用户界面无特殊要求,只要求在窗口中输出一行文字,因此不必专门设计用户界面,也不必使用工具箱中的工具,只需编写程序代码,使其输出所要求的信息即可。 编写程序代码要在“程序代码窗口”中进行。当前看到屏幕中的窗口是Form窗口(窗体窗口)。怎样从Form窗口进入代码窗口呢?通过以下3种途径可以进入代码窗口。 双击当前窗体(双击一个控件也可进入该控件所对应的代码窗口)。 单击工程窗口的“查看代码”按钮,如图2.5所示。,图2.5,选择“视图”菜单中的“代码窗口”命令,如图2.6所示。 双击窗体后,屏幕上出现与该窗体对应的代码窗口,如图2.7所示。 代码窗口的标题栏中显示窗体的名称。代码窗口分为对象框和过程框这两个部分。代码窗口左边是对象框,它包含所有与当前窗体相联系的对象。由于是双击窗体后进入代码窗口的,所以对象框中显示的是Form。如果现在要对其他对象进行编码,应单击对象框右侧向下的箭头以打开一个下拉列表框,框中列出了本窗体用到的所有对象,可以用鼠标单击任一个对象,对象框中可显示出所选的当前对象。图2.8中显示的是Form。,图2.6,图2.7,图2.8,代码窗口右边是过程框,包含了与当前选中的对象相关的所有事件,单击右侧的按钮,可以展开一个下拉列表框,用鼠标单击所需的事件名,就可以对刚才所选择的对象和事件进行编码,图2.8中选择的是Click(单击)事件。 因为题目要求在程序运行时,若单击窗体就显示出一行字符,所以应按下列步骤操作。 在代码窗口的对象框中选择Form(窗体)。 在过程框中选择Click。当选择了对象和事件后,在代码窗口立即自动出现相应的过程框架:,Private Sub Form_Click() End Sub 然后在Private Sub Form_Click()与End Sub两行之间输入程序语句。现在输入以下语句: Print Visual Basic 欢迎您! 以上Print语句的作用是将双引号中的内容原封不动地输出到窗体上。在Visual Basic中,Print被称为一种“方法”。,至此,已经编写出了一个对窗体单击事件的响应过程,也就是说,在运行程序时,若用户用鼠标单击窗体,系统就会执行下列过程: Private Sub Form1_Click() Print Visual Basic 欢迎您! End Sub 在屏幕的窗体上输出“Visual Basic欢迎您!”一行文字。其中,关键字Private(私有)表示该过程只能在本窗体中调用,应用程序中的其他窗体或模块不可调用它。关键字Sub是过程的标志,Form_Click是过程名,它由两部分组成: 对象和事件名,之间用下划线连接,End Sub表示过程结束。,本程序进入运行状态后,用鼠标单击窗体,窗体上就出现一行“Visual Basic欢迎您!”,再单击一次再显示一行。如图2.9所示的是单击5次窗体的结果。当用户从“运行”菜单中选择“结束”命令后,程序结束运行。 工具箱中包含了许多工具,如文本框、标签、命令按钮等,它们以不同的图标形式排列在工具箱中,用这些工具可在窗体上画出各种各样的图形。工具箱中的每一个图标都代表一个控件(Control)。这些控件就是一种“对象”。称为“对象”的还有窗体,也就是说,窗体和控件都是对象。,图2.9,“事件”是由系统事先设置好的、某一对象可以识别的动作。通俗地说,“事件”是作用在对象上的某种事先规定的动作,如在窗体上单击一次鼠标(单击窗体),在窗体上连续单击两次鼠标(双击窗体),等等。不同的对象可以识别不同的事件。例如上题的窗体能识别单击事件(Form_Click )。在运行时,当用户用鼠标单击窗体时,就发生了窗体的单击事件,这时窗体会对该事件作出响应,至于具体作出什么样的响应,要由程序人员所编写的事件过程来实现。,例题中,在事件过程Form_Click中规定对用户单击事件的响应是: 在屏幕上显示出一行字“Visual Basic欢迎您!”。在Visual Basic中用来响应事件的过程称为“事件过程”。现在修改以上程序,要求在窗体上添加两个命令按钮,一个是“显示”,另一个是“退出”。程序开始运行后,用户若单击一次“显示”按钮,就会在窗体上输出一行文字。单击“退出”按钮,则结束程序的运行。 可以通过以下两种方法将命令按钮添加到窗体上。,(1) 把鼠标指针移到工具箱中的命令按钮图标上,单击鼠标左键,然后将鼠标指针移至窗体,这时指针由箭头变成“十”字。将“十”字指针移到所希望的位置,并按住鼠标左键,拖动鼠标直至所需要的尺寸,然后释放鼠标,一个命令按钮就被添加到窗体上了。 (2) 在工具箱中双击命令按钮图标后,一个命令按钮的图形就自动加到窗体的中心位置上。如果想将此命令按钮移动到所需的位置,只要将鼠标移到命令按钮上,按住鼠标左键不放,将命令按钮拖到所需位置,然后放开鼠标左键即可。 添加了命令按钮的窗体如图2.10所示。,图2.10,在Visual Basic中,每种对象有若干个属性。不同对象的属性类型和属性个数是不同的。通常,在一个程序中用户并不需要用到一个对象的全部属性,而只须从系统所提供的属性中选用一部分。 现在设置以上用户界面的3个对象(一个窗体和两个命令按钮)的属性。将窗体的Caption(标题)属性值定为一个文字串: “最简单的应用程序”,“名称”的属性值定为frmSimplest。还指定了窗体的前景色、背景色和字体大小等属性值。命令按钮的Caption(标题)属性值定为“显示”,“名称”属性值定为cmdDisplay,字体大小的属性值定为18。设置的属性如表2.1(见书13页)所示。,在程序设计阶段,设置属性值应在属性窗口中进行。属性窗口位于屏幕的右下方,如图2.11所示。 首先单击窗体上某一控件,使其“激活”,成为当前活动控件。这时可以看到属性窗口上部的“对象框”中出现了该对象的名称(如图2.11所示中的Form1)。然后在属性窗口中找到需要设置的属性,再指定属性值。例如,单击窗体使其处于活动状态,在属性窗口找到属性Caption(标题),可以看到系统事先为窗体设置的Caption属性值(称为默认值)为Form1。单击此行,可以看到此行变为醒目(蓝色)显示。,图2.11,为了改变系统给定的标题,删除Form1并用汉字重新输入“最简单的应用程序”。此时可以看到窗体中的标题已由Form1改为“最简单的应用程序”,第一个属性就设置好了。下面再设置“名称”(Name)属性。同样在属性窗口中找到属性“名称”,可以看到“名称”的默认属性值为Form1。单击此行,然后改变系统给定的名称,先删除Form1并输入frmSimplest,“名称”属性也设置完毕。,有些属性值不需要用户从键盘上输入,只须从系统给出的若干个值中选择一个即可。例如,定义窗体的背景颜色BackColor,在属性窗口上找到BackColor并单击它,右侧出现一个向下的黑色箭头,单击这个箭头打开调色板(如图2.12所示)。本例中,欲把背景色设定为白色。用鼠标单击调色板中的白颜色,系统将白色所对应的属性值(&H00FFFFFF&)显示在BackColor属性行的右侧。以同样的方法对前景色ForeColor属性值进行设置,把前景色定为红色(&H000000FF&)。,图2.12,最后设置“字体”(Font)属性,在属性窗口找到属性Font并单击它,右侧出现按钮。单击这个按钮,立刻打开一个对话框(如图2.13所示),其中包括“字体”、“字形”、“大小”等。把“大小”中的“小五”(系统默认值)改为“四号”,然后用鼠标单击“确定”按钮退出对话框。至此,已将需要设定的属性值设定完毕。设置后的属性窗口如图2.14所示。从属性窗口中可以看到系统提供的窗体的属性是很多的,但只改变了其中4项,其他的属性均采用系统提供的默认值。,图2.13,图2.14,窗体属性值设置完毕后,接着设置命令按钮的属性值。将光标移到命令按钮Command1上,单击使命令按钮激活(可以看到,激活后的命令按钮周边有8个小黑点,表示这是激活状态),同时可以看到属性窗口中的对象框中的内容已自动变成Command1。现在开始设置命令按钮的属性值。在属性窗口找到属性Caption,可以看到它的默认属性值为Command1,单击此行,然后改动系统给定的标题,先删除Command1并输入汉字 “显示”,可以看到命令按钮中的文字已由Command1改为“显示”,命令按钮的第一个属性已设置完毕。,再定义“名称”属性,同样在属性窗口找到属性“名称”,它的默认属性值为Command1,单击此行,然后改动系统给定的名字。先删除Command1,再重新输入cmdDisplay,“名称”属性值也设置好了。最后定义字体大小。在属性窗口找到属性Font,然后按上述介绍的方法对字体大小属性值进行设置,将“小五”改为“五号”,再用鼠标单击“确定”按钮退出对话框。 用同样的方法设置“退出”(Command2)按钮的各属性值。,属性“标题”与“名称”的作用有什么不同?“标题”是显示在对象上的,用户可以在屏幕上看到它,以便识别不同的对象。而“(名称)”不显示在对象上,它是用于程序识别的。例如,本例中命令按钮Command1的Caption(标题)属性值是“显示”,它显示在窗体中的命令按钮上。命令按钮的“名称”属性值是cmdDisplay,它在屏幕上是看不到的,只供程序识别,即在窗体上看到的是“显示”,而在程序中使用的是cmdDisplay,在后面将看到cmdDisplay这个名字出现在程序中。,属性设置完毕后,就可以编写事件过程的程序代码。过程代码是针对某个对象事件编写的。题目要求单击命令按钮后,在窗体上输出一行文字。为了编写程序代码,必须使屏幕显示出代码窗口。双击命令按钮进入代码窗口(也可以从工程窗口单击“查看代码”按钮,进入代码窗口),此时代码窗口出现如下内容: Private Sub cmdDisplay_Click() End Sub,表示对名为cmdDisplay的对象(即命令按钮)的单击鼠标事件(Click)进行程序设计。根据题意在上述两行命令之间输入Print Visual Basic 欢迎您! ,即: Private Sub cmdDisplay_Click() Print Visual Basic欢迎您! End Sub “退出”按钮的程序如下: Private Sub cmdExit_Click() End End Sub,其中的End命令将结束程序的运行。 选择菜单“运行”中的“启动”命令,程序运行。单击窗体上的“显示”命令按钮,按钮就像被按下一样,在以白色为背景的窗体上显示出红色的文字串“Visual Basic 欢迎您!”(运行结果如图2.15所示)。,图2.15,【例2.2】 设计一个程序,用户界面由3个命令按钮和一个文本框组成。当用户单击其中的“显示”命令按钮后,在文本框上显示文本内容;单击“清除”命令按钮,则清除文本框内容;单击“退出”命令按钮,则结束程序的运行。 根据题目要求,用户界面设计如图2.16 所示。 首先将文本框加到窗体上。参照上题的做法把光标移到工具箱中的文本框图标上单击,文本框即改为浅灰色,然后将光标移到所希望放置文本框的窗体位置上,按住鼠标左键作斜线运动,拖拉成所需要的尺寸,然后释放左键,一个文本框就加到窗体上了。,图2.16,按以上介绍的方法把3个命令按钮放到窗体所需的位置上。此时窗体上建立了一个文本框和3个命令按钮。按上例介绍的办法分别设置如表2.2(见书17页)所示的各对象的属性值。 在本例中,窗体的 Caption(标题)和Name(名称)属性均使用了系统的默认值。 文本框可以用来显示文字信息。下面对文本框的属性进行设置。 用鼠标单击窗体上的文本框,使其处于激活状态,从属性表中找到Name属性,可以看到用鼠标单击Name属性,此时的Name属性值为Text1(系统默认值),将其删除,修改为txtInfo。,接着设置文本框的Text属性。Text属性的值就是文本框中所显示的内容。添加到窗体上的文本框中默认显示着“Text1”字符串。可以根据需要对Text属性值进行修改。从属性表中找到Text属性,单击它,可以看到其右侧的属性值为“Text1”。将字符串“Text1”删除掉,即清空文本框,使文本框中不显示任何信息。最后将文本框的字体大小属性值设置为“三号”。 接着,按要求分别设置3个命令按钮的属性值。 以下是显示命令按钮单击事件过程的程序代码:,Private Sub cmdDisplay_Click() txtInfo.Text=VB程序设计快速入门 End Sub 若用户单击“清除”按钮,就使文本框清空: Private Sub cmdClear_Click() txtInfo.Text= End Sub 要想清除文本框中显示的内容,将Text属性置空即可。其实,在前面的属性表中为文本框设置属性时已经实现过清空文本框的功能,这里只是通过程序语句来实现罢了。,“退出”按钮的过程同前面的例题。 运行时单击“显示”按钮后的结果如图2.17所示。若再单击“清除”按钮,文本框中无任何文字显示。,图2.17,1. 设计用户界面 从上述几个例题可以体会到,用工具箱中的控件可以在窗体上按用户需要画出用户界面。用户界面由窗体和控件两部分组成。窗体就是进行界面设计时在其上画控件的窗口。在“文件”菜单中选择“新建工程”命令,所看到的即是窗体。,2.3 开发Visual Basic应用程序的步骤,2. 设置属性 属性设置的方法在前面已作了初步介绍。在属性窗口中所进行的工作是设置属性初始值,用户也可在程序中对它们进行设置或修改,如前面的例题所述。 3. 编写事件过程代码 这里的过程指的是一组Visual Basic语句,即Visual Basic的源程序。一个事件过程是响应一个对象产生的“事件”,以及有关的操作。,关于Visual Basic的程序代码,有以下几点说明。 (1) Visual Basic程序的每个过程是由若干个语句行构成的,每一行称为一个语句行。一行中可以包含一个语句,也可以包含一个以上的语句。如果一行内包含两个或更多的语句时,语句间以冒号间隔,如“a=10:b=10:c=30”。 (2) 每个语句行最多允许有255个字符。为了阅读方便,可以把一个语句行分若干行书写,在需要换行处用空格加下划线表示续行。 (3) 语句行可以没有行号,程序按语句排列的顺序依次执行。,(4) 程序中可以使用标号。标号由字母或数字再加一个冒号组成。它的作用是作为行的标志,常用于转移语句的指向。 (5) 程序中可以包含执行语句和非执行语句。执行语句使计算机产生动作,如Print、 If、End等均是执行语句。非执行语句不产生机器操作,例如上面程序的第一行Rem语句就是一个非执行语句,它的作用是为程序或语句作注释,以便使自己和别人易于阅读和理解程序和语句。在Visual Basic中,除用Rem表示注释外,还可以用“”表示注释语句。,运行一个Visual Basic程序,可以通过以下几种途径: 从菜单栏中选择“运行”菜单的“启动”命令; 按F5键; 从工具栏中选择“启动”图标。 如果想终止程序的运行,可从菜单栏中选择“运行”菜单的“结束”命令,或从工具栏中选择“结束”图标。,2.4 如何运行与保存程序,一个Visual Basic程序称为一个工程(即一个项目),一个工程中往往包含多个不同类型的文件。这些文件需要分别保存。 保存程序时,从菜单栏中选择“文件”菜单中的“Form 另存为”项,屏幕出现“文件另存为”对话框,如图2.18所示。系统提供一个供用户选用的文件名,如果不想用这个名字,可以输入自己指定的文件名,然后用鼠标单击“确定”按钮,这时,文件被保存(窗体文件的后缀是.frm),同时关闭对话框。,图2.18,如果一个Visual Basic的工程包含多个文件,例如,有多个窗体文件,或有其他类型的文件,均应按此方法分别保存在不同的文件中。同时还需要保存一个工程文件。选择“文件”菜单中的“工程另存为”命令,在出现的“文件另存为”对话框中,输入工程文件名,单击“确定”按钮。工程文件的后缀为.vbp。,一个独立运行的文件是指没有Visual Basic的环境,直接在Windows下运行。 前面列举的例题都是在解释方式下运行的。当一个应用程序开始运行后,Visual Basic解释程序就开始对程序逐行解释,逐行执行。,2.5 离开Visual Basic环境应用程序能否运行,如果想使应用程序不在Visual Basic环境中运行,就必须对应用程序进行编译生成exe文件。具体做法如下: 从菜单栏中选择“文件”菜单,打开下拉式菜单,可以看到有“生成P2_3.exe”菜单命令,如图2.19所示,选择它后出现“生成工程”对话框,如图2.20所示,从键盘上输入想要的文件名,然后单击“确定”按钮,关闭对话框,一个exe文件便生成了。 如果需要运行编译后的程序,可以在Windows系统的“资源管理器”或“我的电脑”中找到该文件,然后双击文件名即可执行;也可以在DOS的系统提示符下直接输入可执行文件名并运行它。,图2.19,图2.20,2-1 开发Visual Basic应用程序的步骤是什么? 2-2 在窗体上添加一个标签框。标签框的边框风格属性值为1(BorderStyle属性值为Fixed Single)。单击窗体时,在标签框中显示Visual Basic的字样,如图2.21所示。,习题,图2.21,第3章 Visual Basic的基本语法,3.1 数据类型 3.2 变量 3.3 标准函数 3.4 运算符和表达式 3.5 基本语句 3.6 数组,3.7 子程序 3.8 函数 3.9 文件的操作 习题,表3.1(见书22页)列出Visual Basic所允许使用的基本数据类型。 通用型(Variant)也称变体型,是一种通用的、可变的数据类型,它可以表示上述任何一种数据类型。,3.1 数据类型 3.1.1 基本数据类型,Visual Basic提供一种VarType函数,用来测定一个Variant变量的实际数据类型。VarType函数的值是一个数值,其含义如表3.2(见书23页)所示。,有时会感到仅有以上基本数据类型是不够的,希望将不同类型的数据组合成一个有机的整体,以便于引用。这样一个整体是由若干不同类型的、互相有联系的数据项组成的。它类似于C语言中的“结构体”类型的数据。这种结构称为“记录”。Visual Basic提供了Type语句让用户自己定义这种数据类型。它的一般形式为:,3.1.2 用户自定义类型,Type 类型名 元素名 As 类型 元素名 As 类型 元素名 As 类型 End Type,在程序执行过程中,其值可以发生变化的量称为变量。程序中的变量要有一个名称,即变量名。在Visual Basic中,对变量命名有如下规定: (1) 变量名的第一个字符必须是字母; (2) 变量名的第二个字符及其后的字符可以是字母、数字及下划线;,3.2 变量 3.2.1 变量名和变量值,(3) 变量名的长度不能超过255个字符; (4) 可以用表示变量类型的字符(如$、%、#等)作为变量名的最后一个字符; (5) 不能将Visual Basic的保留字作为变量名使用; (6) 在变量名中,大小写字母是等价的,如在同一个程序中,变量名Abc、abc、ABC表示相同的变量; (7) 变量名中间不能有空格; (8) 在同一个程序模块中,不能有相同的变量名。,每一个变量在内存中占有一定的存储单元。变量名实际上就是变量的符号地址。在计算机系统中自动建立一变量名与内存地址的对照表。访问变量时,通过变量名找到对应的地址,通过地址访问内存单元。内存单元中存放变量的实际值。设程序中有如下语句: a=10 该语句表示将数值10存入变量名为a的内存单元中。,在Visual Basic中可以用以下几种格式来声明变量的类型。 (1)第一种方式:用Dim和Static声明变量名称和类型。 使用Dim声明变量 Dim 变量名 As 数据类型,3.2.2 变量的声明, 使用Static声明变量 Static 变量名 As 数据类型 使用Static声明的变量为静态变量。它与Dim声明的变量不同之处在于在执行一个过程结束时,过程中所用到的Static变量的值会保留,下次再调用此过程时,变量的初值是上次调用结束时被保留的值,而Dim声明的变量在过程结束时不保留,每次调用时需要重新初始化。,【例3.1】 编写一个程序,观察静态变量的特点。在窗体上添加一个命令按钮,按钮的Caption属性是“执行一次过程”。命令按钮的名称为Command1,事件过程如下。 Private Sub Command1_Click() Static a As Integer Dim b As Integer a = a + 1 b = b + 1 End Sub,单击“执行一次过程”按钮时,程序运行一遍。当第一次调用此过程时,由于未对a和b赋初值,所以系统对它们赋以默认值0。执行完此过程的最后一个语句后,a和b均等于1。由于a是静态变量,因此,变量a不释放,a的值被保留起来;而变量b被释放,b的值不保留。第二次调用此过程时,a的初值为1,b为0,执行完此过程的最后一个语句后,a的值为2,b的值为1。单击按钮4次后,界面如图3.1所示。,图3.1,(2)第二种方式: 用省略As子句的Dim语句将变量声明为变体类型。 Dim 变量名 (3)第三种方式: 用类型声明符声明变量类型。 使用类型声明符(见表3.1)隐含声明变量的数据类型。,Visual Basic提供了许多常用的函数,并把它们编写成一个个子程序,用户在使用时只须写出它的名字(即函数名)就可以直接引用。这些函数称为标准函数。例如,要计算x+y的平方根,只要使用平方根函数,写出Sqr(x+y)即可。 标准函数可按功能分为数值函数、转换函数、字符串函数、日期函数和其他函数等。下面按照类别介绍常用的标准函数。,3.3 标准函数,1. 数值函数 数值函数是用来进行数值运算的函数。表3.3(见书27页)中列出了一些最常用的数值函数。 2. 转换函数 转换函数可用于转换数据类型、转换大小写字母等。常用的转换函数如表3.4(见书28页)所示。 【例3.2】 在窗体上添加一个文本框和一个命令按钮。当运行程序时,向文本框中输入一个字符,单击命令按钮,在窗体上显示该字符的ASCII码。,首先启动Visual Basic,然后按照题目的要求,从工具箱中选择文本框控件,并将其添加到窗体上,文本框的名称为Text1。从工具箱中选择命令按钮控件,并添加到窗体上,名称为Command1,按钮上显示的文字是“显示ASCII码”。用鼠标单击窗体,然后在右侧的属性窗口中选择Caption,输入“使用函数”。窗体外观如图3.2所示。 按照题目要求,在单击按钮时程序执行指定的操作。因此要将显示命令等操作写在命令按钮的单击事件过程中。程序如下:,图3.2,Private Sub Command1_Click() Print ASCII 是: ; Asc(Text1.Text) End Sub 运行程序,向文本框中输入大写字母“A”,单击“显示ASCII码”按钮,字母“A”的ASCII码值65被显示在窗体上,如图3.3所示。,图3.3,3. 字符串函数 字符串处理是比较常用的操作,表3.5(见书29页)中列出了常用的字符处理函数。 4. 日期函数 表3.6(见书29页)中列出了几个常用的日期处理函数。,【例3.3】 了解Date、Time、Now和VarType等函数的使用。窗体上只有一个命令按钮,其Caption属性为“使用日期函数”。 Private Sub Command1_Click() Print Now :; Now, VarType(Now) Print Date:; Date, VarType(Date) Print Time:; Time, VarType(Time) Print Day :; Day(Now), VarType(Day(Now) End Sub,运行程序,单击命令按钮“使用日期函数”,窗体上显示Now函数的值及Now的数据类型;显示出当前日期Date及Date的数据类型;显示当前时间Time及Time的数据类型。运行结果如图3.4所示。 从图中可以看到,Now返回当前日期、时间,Date返回当前日期,Time返回当前时间,Day返回的是指定时间的日期数。这4个函数中只有Day的数据类型不是日期型(返回值为2,对应于整型变量),其他3个函数的返回值都是7,即日期型变量。,图3.4,Visual Basic有下列3类运算符: (1) 算术运算符,用来进行算术运算; (2) 关系运算符,用来比较两个运算量的大小; (3) 逻辑运算符,用来进行逻辑运算。 与此相对应,有3种表达式,即算术表达式、关系表达式和逻辑表达式。,3.4 运算符和表达式,Visual Basic提供的算术运算符如表3.7(见书30页)所示。 在表3.7中,运算符按优先级由高到低排列,即指数运算的优先级最高,而加、减运算的优先级最低。,3.4.1 算术运算符,关系运算的结果只有“真”(True)或“假”(False)。关系运算实际是逻辑运算中较简单的一种运算。所谓关系运算就是将两个数进行“比较”运算。如xy就是一个关系表达式,它将x和y进行关系运算。关系表达式的结果为真或假,如53的值为真,-3=3的值为假。 Visual Basic提供的关系运算符如表3.8(见书31页)所示。,3.4.2 关系运算符,用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式,也称为布尔表达式。逻辑运算(也称布尔运算)的值为一个逻辑量“真”或“假”。 Visual Basic提供的逻辑运算符见表3.9(见书31页)。,3.4.3 逻辑运算符,赋值语句的作用是将一个数据赋给一个变量,它的一般格式为: 变量名 = 表达式 在Visual Basic中,经常用到下述几种赋值语句。,3.5 基本语句 3.5.1 赋值语句,1给变量赋值 可以采用如下方法为变量赋值: Dim v As Integer Dim book As String*20 v=26 book=Visual Basic 以上语句分别把数值26赋给整型变量v,把字符串Visual Basic赋给字符串变量book。26与Visual Basic都为常量,常量是表达式的最简单的形式。可以将一个表达式的值赋给一个变量,所以下面的赋值语句是合法的:,Dim sum1 As Double Dim price1 As Single,price2 As Single price1=198.6 price2=1386.95*0.8 sum1=price1*23+price2*500,2为对象的属性赋值 在Visual Basic中,可以在程序中用赋值语句为对象的属性设置属性值(有的属性则必须如此)。它的一般格式为: 对象.属性=属性值 例如,为命令按钮cmdDisplay的Caption属性设置值: cmdDisplay.Caption=显示文本,为文本框txtDisplay的FontName及FontSize属性设置值: txtDisplay.FontName=System txtDisplay.FontSize=18 如果为同一个对象的多个属性赋值,可以使用withEnd With语句。 With txtDisplay .FontName = System .FontSize = 18 End With,3为用户自定义型变量的各元素赋值 一般格式为: 变量名.元素名=表达式,在Visual Basic中可以进行条件测试,然后根据测试的结果执行不同的操作。Visual Basic提供下述几种格式的If语句。,3.5.2 条件语句,1. 单条件If语句 If Then End If 如果条件为真,执行Then后面的语句,如果条件为假,不执行Then后面的语句而执行End If 后面的语句。,【例3.4】 输入a、b、c 3个数,输出其中最大的数。 按照图3.5建立一个窗体,窗体上有两个命令按钮,分别是“运行”和“退出”。 属性设置如表3.10(见书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邮储银行2025白山市半结构化面试15问及话术
- 建设银行2025太原市秋招结构化面试经典题及参考答案
- 中国银行2025巴中市秋招笔试专业知识题专练及答案
- 中国银行2025德宏傣族景颇族自治州笔试英文行测高频题含答案
- 工商银行2025唐山市秋招无领导模拟题角色攻略
- 中国银行2025九江市秋招笔试性格测试题专练及答案
- 交通银行2025郑州市秋招群面案例总结模板
- 邮储银行2025运城市小语种岗笔试题及答案
- 邮储银行2025蚌埠市秋招半结构化面试题库及参考答案
- 工商银行2025日喀则市秋招笔试价值观测评题专练及答案
- 机械动力学PPT完整全套教学课件
- 年产2.03万吨高端精细化学品及5G新材料项目环评报告书
- 群众文化副高答辩问题及答案
- 弱电维护保养合同
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- 主编-孙晓岭组织行为学-课件
- 新闻传播中的媒介素养课件
- 中医刮痧法诊疗操作评分标准
- 《师范生教师职业能力证书》样式及说明
- 学校体育学(第三版)ppt全套教学课件
- 住建部《建筑业10项新技术(2017版)》解读培训课件
评论
0/150
提交评论