VB是如何做到无所不能的
2004-06-30 17:36
477 查看
很多关于VB6的书籍都声称VB发展到6.0这个版本已经无所不能了,这篇文章的目的不在于评价这种说法是否妥当,而在于揭示VB是怎样做到“无所不能”的。
不管怎么说,VB已经可以应用于硬件控制、内存管理、进程控制、大型企业系统的编程却是不争的事实,尽管在某些应用中VB并不是最理想的开发工具。那么VB是怎样实现这些的呢?
首先,VB有着方便的ActiveX扩展接口。这使得VB在控件及不可视组件的使用上有着无限扩展的可能性。
打开VB6集成开发环境,新建标准EXE工程,你会发现工具箱里的控件并不多,根本不足以开发出一个完整的程序。这时你打开[工程]--[部件]菜单,会发现你可能会用到的控件基本上都在里面了,包括用于连接数据库的ADODC、用于绑定和显示数据的DATAGRID或者用于显示各种通用对话框的COMMON DIALOG,你甚至可以点击[浏览]按钮添加第三方的或者你自己用其他语言工具写的OCX控件,这就是VB方便的OCX扩展接口。有了这个接口,你就再也不用为VB有限的内置控件发愁了。
接下来你会发现有很多应用,特别是一些对文件的操作或者对定制要求较高的应用很难用单纯的控件来实现。这时你打开[工程]--[引用]菜单,会发现很多你可能会用到的对象微软已经帮你写好了,包括用于文件操作的FileSystemObject或者用于数据库操作的ADODB,当然很多第三方的动态链接库也会出现在里面,你添加了相应的引用后,就可以在对象浏览器里面查看相应的对象和方法,当然你也可以点击[浏览]按钮添加第三方的或者你自己用其他语言工具写的DLL动态链接库,这就是VB方便的DLL扩展接口。
其次,VB从6.0版开始可以建立ActiveX控件工程和ActiveX DLL工程。这就意味着你可以将一些常用的控件或类封装进COM对象,以实现二进制级的代码复用,这对构建一个大型的企业系统来说很有意义,你甚至可以在VC++、DELPHI等其他开发工具里面调用你用VB写的对象。当然用VB写ActiveX控件并不是一个好主意,VC++有时是一个更好的选择。
最后,通过声明和调用Windows API函数(Windows应用程序接口函数),VB可以将触角伸向操作系统内部,以实现一些底层的功能。VB通过如下格式声明API函数:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
API函数一经声明即可像内部函数一样调用,不过调用时需注意函数返回值及参数类型。
不管怎么说,VB已经可以应用于硬件控制、内存管理、进程控制、大型企业系统的编程却是不争的事实,尽管在某些应用中VB并不是最理想的开发工具。那么VB是怎样实现这些的呢?
首先,VB有着方便的ActiveX扩展接口。这使得VB在控件及不可视组件的使用上有着无限扩展的可能性。
打开VB6集成开发环境,新建标准EXE工程,你会发现工具箱里的控件并不多,根本不足以开发出一个完整的程序。这时你打开[工程]--[部件]菜单,会发现你可能会用到的控件基本上都在里面了,包括用于连接数据库的ADODC、用于绑定和显示数据的DATAGRID或者用于显示各种通用对话框的COMMON DIALOG,你甚至可以点击[浏览]按钮添加第三方的或者你自己用其他语言工具写的OCX控件,这就是VB方便的OCX扩展接口。有了这个接口,你就再也不用为VB有限的内置控件发愁了。
接下来你会发现有很多应用,特别是一些对文件的操作或者对定制要求较高的应用很难用单纯的控件来实现。这时你打开[工程]--[引用]菜单,会发现很多你可能会用到的对象微软已经帮你写好了,包括用于文件操作的FileSystemObject或者用于数据库操作的ADODB,当然很多第三方的动态链接库也会出现在里面,你添加了相应的引用后,就可以在对象浏览器里面查看相应的对象和方法,当然你也可以点击[浏览]按钮添加第三方的或者你自己用其他语言工具写的DLL动态链接库,这就是VB方便的DLL扩展接口。
其次,VB从6.0版开始可以建立ActiveX控件工程和ActiveX DLL工程。这就意味着你可以将一些常用的控件或类封装进COM对象,以实现二进制级的代码复用,这对构建一个大型的企业系统来说很有意义,你甚至可以在VC++、DELPHI等其他开发工具里面调用你用VB写的对象。当然用VB写ActiveX控件并不是一个好主意,VC++有时是一个更好的选择。
最后,通过声明和调用Windows API函数(Windows应用程序接口函数),VB可以将触角伸向操作系统内部,以实现一些底层的功能。VB通过如下格式声明API函数:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
API函数一经声明即可像内部函数一样调用,不过调用时需注意函数返回值及参数类型。
相关文章推荐
- VB.net与C#一些差别,看看VB是如何做到的。网上看到的一个好文章
- 我们公司安装了个监控软件, 每个客户端都要安装,VB写的.可以得到上网记录,这是如何做到的?
- 如何编写高质量的VB代码(转自天极)(很受用的)
- 如何做到手机应用程序在多平台的适配
- [VB.NET]如何获取主机名
- jenkins 如何做到触发远程构建
- Twitter 架构优化之路--Twitter是如何做到每秒处理3000张图片的
- VB编写各类COM对象(特别是ASP)时,如何让外部对象使用含有可选参数的函数
- vb.net中如何调用Word2000的拼写检查或者语法检查
- [转]如何用VB实现Modbus串行通讯 [http://blog.csdn.net/kw123/archive/2007/09/07/1776758.aspx]
- 悟 -- 如何做到高效产出,结合Linux 服务器开发的感悟
- 毕业不到两年,我是如何做到年薪10万的。
- 包装设计如何才能做到有质感
- 20121/1/4 oracle笔记 项目背景 242后期搭建个oracle数据库,现在还没做到的是更换ip地址时如何访问oem,企业管理器,搞了一下午没搞出来
- 如何做到4小时以上的长时间精神专注?
- Java面试题---只用两个变量,如何做到把两个整数交换?
- 如何做到深思熟虑的编程
- 如何给VB.net2008创建发送与接收端程序
- 程序员如何做到年薪 50 万?--知乎整理
- 如何用vb(API)代码设置不规则打印纸尺寸?