介绍一些编程语言— Visual Basic 语言
Visual Basic 语言
简介
Visual Basic(简称 VB)是美国 Microsoft 公司于
1991
1991
1991 年研制的一种基于图形用户接口的 Windows 环境下的开发工具,是一种面向对象、可视化的新型开发工具,可在包括 Windows98 和 WindowsNT 在内的所有 Windows 环境下运行。
Visual Basic 利用其事件驱动的编程机制和新颖易用的可视化设计工具,并使用 Windows 内部应用程序接口函数,采用动态链接库、动态数据交换、对象的链接与嵌入以及开放式数据库访问等技术,可以高效、快速地创建出 Windows 环境下功能强大并且具有图形界面丰富的应用软件系统。
Visual Basic 中提供开放式数据库访问功能,可通过直接访问或建立连接的方式使用并操作外部数据库。Visual Basic 系统本身提供了非常好的数据管理功能,利用数据管理器,用户可以直接创建 Access 数据库,还可以直接编辑和访问其他外部数据库,如 FoxPro、dBASE 和 FoxBASE 等。通过窗口设计器,可以创建数据访问窗体。
在表格的处理方面,Visual Basic 捆绑了 Crystal report,基本上可以满足表格处理所需的功能。Visual Basic 既适合于应用软件的开发,也可用于开发系统软件。
产生背景
1991 1991 1991 年 4 4 4 月,微软公司推出了 Visual Basic 1.0 Windows 版本,这个连接编程语言和用户界面的进步被称为 Tripod,最初的设计是由阿兰·库珀完成的。在当时,它是第一个“可视”的编程软件。
而后多年,Visual Basic 经过多次发展,其发展历程展示在“Visual Basic 发展简史”表中。
在 2020 2020 2020 年 3 3 3 月 11 11 11 日,微软宣布不会再开发 VB 或增加功能。
语言特色
可视化的设计平台
在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面,在设计过程中看不见界面的实际效果。而在 Visual Basic 6.0 中,采用面向对象程序设计方法,把程序和数据封装起来作为一个对象,每个对象都是可视的。开发人员在界面设计时,可以直接用 Visual Basic 6.0 的工具箱在屏幕上"画"出窗口、菜单、命令按键等不同类型的对象,并为每个对象设置属性。开发人员要做的仅仅是对要完成事件过程的对象进行编写代码,因而程序设计的效率可大大提高。
事件驱动的编程机制
面向过程的程序是由一个主程序和若干个子程序及函数组成的。程序运行时总是先从主程序开始,由主程序调用子程序和函数,开发人员在编程时必须事先确定整个程序的执行顺序。而 Visual Basic 6.0 事件驱动的编程是针对用户触发某个对象的相关事件进行编码,每个事件都可以驱动一段程序的运行。开发人员只要编写响应用户动作的代码。这样的应用程序代码精简,比较容易编写与维护。
结构化的程序设计语言
Visual Basic 6.0 具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。
强大的数据库功能
Visual Basic 6.0 利用数据控件可以访问 Access、FoxPro 等多种数据库系统,也可以访问 Excel、Lotus 等多种电子表格。
ActiveX技术
ActiveX发展了原有的OLE技术,使开发人员摆脱了特定语言的束缚,方便地使用其他应用程序提供的功能,使 Visual Basic 6.0 能够开发集声音、图像、动画、字处理、电子表格、Web等对象于一体的应用程序。
网络功能
Visual Basic 6.0 提供的 DHTML 设计工具可以使开发者动态地创建和编辑 Web 页面,使用户能开发出多功能的网络应用软件。
语言特点
基本特点
VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB 使用了可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂的程序。VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面 VB 程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB 的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB 的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB 使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB 对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB 使得大量的外界控件有了自己的生存空间。大量的第三方控件针对 VB 提供。VB 也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
语言缺点
不支持继承
VB 5.0 和 VB 6.0 都是基于对象的编程语言,但是不包含继承特性。VB 中提供了特殊的类的功能,但是还是不能满足程序员的需求。
无原生支持多线程
Visual Basic 对于多线程无原生支持,只能通过 Windows API 的调用实现,且极其的不稳定。因为在 API 创建的线程中,并没有自动初始化运行时库,导致部分的函数无法使用。一般的,在 VB6 等早期的 VB 开发环境下,使用 API 创建线程的目的是完成容易使程序假死的大量数据或者逻辑的计算。
异常处理不完善
Visual Basic 中内置异常处理,即使未写异常处理代码,一旦用户出错也会弹出一个明确写出出错原因对话框,接着程序终止。
Visual Basic 中可以使用 Err.Raise
抛出异常。对系统及用户抛出的异常的处理常用两种模式:一是使用 On Error Resume Next
处理错误;另一种是使用 On Error Goto
将运行引入错误处理代码。但相对 C++ 等语言而言,这样的异常处理破坏了代码的结构。
简单程序
输出 Hello,World!
Module Hello
Sub Main()
MsgBox("Hello,World!")
End Sub
End Module
A + B problem
Imports System
Module APlusB
Sub Main()
Dim ins As String() = Console.ReadLine().Split(New Char(){" "c})
Console.WriteLine(Int(ins(0))+Int(ins(1)))
End Sub
End Module
参考
-
https://baike.baidu.com/item/Visual%20Basic/287852?fr=ge_ala
-
https://learn.microsoft.com/zh-cn/dotnet/visual-basic/
-
https://baike.esnai.com/view.aspx?w=VisualBasic