Visual Basic
天下维客,你可以修改的网络知识库
| 返回到编程条目↑ |
Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言--不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
目录 |
发展历史
1991年,微软公司推出了Visual Basic 1.0版。这在当时引起了很大的轰动。许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件。其实,以我们现在的目光来看,VB1.0的功能实在是太弱了;(不过最近VB6.0, VB.NET的功能相当大!)。但在当时,它是第一个“可视”的编程软件。这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作。微软也不失时机地在四年内接连推出VB2.0,VB3.0,4.0三个版本。并且从VB3开始,微软将ACCESS的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高。从VB4开始,VB也引入了面向对象的程序设计思想。VB功能强大,学习简单。而且,VB还引入了“控件”的概念,使得大量已经编好的VB程序可以被我们直接拿来使用。
2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用。
Visual Basic 2005 Express Edition虽然是免费的版本,但是微软公司要求使用这个版本的人必须要到微软公司网页注册取得产品注册码后方能使用,否则Visual Basic 2005 Express Edition将仅能运行30天。
VB2005的“显着”优点是,可以直接编写出XP风格的按钮,以及其他的控件。但是其编写的小程序占用近10MB的内存。
通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用Visual Basic快速创建Windows程序,现在还可以编写企业水平的客户/服务器程序及强大的数据库应用程序。
由VB派生的语言
微软开发了一系列有关VB的脚本语言:
- Visual Basic for Applications,即VBA,包含在微软的应用程序中(比如Microsoft Office),以及类似WordPerfect Office这样第三方的产品里面。VBA这样嵌入在各种应用程序中看起来有些矛盾,但是它的功能和VB一样强大。
- VBscript是默认的ASP语言,还可以用在Windows脚本编写和网页编码中。尽管它的语法类似于VB,但是它却是一种完全不同的语言。VBS不使用VB运行库运行,而是由Windows脚本主机解释执行。这两种语言之中的不同点影响ASP网站的表现。
当微软准备开发一种新的编程工具的时候,第一决定就是利用最抢手的VB6来进行旧改,或者就是重新组建工程开发新工具。微软后来开发了VB的继任者Visual Basic .NET,同时也是.NET平台的一部分。VB.net编程语言是一种真正的面向对象编程语言,和VB并不完全兼容。
语言特性
VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮]]。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
术语
在讨论Visual Basic时,经常可以听到以下这些术语,因此对这些术语的基本理解十分有帮助。
控件
简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,包括窗体、按钮、复选框、列表框、数据控件、表格控件和图片控件等等...。
事件
由用户或操作系统引发的动作。事件的示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端口接收数据。
方法
嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是Visual Basic中所有对象的示例。
对象
一个控件、窗体等都可被看作一个对象。
过程
为完成某些特定的任务而编写的代码段,过程通常用于响应特定的事件,也可以当作应用程序的用户自定义函数来使用。
属性
属性是组成用户界面的各对象的性质的具体描述。例如上述“对象”中所提到的尺寸、位置、颜色、宽度、高度等等都称为控件的 属性。属性决定对象的外观,有时也决定对象的行为。对象的属性绝大部分是VB中已经事先定义好的,但也有的属性是需要在应用 过程中才去定义的。属性即可为对象提供数据,也能从对象取回信息。
关于VB的争议
反对者
VB是一种充满了争议的语言:很多程序员对VB程序的质量有强烈的感受。很多人认为VB不配他们使用,认为它是一种给儿童和菜鸟程序员的语言。它自从设计开始就是一种简单的语言。一些C++和Java中的特性在VB中并没有出现。在感受开发的方便和快速的同时,一些类似于编译时进行类型和声明检查的功能在默认情况下是关闭的。这样一些程序员一边感叹VB的易用性,一般沮丧地地看着一些类似于“未定义类型”错误的发生。
一些批评家认为VB的简单特性使得其在未来具有伤害性。很多人自学了VB,但是并没有学到好的编程习惯。当VB进入课堂的时候,学生们不会学到很多基础的程序技术和结构,因为很多技术已经包含在那些对用户可见的组件里面了。不用学习标准的编程习惯,因为VB具有可视化的特性,所以导致了一些莫名其妙的代码的产生。而且很多错误和警告的检查默认情况下都是关闭的,程序员很难找到隐藏的错误。有经验的程序员在用VB编程的时候都会把这些选项打开。
很多批评家批评微软简单地拷贝了BASIC的思想到VB中。著名的计算机科学家Edsger Dijkstra说过一句名言:“如果一个学生最早学过BASIC,那么几乎不可能让他学会优秀的编程:因为这些人已经放弃了涅磐的希望。1”(Dijkstra对待Fortran、PL/1、COBOL和APL同样也毫不留情。)另外一个笑话是:“真正的程序员不用BASIC。12岁以下的孩子才用。”
- 并不是非常简便,它开发的程序只能运行在Microsoft Windows中。
- 个头太大了。Visual Studio要用好几张盘才能装下。VB程序在运行时候还需要一个1.4M大小的运行库。
- IDE中有错误。
- VB不能很好的综合Windows的基础API,很多时候要使用低级运算的“小伎俩”来进行编程。而C语言的低级内存运算比VB的要简单得多。
支持者
但是很多VB的支持者解释说VB的易用性就是它最大的优势,可以让经验丰富的VB程序员或是刚刚懂得皮毛的人都能用自己的方式快速开发程序。而且VB的程序可以非常简单的和数据库连接。比如利用控件可以绑定数据库,这样一来用VB写出的程序就可以掌握数据库的所有信息而不用写一行代码。
很多语言的特性比如GoSub、On Error和用变量名字的最后一个字符判断声明类型(比如字符串型str$)都是从VB中来的。VB的语法和绝大部分语言都不同,可能会让新的程序员混淆。比如声明“Dim a,b,c As Integer”声明了c为整形变量,但是a、b都是Variant类型的。 {这儿我说明一下,如果想申明3个Integer,必须写 Dim a as Integer, b As Integer, c as Integer;而直接写Dim a,后面不写类型,则自动变成Variant类型--占用大量资源。} 还有一些特性,比如下划线字符“_”用于一行代码分多行写时候。一些程序员在使用的时候由于不规范使得便引起报错。
总结
VB会吸引更多的赞誉和批评,也会继续为广大的用户和程序员使用。它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序)。
VB不拥有的特性
- 多线程支持
- 异常处理。VB.net中使用了Try-Catch-Finally来处理异常。而VB中只有"
On Error Goto
line"语句。
- 对指针的支持非常有限。
- VB只能支持8到32位的整形,很多语言都有无限制的支持。
- VB不允许在任何数组内存在不变的变量。
VB不支持以上特性,程序员需要自己建构方法来实现相似的功能。
VB革命
VB1.0于1991年发布。这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的
时间线
- 1991年4月,Visual Basic 1.0 Windows版本发布
- 1992年9月,Visual Basic 1.0 DOS版本发布。
- 1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
- 1993年夏天,VB3.0发布,分为标准版和专业版。其中包含一个数据引擎,可以直接读取Access数据库。
- 1995年8月,VB4.0发布了32位版本和16位的版本。其中包含了对类的支持。
- 1997年2月,VB5.0发布。程序员可以用32位的版本导入由4.0版本创建的16位程序,并且能顺利编译。同时还包含了对用户自建控件的支持。
- 1998年夏天,VB6.0发布。
- 2001年,Visual Basic.net和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB的程序员都要改写程序。
- 2003年,Visual Basic.net 2003和.NET Framework 1.1发布。
- 2004年,微软开放了Visual Studio.NET 2005的测试版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
- 2005年,微软宣布将不会再对非.NET版本的VB进行支持。VB社群立即作出反应表示关心这个消息,一些老用户还递交了希望能够继续对VB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。
- Visual Studio.net 2005会在2005年11月7日发布。
外部链接
什么是编程
简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机虽然功能十分强大。可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。 那程序到底是什么呢?
程序也就是指令的集合,它告诉计算机如何执行特殊的任务。 打个比方说,它好比指导你烹调菜品的菜谱或指挥行驶一路到达目的地的交警(或者交通路标)。没有这些特殊的指令,就不能执行预期的任务。计算机也一样,当你想让计算机为你做一件事情的时候,计算机本身并不能主动为我们工作,因此我们必须对它下达指令,而它根本不会也不可能听懂人类自然语言对事情的描述,因此我们必须使用程序来告诉计算机做什么事情以及如何去做?甚至对最简单的任务也需要指令,例如如何取得击键,怎样在屏幕上放一个字母,怎样在磁盘中保存文件等等。
这么麻烦,连这些东西编程都要考虑!怪不得人家说编程好难!你错了,其实许多这样的指令都是现成的,包含在处理芯片中内置于操作系统中,因此我们不必担心它们工作,他们都是由处理器和操作系统来完成的,并不需要我们来干预这些过程。
上面讲到的计算机本身不会主动的做任何事情。因此我们要通过程序的方式来让计算机为我们“效劳”。而这个过程就是我们“编”出来的。编程可以使用某一种程序设计语言来实现,按照这种语言的语法来描述让计算机要做的事情。
我们这里所讲的语法和外语中的语法完全两码事,这里讲的语法只是读你的程序书写做出一写规定而已。
写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。因此,编程实际上也就是“人给计算机出规则”这么一个过程。
编程语言
Ajax
Asp
- ASP生成静态Html文件技术杂谈
- asp实现语音上传
- 验证码的程序及原理
- ASP生成静态页面方法
- 用ASP+CSS实现随机背景
- ASP六大对象介绍
- asp中获取汉字拼音的第一个字母
- 用InstallShield制作ASP安装程序
- Asp+Sql 对数据库的各种操作
- ASPX页Web服务调用性能优化
- asp组件上传
- ASP实现图片上传
ASP.NET
- 让ASP.NET简便使用SCRIPT
- ASP.NET2.0服务器控件之自定义状态管理
- asp.net2.0如何加密数据库联接字符串
- VS2005和ASP.NET2.0中使用强类型数据
- 在Asp.net用C#建立动态Excel
- 投票结果的图片进度条显示
- ASP.NET入门随想
- 用.NET 2.0压缩/解压功能处理大型数据
- ASP.NET 2.0 中的窗体身份验证
- ASP.NET2.0数据库入门之SqlDataSource
- ASP.NET 2.0站点地图搭建网站导航结构
- 用ASP.NET 2.0设计网络在线投票系统
B语言
C语言
C++
- VC++ 6.0中实现三叉切分窗口与多视图
- 利用Visual C++实现系统托盘程序
- C/C++ 程序设计员应聘常见面试试题深
- C++中要求(或禁止)对象产生于heap
- VC++中利用/GS开关防止缓冲区溢出
- 在CPP中调用Jscript中的函数asd
C#
- 用C#实现HTTP协议下的多线程文件传输
- 利用Visual C#打造一个平滑的进度条
- 把其他C/C++编译器集成到VC2005中
- 如何在C#中播放AVI短片并使背景透明
- ASP.NET2.0数据库入门之SQL Server
- VC#2005快速入门之使用if语句
Delphi
eclipse
EJB
FORTURN
GTK
jsp
- 浮动菜单是如何作出来的mouse事件
- 选择JSF不选Struts的十大理由
- 提升JSP应用程序的七大绝招
- 关于Servlet、Jsp中的多国语言显示
- JSP连接各类数据库大全
- JSP编程进度条设计实例
Java
OO
PHP
Python
Perl
Ruby On Rails
Vc
- 最常见的20种VC++编译错误信息
- VC中用简易方法实现淡入淡出的启动画
- 创建有个性的对话框之MFC篇
- 从MFC与ATL的男女关系说起
- 在VC中添加响应自定义的消息的代码步
- 用Visual C++实现PDF文件的显示
VB
- VB2005中开发新一代控制台应用程序
- Visual Basic.NET实现双检锁(DCL)模式
- 用VB播放Avi、Wave、midi文件
- 掌握VB中的ADO数据对象编程
- VB程序中用ADO对象动态创建数据库和表
- 在VB 2005中定制自己的异常
XML
- 用XMLHTTP组件解析图片地址并保存
- DOM的结构
- 巧用XML做多语言界面的FLASH
- 在 Excel 2003 中创建 XML 映射
- WML——XML标记语言开发实例详细解析
- RSS的语言编码大全
.NET Framework
汇编语言
其他语言
热点话题
数据库
ORACLE
SQLServer、ACCESS
- SQL Server 2005数据加密技术应用研究
- 剖析SQL Server 2005查询通知之基础
- SQL Server数据库开发的二十一条军规
- 深入探讨SQL Server 2000对XML的支持
- SQL Server应用程序中的高级SQL注入
- 用标准的SQL语句实现查询记录分页
Mysql
DB1
DB2
Sybase
其他
|
程序是一系列按照特定顺序组织的计算机数据和指令的集合。学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。如何学习编程? |



