集成开发环境和程序设计入门.docx
- 文档编号:9316057
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:29
- 大小:35.07KB
集成开发环境和程序设计入门.docx
《集成开发环境和程序设计入门.docx》由会员分享,可在线阅读,更多相关《集成开发环境和程序设计入门.docx(29页珍藏版)》请在冰点文库上搜索。
集成开发环境和程序设计入门
集成开发环境和程序设计入门
本章要点
从基于过程式的结构化编程到基于对象的事件驱动编程,编程机制和程序执行流程的控制方式都发生了很大的变化,从基于DOS字符界面的编程环境到基于Windows图形界面的可视化开发环境,不仅给编程带来了极大的方便,而且大大提高了程序开发的效率。
本章在简单介绍VisualBasic语言的诞生、发展和特点后,重点介绍其集成开发环境的组成和特点、对象和事件驱动编程机制的有关概念,以及程序设计的一般步骤。
配合简单程序设计的需要,介绍了几个最常用对象(窗体、命令按钮、文本框和标签)及其常用的属性、方法和事件。
本章内容是VisualBasic程序设计入门的引导。
1.1VisualBasic的发展和功能特点
1.1.1VisualBasic的发展
VisualBasic(VB)最初是由Basic语言发展而来,但从Basic到VisualBasic的变化是质的飞跃。
这种变化不仅是语言功能的大大增强,更主要是程序设计方式的改变以及程序界面类型的改变,还有编程机制的改变。
Basic语言是基于过程的程序设计语言,而VisualBasic是基于对象的事件驱动机制的程序设计语言。
Basic语言的编程界面是字符界面,设计的程序是基于DOS平台的字符界面程序;VisualBasic的程序开发界面是可视化的图形界面,开发的应用程序也是Windows图形界面程序。
在可视化开发环境中,编程是一种更轻松、愉快和高效的智力活动。
VisualBasic也有多个版本,从1.0、2.0、3.0、4.0、5.0到6.0版本,功能在不断增强。
VisualBasic6.0是1999年推出的,深受用户欢迎,广为流传,目前仍被广泛使用。
VisualBasic6.0版本之后就是VisualBasic.NET,从VisualBasic6.0到VisualBasic.NET又是一次大的变化,在概念上、框架上和编程方式上都有了变化,但这种变化没有从Basic到VisualBasic的变化那么大。
掌握VisualBasic6.0之后再学习VisualBasic.NET就不是很难的事了,而且绝大部分基于VisualBasic6.0开发的程序,很容易升级成VisualBasic.NET程序,所以本书仍以VisualBasic6.0为蓝本来介绍。
VisualBasic6.0有三个不同版本,即学习版、专业版和企业版,三个版本包含的内容多少不一样(学习版内容最少,专业版居中,企业版内容最全面)。
1.1.2VisualBasic的功能特点
为了初步了解VisualBasic的一些特点,请先看一个简单的VisualBasic程序实例。
例1-1程序的界面(窗体)上有四个命令按钮(CommandButton)和一个标签。
单击标有“左移”、“右移”字样的按钮时,标签向左或向右移动一段距离;单击标有“变色”字样的按钮时,标签的文字颜色发生变化;单击标有“退出”字样的按钮时,程序退出运行状态。
在程序的代码窗口中包含下列代码:
PrivateSubCommand1_Click()'左移,Command1是该按钮的名称,Label1是标签的名称
Label1.Left=Label1.Left-200
EndSub
PrivateSubCommand2_Click()'右移,Command2是该按钮的名称,Label1是标签的名称
Label1.Left=Label1.Left+600
EndSub
PrivateSubCommand3_Click()'变色,Command3是该按钮的名称,Label1是标签的名称
StaticcolorNoAsInteger
colorNo=(colorNo+1)Mod15
Label1.ForeColor=QBColor(colorNo)
PrintcolorNo;
EndSub
PrivateSubCommand4_Click()'退出,End是退出程序的语句
End
EndSub
程序的设计界面如图1-1所示,运行界面如图1-2所示。
图1-1例1-1的界面设计
图1-2例1-1的运行界面
通过例1-1,可以归纳出VisualBasic的一些基本特点。
1.具有基于对象的可视化设计工具
在VisualBasic中,程序设计是基于对象的。
对象是一个抽象概念,是把程序代码和数据封装起来的一个软件部件,是经过调试可以直接使用的程序单位。
许多对象都是可视的。
程序设计人员只需要利用开发环境提供的工具,根据设计要求,将一些对象组装(“画出来”)到正在设计的程序界面窗口中(如例1-1中组装的对象有四个命令按钮对象、一个标签对象,而窗体则是作为程序界面的容器对象)。
程序员编写程序代码时,一般只要在一些对象的事件过程中填写所需要的代码,如本例中只要对四个命令按钮对象的单击事件(Command1_Click()等四个事件)填写代码即可,写的语句虽然不多,但程序可以实现简单的动画效果,程序设计效率大大提高(如果在DOS环境下用字符界面语言写程序,要实现一个图形动画功能,不写一大堆代码是做不到的)。
2.事件驱动的编程机制
事件驱动是非常适合图形用户界面的编程方式。
传统的编程是一种面向过程的方式,按程序事先设计的流程运行。
在图形用户界面的应用程序中,用户的动作(即事件)掌握着程序的运行流向,如单击“左移”按钮可控制标签向左移动,单击“右移”按钮则可控制标签向右移动等。
每个事件都能驱动一段程序的运行,程序员只要编写响应用户动作的代码,各个动作之间不一定有联系。
这样的应用程序代码简短,既易于编写又易于维护。
3.提供了易学易用的应用程序集成开发环境
在VisualBasic集成开发环境中,用户可以做下面所有的事情:
设计界面、编写代码、调试程序、编译源程序为可执行程序,以及制作应用程序用户安装盘,以便安装到其他没有安装VisualBasic的Windows机器上运行程序。
所谓“集成”二字的含义就是将上述一切功能整合到一个环境中。
4.结构化的程序设计语言
VisualBasic的对象、事件过程,还有今后会学习到的内部函数、自定义过程、模块等,都是一些独立的程序部件。
设计程序就如同制造机器,只要设计程序部件,使用现成的程序部件,并组装这些程序部件。
由于各个部件之间相互独立、功能完整,所以易于分开维护,整个程序分块明确、结构清晰、易于掌握。
VisualBasic除了具有上述主要功能特点以外,还具有许多其他的特点,例如支持强大的数据库应用,使用ActiveX技术,网络功能开发,多种应用程序设计向导和完备的联机帮助功能。
1.2VisualBasic集成开发环境
安装和启动VisualBasic与安装和启动其他应用程序的方法类似,此处就不详细介绍了。
VisualBasic将一个应用程序称为一个工程。
在启动VisualBasic的过程中,会看到一个对话框,如图1-3所示。
图1-3VisualBasic的启动对话框
该对话框有三个选项卡:
“新建”、“现存”和“最新”。
“新建”代表完全从头开始建立一个新的工程(程序);“现存”表示打开一个现有的工程(程序);“最新”表示打开一个最近所编写并存盘的工程(程序)。
在“新建”选项卡中有多种程序类型选择,一般选择“标准EXE”类型。
在其他两个选项卡中则会出现“打开”程序的对话框,要求选择要打开的程序文件名,最后都是单击“打开”按钮进入VisualBasic的集成开发环境(IDE)界面,如图1-4所示。
1.2.1常规组成部分
VisualBasic6.0的程序与其他Windows应用程序一样,具有标题栏、菜单栏、工具栏等常规组成部分。
标题栏的内容就是应用程序工程的名称加上“MicrosoftVisualBasic[设计]”字样内容。
菜单栏提供了编辑、设计和调试VisualBasic应用程序所需要的菜单命令。
工具栏是一些菜单命令的快捷按钮。
这些常规部分就如同MicrosoftWord等程序一样,是Windows程序都有的必要组成部分。
图1-4VisualBasic的集成开发环境(IDE)界面
1.2.2VisualBasic6.0特有组成部分
1.窗体设计窗口
窗体设计窗口是图1-4中间最前面标题栏为Form1的窗口,是要设计的应用程序界面。
用户通过更改该窗体窗口的一些属性,添加一些其他控件对象到窗体窗口上并设计好各控件的属性,就基本上“画出”了应用程序的界面。
以后运行应用程序时,用户看到的界面就是这个设计好的窗体,并通过其中的对象与程序进行交互对话,得到交互结果。
每个窗体必须有一个唯一的名字,建立窗口时VisualBasic默认给窗体取名为Form1、Form2、Form3等。
除了一般的窗体外,还有一种MDI(multipledocumentinterface)多文档窗口,它可以包含子窗体,每个子窗体都是独立的。
2.代码窗口
代码窗口就是图1-4中间部分窗体后面标题栏为“工程1-Form1(Code)”的窗口,通过选择“视图”|“代码窗口”命令,就可将代码窗口置于前面(同时将窗体窗口置于后面)。
代码窗口就是用来输入程序代码的地方,显示当前窗体中的程序代码,并可对代码进行编辑修改。
要打开代码窗口有以下三种方法:
*选择“视图”|“代码窗口”命令。
*双击一个控件或窗体本身,从窗体窗口中打开代码窗口。
*从工程窗口中选择一个窗体或标准模块,并单击“查看代码”按钮。
代码窗口左边的下拉列表框是对象下拉列表框。
单击该下拉列表框会弹出下拉列表,列表中列出的项目有“(通用)”、当前窗体的类名Form、所有控件名称。
无论窗体的名称改为什么,这里显示的都是固定的当前窗体类名Form。
代码窗口右边的下拉列表框是过程下拉列表框。
单击该下拉列表框会弹出下拉列表,列表中列出所选对象的所有事件名。
当左边下拉列表框选定的项目是“(通用)”时,右边下拉列表框中列出的就是“(声明)”。
下拉列表框下方的空白区就是代码区。
在其中可以输入和编辑程序语句代码。
VisualBasic有以下两类代码:
*“通用声明”代码。
即左边下拉列表框选择“(通用)”时,下面的代码区称为通用代码区,在这里写的代码对整个窗体范围起作用。
通常在这里写一些窗体级通用变量的声明语句、通用的自定义过程代码。
*对象事件过程代码。
选择一个对象和一个事件,下面就对应一个对象的事件过程,过程的首末两句VisualBasic已自动给出,程序员只要填写中间的操作性语句。
通用代码区和事件过程代码区之间、事件过程代码区和事件过程代码区之间都用横线分隔,这样使结构化的分块清晰。
3.工具箱窗口
工具箱窗口存放了建立应用程序所需要的内部控件(也称标准控件)。
内部控件共有20个,另外还有一个“指针”,它不算控件,仅用于移动窗体和其他控件,以及调整它们的大小。
用户还可向工具箱添加Windows中已注册的其他外部控件。
工具箱窗口中显示的控件只是代表各控件的类,是各类控件的模板。
利用工具箱提供的控件类,用户可以很方便地在程序窗体上画出一个具体控件(即控件的实例)。
单击工具箱窗口的关闭按钮(“×”按钮),可以隐藏工具箱窗口;选择“视图”|“工具箱”命令,可以重新显示工具箱窗口。
4.工程资源管理器窗口
用树状的层次管理方法来显示与工程有关的所有文件和对象的清单。
该窗口有三个按钮,自左至右分别为“查看代码”、“查看对象”和“切换文件夹”按钮,其功能如下:
*“查看代码”:
显示代码窗口。
*“查看对象”:
显示程序的窗体窗口。
*“切换文件夹”:
以文件夹形式或不以文件夹形式显示当前工程的所有文件。
5.属性窗口
通常在工程资源管理器窗口下面,由一个下拉列表框和一个两栏的表格组成。
下拉列表框中列出当前工程的所有控件对象(包括窗体)的名称和所属的类别名(类名)。
下面的两栏表格列出了所选对象的所有属性名、属性值。
编程人员可以对对象的某些属性值进行修改。
如果属性窗口不见了,可以选择“视图”|“属性窗口”命令以显示它。
6.其他窗口
立即窗口在调试程序时使用,在运行程序时才有效。
用户可直接在该窗口利用Print方法或直接在程序中用Debug.Print语句显示所关心的表达式值。
窗体布局窗口用于指定程序运行时的初始位置。
1.3对象与事件驱动编程机制
1.3.1类和对象的概念
VisualBasic支持面向对象的编程,所以有必要先了解面向对象编程的一些基本概念。
为此,本节内容谈论较多的是理论问题,但深刻领会这些概念,对于以后编程是有很大帮助的。
1.对象
对象在日常生活中的概念可以指任何一个具体的实物,如一个人、一个动物、一辆车等。
对象是具有某些特性的具体事物的抽象,每个对象都有描述自己特征的属性(如“人”作为对象有身高、体重、肤色等属性),还有附属于它的行为(如“人”作为对象的行为有走路、思考、开车等),以及可能发生的一切活动(即事件)。
2.类
类是同种对象的集合与抽象(如所有“人”对象构成一个类——人类,所有动物对象构成另一个类——动物类等)。
3.类和对象的关系
类是创建对象实例的模板,而对象是类的一个实例。
先有人类这个类,才能创造某个具体的人。
人类是每个具体人(对象)的模板,而某个具体人则是人类的一个实例。
4.对象的三要素
在面向对象程序设计中也借助自然界对象的概念来表示一个具体的程序部件,这时,对象是一个将数据和处理该数据的过程(函数和子程序)打包在一起的一个程序部件。
在VisualBasic中,所有窗体和控件都是对象。
程序设计中讲的这些对象也具有描述其特征的属性,反映其动作的行为(称为方法),还有在一定条件下发生的事件,即属性、方法、事件构成一个对象的三要素。
1.3.2VisualBasic对象的基本操作
1.控件对象的建立
建立一个对象是指在程序窗体中添加一个对象(或习惯称画出一个对象),有以下两种方法:
(1)单击工具箱中一个对象类,出现十字形鼠标指针,用该指针在窗体上拖动鼠标即可画出一个控件对象。
(2)双击工具箱中一个对象类,即可加入一个该类控件对象。
2.控件对象的命名
任何控件对象都具有一个最基本的属性,即“名称”属性;“名称”属性的值就是该对象的名称。
对象名称是用来标识各控件对象的,以供在程序代码中指代对象、称呼对象时使用。
就好比“人”这个对象,都要有个名字,这样在交往中才便于指认他、称呼他。
要给控件对象命名(即起名字),只需在属性窗口中给“名称”属性设定一个值,这个属性值应是一个合法的标识符字符串。
其实VisualBasic已经给程序的每个控件对象都取了默认的名称,如例1-1的命令按钮就分别取了这样的名称:
Command1,Command2,Command3,Command4,标签取名为Label1,窗体取名为Form1,即VisualBasic对同类控件的默认命名方式是采用固定的单词加上一个不同的数字。
可以使用VisualBasic给对象取的默认名,但为了增加程序可读性,最好自己给控件另取一个有意义的名字,以便于在程序中更好地理解、记忆这个名字所代表的对象是什么。
注意:
在同一个程序中,每个对象的名称必须不同。
3.控件对象的选定
单击一个对象可选定一个对象,这时该对象周围会出现8个方向的控制柄(即8个小方块点)。
如果要同时选定多个对象,有两种方法:
*单击并拖动鼠标,将欲选定对象包含在一个虚框内既可。
*先选定一个对象,按Ctrl键,再单击其他要选定的对象。
4.控件对象的复制和删除
复制对象时,选定要复制的对象,单击工具栏的“复制”按钮或选择“编辑”|“复制”命令,再选择“粘贴”命令(或单击工具栏的“粘贴”按钮)。
这时会出现一个对话框询问是否建立控件数组,单击“否”按钮,于是就复制出一个大小、标题相同,但名称不同的对象。
注意:
初学者采用“复制”办法添加同类新控件时要小心,一旦不小心单击了“是”按钮,会出现控件数组,造成后面编写的事件过程出现问题。
删除对象时,选中要删除的对象,然后按Del键或Delete键。
1.3.3事件驱动编程机制
开发VisualBasic程序时涉及两种状态,即设计时和运行时。
设计时是指编写VisualBasic代码并利用属性窗口给控件指定属性值的阶段;运行时是指启动程序运行的阶段。
在运行时若程序有错误将会暂停执行其他语句并给出错误提示,但仍然是处在运行时状态。
要修改程序错误必须先结束程序运行时状态,回到设计时状态进行修改。
1.使用对象的属性
属性(Property)是反映对象特征的数据。
使用对象的属性有两种含义:
一是给对象的某个属性设置值,二是引用对象某个属性的值。
给对象属性设置值有两种方式,一种是在程序设计时在属性窗口设置属性值;另一种方式是通过在代码中写属性赋值语句,一旦程序运行后执行到该语句时就会给对象的属性赋予一个预定的值。
这种给对象属性赋值的语句格式如下:
[对象名.]属性名=属性值
对象名在一定场合下可省略不写,如在第3章将学到的With结构中,就可省略对象名。
还有当前对象的名称也可省略。
在例1-1中给标签颜色属性赋值的语句,就是这种给对象属性赋值的语句例子。
引用对象的属性值是指在代码中将对象的当前属性值作为已知值使用,这时对象的属性值可以出现在一个赋值语句右边、一个输出列表中或一个表达式中。
出现在表达式中时,属性值相当于一个参与运算的普通数值。
所以对象属性值的语法功能就跟一个具体数值相当。
下面是引用Label1标签控件标题属性(Caption属性)和高度属性(Height属性)的例句:
Label2.Caption=Label1.Caption'把Label1的标签属性赋给Label2的标签属性
PrintLabel1.Height'将Label1的高度属性值打印出来
以上说明,在语句中使用对象的属性,表示对象属性的形式为:
[对象名.]属性名
2.使用对象的方法
方法(Method)是描述对象行为的过程。
使用对象方法的一般语法格式为:
[对象名.]方法名[参数列表]
可见对象方法的使用格式与属性相似,都是对象名和方法名之间加点。
不同的是方法的使用多数都带有参数。
方法实际上是附属于对象的一段程序过程,使用方法就是调用这段程序过程。
对于当前对象,可以省略对象名,或使用Me关键词代替当前对象名。
例如,在窗体Form1中打印标签Label1的标题内容,语句为PrintLabel1.Caption。
这里,Print是方法名(代表输出);执行方法的对象是窗体(属于当前对象),当前对象的名字Form1可以省略;Label1.Caption就是参数,也是Print方法要输出的内容。
3.使用对象的事件
事件(Event)是指窗体或控件能识别的活动,通俗讲就是指当前发生的事情。
事件发生在用户与应用程序交互时。
如单击控件、键盘输入、移动鼠标等,都是一些事件。
也有部分事件由系统产生,不需要用户激发,如计时器事件、程序启动时窗体加载事件等。
VisualBasic为每个对象(包括窗体)预定义了若干事件,这些事件就是对象能识别的。
如对于窗体,定义了装载事件即Form_Load()、单击事件即Form_Click()等;又如对命令按钮,定义了单击事件Click()、获得焦点事件GotFocus()等。
VisualBasic到底给某类对象定义了多少事件,可以在程序代码窗口右上边的下拉列表框里看到,那里就列举了选定对象能产生的所有事件。
在事件框的左边是对象框,当在对象框里选定对象后再在事件框里选定感兴趣的事件,系统就会自动生成一个约定名称的子程序,该子程序就是处理该事件的程序。
在生成的子程序里添加代码就是编程人员要做的事。
如系统可能会生成以下一些名称的事件处理子程序,其事件处理子程序的功能也分别列在它们的右边。
*Form_Load():
处理当窗体加载时应做何响应。
*xxx_Click():
处理当用户在名为xxx的对象上单击时应做何响应。
*Form_Paint():
处理当窗体由于要重画时应做何响应。
*xxx_Timer():
处理当名为xxx的定时器对象的定时间隔到时间时,应做何响应。
*Form_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle):
处理当用户在窗体上按下鼠标任何一键时应做何响应。
参数Button为1表示按下左键,2为右键;Shift参数值表示是否还同时按了键盘的特定控制键;参数X与Y表示按下鼠标键时鼠标指针所在位置坐标。
*xxxx_Change():
处理当名为xxxx的文本框之内容发生变化时系统应做何响应。
*Form_MouseMove(参数):
处理当鼠标指针在窗体上移动时应做何响应。
参数含义与MouseDown事件相同。
其他事件处理子程序就不再一一列举了。
注意,事件处理子程序的名称构成是这样的:
Form对象的事件处理子程序命名为“Form_事件名”,如Form_Load,Form_Paint等;其他控件的事件处理子程序命名为“控件名_事件名”,如Text1_Change,Timer1_Timer等。
如果修改了控件名,与其相关的事件处理子程序名称也相应地要变化,当然Form对象例外。
这也证明了Form的特殊性,因为它是其他控件的载体。
使用对象的事件,就是给对象的上述某些事件处理子程序填写语句代码。
对于任何具体应用,一般只关心其中的部分事件,因此只要填写这些所关心事件的处理代码,而对于那些不感兴趣的事件可以不填写事件的处理代码。
4.事件驱动程序的机制
当程序是采用事件驱动的机制时,称为事件驱动程序,以区别于基于过程的程序。
事件驱动程序的机制有如下几个要点:
应用程序基于对象组成;每个对象都有预先定义的事件;每个事件的发生都依赖于一定的条件(即用户的驱动等);每个事件发生后系统该做何响应则取决于用户给该事件过程编写了什么代码,即由用户控制事件的发生,代码做出响应,是事件驱动程序的核心机制。
与传统过程程序设计比较,过程程序的运行流程起始于代码的第一行,并按照预先写好的整个代码,遵循从前到后的基本顺序执行各个语句(除非中途有选择、循环,则按固定的选择、循环路径执行),流程完全取决于代码。
而事件驱动程序的执行流程不仅与预先写好的代码有关,更主要的是掌握在用户的控制中,即取决于用户发出什么动作。
事件驱动程序设计机制是图形用户界面的本质。
例1-2启动VisualBasic建立一个标准EXE工程,将窗体名称改为frmTime。
在窗体上添加三个命令按钮,将它们的名称属性分别改为cmdRed,cmdBlue,cmdExit。
Caption属性分别设置为“红色”、“蓝色”、“退出”字符。
再添加一个标签按钮,不修改其名称。
四个控件的字体统一设置为宋体、粗体、四号。
利用VisualBasic的Time函数获取当前系统时间,并将时间的值在标签中显示。
要求程序一启动标签中就显示当前的时间,且单击cmdRed按钮标签字体变红色、时间也相应改变,单击cmdBlue按钮程序无任何反应,单击cmdExit按钮程序退出运行。
设计步骤如下:
(1)添加控件。
分别从工具箱单击命令按钮,并画出三个按钮,同样地画出一个标签按钮,大小位置拖到合适为止。
(2)设置属性。
按题意在属性窗口分别对窗体、按钮、标签的名称属性和Caption属性的值进行设定,再全部选定所有控件,单击属性窗口的Font属性对应单元格的省略
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成 开发 环境 程序设计 入门