VisualBasic程序设计教程(VisualBasic6.0)2011SUSE一、为什么要学本课程?全国计算机等级考试(二级)中,计算机程序设计是必修课程。Windows程序设计的语言有如下几种:传统的C/C++语言:面向过程,学习难度大。VisualC++:面向对象,学习难度大。VisualFoxPro:面向对象和数据库,已停止发展。VisualBASIC:面向对象,功能强大,比较简单,适合于作为第一门计算机课程。2011SUSE学了VB可以干什么?VB可以实现:开发各种应用程序。如“考试系统”。数据库管理。如“财务管理、成绩管理”等。开发动态交互网站。如“电子商务、网上查询”等。(用VBScript脚本语言,是VB的子集)2011SUSE二、考试要求国家二级考试:本学期末可以开始报考。分科:笔试+机试,单科成绩一年内有效。考场:本校考场。考试时间:每年4月、9月,提前3个月报名,必须以班为单位集体报名。考试费:130元。考试内容:参看《模拟考试软件》和考试大纲。省二级考试:参看考试大纲2011SUSE三、学习要求上课:认真听讲,适当做笔记,不要什么都记。下课:多上机练习、多背程序、多做题。上机实验:要求提前写好程序时,希望尽量做到。最大目的:锻炼逻辑思维,培养创造性,学会发现问题、思考问题、分析问题、解决问题的方法。(掌握算法)2011SUSE第一章概述第二章VisualBasic程序设计入门第三章窗体与常用控件第四章程序设计基础第五章程序控制结构第六章数组第七章过程第八章文件第九章图形操作第十章界面设计第十二章程序调试及错误处理第十一章VisualBasic数据库编程VisualBasic程序设计教程2011SUSE第一章概述1.1VisualBasic的发展和特点1.1.1VisualBasic的发展VisualBasic是一种可视化的、面向对象和采用事件驱动方式的高级程序设计语言,可用于开发Windows环境下的各类应用程序。VisualBasic由Microsoft公司于1991年推出,它的诞生标志着软件设计和开发开始了一个新的时代。自1991年至今,Microsoft公司先后发布了1.0-7.0等几个升级版本,使得功能更加强大、完善。目前比较常用的版本是VisualBasic6.0、VisualBasic.NET等。VisualBasic6.0包含学习版、专业版和企业版。1.1.2VisualBasic的特点VisualBasic是目前所有开发语言中最简单、最容易使用的语言。作为程序设计语言,VisualBasic主要有以下特点。1.可视化编程。2.面向对象的程序设计。3.结构化程序设计语言。2011SUSE第一章概述4.事件驱动编程机制。5.强大的数据库访问能力。6.对象的链接与嵌入(OLE,ObjectLinkingAndEmbedding)。7.高度的可扩充性。8.支持动态数据交换。1.2VisualBasic6.0的启动和退出1.VisualBasic6.0的启动2.VisualBasic6.0的退出结合VisualBasic6.0的开发环境介绍VisualBasic6.0多种启动方法和退出方式。2011SUSE1.3VisualBasic6.0集成开发环境第一章概述VisualBasic6.0集成开发环境(IDE,IntegratedDevelopmentEnvironment)是提供设计、运行和测试应用程序所需的各种工具的一个工作环境。这些工具互相协调、互相补充,大大减少了应用程序的开发难度。VisualBasic6.0启动后,出现如图的对话框,选择“标准EXE”,再单击“打开”,即可进入VisualBasic6.0集成开发环境,如下图所示。2011SUSE第一章概述属性窗口工具箱窗口布局窗口代码窗口工程资源管理器窗口工具栏菜单栏标题栏窗体设计窗口2011SUSE第一章概述1.4VisualBasic6.0的帮助系统1.4.1使用MSDNLibraryMicrosoftVisualStudio中的MSDNLibrary,包含VisualBasic6.0帮助信息的全面帮助系统,包括示例代码、文档、技术文章、Microsoft开发人员知识库、以及在使用Microsoft公司的技术来开发解决方案时所需要的其他资料。1.4.2使用上下文相关的帮助VisualBasic6.0提供了F1功能键上下文相关帮助。上下文相关帮助是指用户在窗口中进行工作的任何时候,按键盘上的F1键,即可获得正在操作对象的帮助内容。1.4.3从Internet上获得帮助在Internet上有大量的介绍VisualBasic6.0程序设计技巧、经验的站点,许多站点上还有例子及源程序下载。2011SUSE第二章VisualBasic程序设计入门2.1VisualBasic编程的基本概念学习计算机程序设计课程的目的,就是学会怎样与计算机交流,将人解决问题的思路、方法、手段以某种计算机能理解的方式告诉计算机,让计算机根据人的指令去完成某项特定的工作。2.1.1程序语言与程序设计1、程序设计语言人类进行交流的语言由语音、词汇和语法构成一定系统;而人与计算机则是通过程序设计语言进行交流的。程序设计语言由字、词和语法规则构成指令系统。计算机程序设计语言有多种,可用不同的程序设计语言编写不同的程序来解决同一个问题。从计算机发明至今,随着计算机硬件技术和软件技术的发展,计算机程序设计语言经历了机器语言、汇编语言、高级语言几个阶段。从机器的角度看,程序设计语言可以分为低级语言和高级语言两大类。2011SUSE第二章VisualBasic程序设计入门低级语言是面向机器的指令系统,又分为机器语言和汇编语言。高级语言是接近人类习惯和语言描述方式的指令系统。高级语言不依赖于机器,构成简单,移植性好,便于记忆、学习和维护。人们常说的“程序设计语言”就是指高级语言。高级语言又分为面向过程的程序设计语言和面向对象的程序设计语言。2.程序设计计算机程序是用某种程序设计语言编写一组指示计算机每一步动作的指令,运行于某种目标体系结构上。计算机解决问题的方法和步骤,称为“计算机算法”,简称“算法”。算法是我们学习的重点内容之一,需要我们在学习中逐步积累。程序设计主要有两个方面的任务:首先是拟定算法,即将需要计算机处理的实际问题抽象为数学模型,并设计出解决问题所需的方法和步骤;然后是编制程序,即用合适的程序设计语言对设计的算法进行编码。2011SUSE第二章VisualBasic程序设计入门VisualBasic是采用事件驱动编程机制的可视化程序设计语言。可视化程序设计利用系统所提供的可视“控件类”来创建“对象”,不需编写大量代码去描述界面元素的外观和位置,即可完成界面的设计工作,从而使界面设计更为轻松、简捷、方便和灵活。2.1.2面向对象程序设计1.对象与类对象:是具有某些特征的具体事物的实体;类:是同种对象的集合与抽象,它包含这种对象的属性描述和行为定义。具体的讲,在VB中,工具箱中的控件就是类,设计窗体时,将它(们)放在窗体上时,就是对象。面向对象程序设计方法,是将数据与程序封装成一个互相依存、不可分割的整体,这个整体被称为“对象”,每个对象都是可视的。在VB系统中,对象的特性、名称、大小、形状、颜色及功能被称为属性。2011SUSE第二章VisualBasic程序设计入门VB中的“类”是同种对象的集合与抽象,是创建对象的模板。对象类2011SUSE第二章VisualBasic程序设计入门2.对象的属性、事件和方法对象的属性、事件和方法是对象的三要素(学习重点)。属性:是描述和反映对象特征的参数。例如,对象的标题、颜色、位置、大小等属性决定了对象展示出的界面具有什么样的外观及功能。对属性不了解,就不可能设计出好的程序。属性的表示:对象名·属性两种属性设置方法:(1)在设计阶段设置(在属性窗口);(2)在程序运行中设置,即在程序代码中赋值。[对象名·]属性=属性值‘这里的“=”号为赋值号事件:对象所受到的外部行为,也就是发生在对象上的动作;该对象上发生了事件,如果有响应,这就是事件过程。格式如下:PrivateSub对象名_事件([参数表])……Endsub2011SUSE第二章VisualBasic程序设计入门方法:对象能完成的动作。方法的动作是事先为程序设计人员提供的一种特殊的过程和函数。(是不可见的程序代码)对象方法的调用格式:[对象·]方法[(参数表)]例2.1.1Move方法的调用示例。在窗体上创建了一个文本框对象Text1,用鼠标单击窗体时,将文本框移到坐标为(200,100)的位置上。采用Move方法来实现,其事件过程为:PrivateSubForm_Click()’窗体单击事件Text1.Move200,100’调用Move方法EndSub例2.1.2Print方法的调用示例。用鼠标单击命令按钮时,在窗体上显示“欢迎进入VB6.0!”。事件过程为:PrivateSubCommand1_Click()’命令按钮单击事件Form1.Print“欢迎进入VB6.0!”’调用Print方法EndSub注意省略对象时的含义(指窗体)2011SUSE第二章VisualBasic程序设计入门2.1.3可视化程序设计基础1.窗体模块窗体是VisualBasic程序设计的基础,是最常见的对象。窗体也是容器,各种控件对象都建立在窗体上。用户通过窗体和窗体上的控件向应用程序提供数据和控制命令,并通过窗体和窗体上的控件获得程序执行结果。VB应用程序一般至少包含一个窗体,有的含有多个窗体,一个窗体对应工程管理器中一个窗体模块。2.其他用户界面元素窗体及其控件、菜单栏、工具栏和状态栏是用户界面的基本元素。新建的窗体并不包含控件、菜单栏、工具栏和状态栏,只是在必要时根据应用程序的需要,由程序员自行设计。可视化程序设计的特点是:引入了控件的概念和事件驱动,程序开发过程一般遵循先设计界面,再基于事件编写程序代码。2011SUSE第二章VisualBasic程序设计入门2.1.4事件驱动1.控件对象的事件VisualBasic系统为每个控件都设置了若干事件(如Click、DblClick、Load等)。多数事件都是由用户驱动,有的事件是由系统来驱动(如Load事件)。在VB的代码窗口中,有对象列表框和事件列表框。只要是在用户界面设计时创建的控件对象,系统都会将其控件名添加到对象列表框中。若是选中对象列表框中的一个对象,在事件列表框中就会列出该对象的所有事件以供选择。2011SUSE第二章VisualBasic程序设计入门2.事件过程事件过程是一段告诉计算机应该执行什么操作的程序代码。每个事件均能驱动相应的事件过程,事件过程代码需要用户自己来编写。VisualBasic程序的主体通常是由若干个事件过程组成的。事件过程的执行是由用户或系统的动作驱动。例如,单击鼠标按钮,触发按钮的Click事件,则对应该事件过程中的代码就会被执行。事件过程的一般格式是:PrivateSub对象名_事件([参数表])'事件过程的过程头……'事件过程的程序代码Endsub'事件过程的过程尾2011SUSE3.事件驱动机制面向对象的程序设计中,每个对象都能响应多个不同的事件,每个事件均能驱动一段能完成某项功能的程序代码。程序代码的执行顺序,基本上取决于事件发生的顺序。2011SUSE第二章VisualBasic程序设计入门例2.1.3事件驱动实例。窗体界面如图2.1.4所示,运行程序后,用鼠标单击←、→、↑、↓中的任何一个按钮,红色小球就会做出相应的运动。如果鼠标单击↓按钮,红色小球向下移动一次,而其它方向不动;若鼠标单击←按钮,红色小球向左移动一次,而其它方向不动。解:界面设置:在窗体上用Shape控件类生成1个小球,用CommandButton类创建4个命令按钮。属性设置:将控件对象Shape1的Shape属性为Circle,FillColor属性设置为红色,Fillstyle属性设置为0-Soli