- Visual Basic程序设计全程指南
- 瞿彬 王凤林编著
- 2485字
- 2020-08-28 18:15:05
1.1 Visual Basic简介
何谓Visual Basic?“Visual”字面的意思是“看的、视觉的、用于看的”,引申到计算机程序设计中,意思是“可视化程序设计”,指的是开发图形用户界面(GUI)的方法。使用这种方法,用户不需编写大量代码描述界面元素的外观和位置,而只要把预先建立的对象拖放到屏幕上的一点即可。
“Basic”指的是BASIC(Beginners All-Purpose Symbolit Instruction Code)语言,一种在计算技术发展史上应用最为广泛的语言。Visual Basic在原有BASIC语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和Windows GUI有直接关系。专业人员可以用Visual Basic实现其他任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
Visual Basic不仅是Visual Basic编程语言,Visual Basic编程系统、Microsoft Excel的Applications Edition、Microsoft Access和Windows的许多其他应用程序都使用这一语言。Visual Basic Scripting Edition(VBScript)是广泛使用的脚本语言,它是Visual Basic语言的子集。学习Visual Basic中得到的经验可应用到所有这些领域中。
从开发个人使用或小组使用的小工具,到大型企业应用系统,甚至通过Internet的遍及全球分布式应用程序,都可在Visual Basic提供的工具中各取所需。
为了理解应用程序开发过程,先要理解VB赖以创建的一些关键概念。因为VB是Windows开发语言,所以有必要与Windows环境保持一定的相似性。如果不熟悉Windows编程,就需要明白在Windows环境下编程和在其他环境下编程的一些根本性差别。
1.1.1 Windows编程和事件驱动
1.Windows编程基础
Windows的工作机制简单地说就是三个关键的概念——窗口、事件和消息。
不妨简单地将窗口看做带有边界的矩形区域。Microsoft Windows操作系统通过给每一个窗口指定一个唯一的标识号来管理所有的窗口。
在DOS操作系统中,程序以顺序方式运行,即一旦程序启动,它就一条指令接一条指令地向前指行,直到程序结束或出现错误为止。而在Windows中,用户在更大程度上与程序相互作用,程序必须以一种事件驱动方式运行。
操作系统连续地监视每一个窗口的活动或事件的信号。事件可以通过诸如单击鼠标或按下按键的操作而发生,也可以通过程序的控制而发生,甚至可以由另一个窗口的操作而发生。
每发生一次事件,将引发一条消息发送至操作系统。操作系统处理该消息并广播给其他窗口。然后,每一个窗口才能根据自身处理该条消息的指令而采取适当的操作(例如当窗口解除了其他窗口的覆盖时,重显自身窗口)。
可以想像,处理各种窗口、事件和消息的所有可能的组合需要惊人的工作量。幸运的是,VB使用户摆脱了所有的底层消息处理。许多消息已经由VB自动处理了,其他的作为事件的过程可由编程者自行处理。这样可以快速创建强大的应用程序而无须涉及不必要的细节。
2.事件驱动编程
在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码。从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。
在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。事件可以由用户操作触发,也可以由来自操作系统或其他应用程序的消息触发,甚至由应用程序本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同的。
因为事件的顺序是无法预测的,所以在代码中必须对执行时的“各种状态”作一定的假设。当作出某些假设时(例如,假设在运行处理某一输入字段的过程之前,该输入字段必须包含确定的值),应该组织好应用程序的结构,以确保该假设始终有效(例如,在输入字段中存在数组之前禁止使用启动该处理过程的命令按钮)。
在执行过程中,代码也可以触发事件。例如,在程序中改变文本框中的文本将引发文本框的change事件。如果change事件中包含有代码,则将导致该代码的执行。如果原来假设该事件仅能由用户的交互操作所触发,则可能会产生意料之外的结果,正因为这一原因,所以在设计应用程序时,理解事件驱动模型并牢记在心是非常重要的。
1.1.2 面向对象编程
使创建Windows程序较为容易的关键技术是面向对象编程(OOP)。这种技术可以创建可重用组件,它是程序的组成模块。
1.面向对象编程的概念
OOP为封装、继承和多态性三种基本概念提供支持。
封装意味着对象的信息(它的属性)和对象执行的处理(它的方法)都包含在对象的定义中。
继承意味着一个对象可用基于另一对象的描述。对象可以从其他对象继承属性、方法和事件。
多态性即许多对象具有相同的方法,对象调用方法时会采取正确的动作。例如,在程序中向屏幕显示文本和向打印机输出文本。每个这样的对象都可有打印和显示方法,它们告诉对象将文本定位于确定位置。根据调用方法的对象,方法会知道要做什么。
2.面向对象编程的作用
将要使用的OOP的关键元素是可重用组件,即控件。在创建程序中使用的控件是具有属性和方法并且响应事件的对象,通过属性控件控制外观和行为。例如,通过设置Font和Color属性,可以指定文本框中的外观。使用的控件有方法,它们可以避免许多乏味的编程任务。例如文本框,它知道怎样取回键盘输入的文字并以适合的格式将其放在框的编辑区域中,用户无须提供细节。
每个控件也可识别特殊的事件。大多数控件知道鼠标是否移过它们或是否单击了鼠标按钮。它们甚至知道单击了哪一个按钮。处理文本的组件知道何时按下了键及按下了哪一个键。对于大多数事件,可以通过编写代码在事件发生时采取指定的行动。
1.1.3 交互式开发
交互式开发传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。但是Visual Basic与传统的语言不同,它使用交互式方法开发应用程序,使三个步骤之间不再有明显的界限。
在大多数语言里,如果编写代码时发生了错误,则在开始编译应用程序时该错误就会被编译器捕获。此时必须查找并改正该错误,然后再次进行编译,对每一个发现的错误都要重复这样的过程。Visual Basic在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误,看起来就像一位专家在监视代码的输入。
除即时捕获错误以外,Visual Basic也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误,则将错误突出显示于代码中。这时可以更正错误并继续编译,而不需从头开始。
由于Visual Basic的交互特性,因此可以在开发应用程序时,自己频繁地运行应用程序。通过这种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。