打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用 VBRichClient 库
  世上竟然还有如此牛人(Olaf Schmidt)为VB开发了如此牛的扩展库!它还有一个伟大的目标:
摆脱 Microsoft COM 的依赖,更容易实现平台移植性(基于新的经典VB编译器),现在的
VBRichClient正是为达到该目标的一个去耦框架。
    它能做什么?简单说能提供以下VB没有或很难实现的功能:多线程、函数指针调用、数组列表、高级集合类
内存数据库、XML DOM/SAX访问、子类化、公式计算、SGDI封装、各种加密和压缩算法、文件处理、网络Socket、
简单下载、JSON、JPG压缩解码、音频设备访问、物理引擎、Webkit浏览器、QLite数据库、基于Cairo的2D绘图、
打印、RPC、Web服务器…… 多到你想不到的功能,而且一直在不断扩展中。
    VBRichClient 官方网站 http://www.VBRichClient.com/    

    欢迎登陆以上网站,关注最新消息,还有其它更多内容。这里有经典VB的未来!

    由于官网也没有太多的帮助文档,所以只能通过摸索逐步熟悉该库的使用,好在涉及命名都比较通俗易懂,
虽然没有文档,理解起来基本也没有太大难度。还有通过非官方网站,可以下载到 3.0 版本的库,里面有不少
示例可以参考。

1、VBRichClient 的引用
   是的,你完全可以不对它进行引用!就可以使用它的功能!参考【使用 DirectCOM 库】
   当然你也可以按熟悉的常规方法,通过注册引用该库
2、VBRichClient 的分发
   如果采用引用方式使用,则需要将 vbRichClient5.dll 和 vb_cairo_sqlite.dll 一起复制到程序目录,并
对 vbRichClient5.dll 进行注册。
   如果采用免注册方法使用,则还需要将 DirectCOM.dll 一并复制到程序目录或System目录。
3、VBRichClient 的使用
    VBRichClient 是个相当庞大的库,需要花一些时间熟悉里面的类,最简单的办法就是使用其中的 cConstructor
类直接“生产”其它的对象。使用 DirectCOM 免注册使用,则必须使用 cConstructor 访问其他类。
    dim rcConstructor as object
    dim rcMemDB as object
    set rcConstructor = DirectCom_Create("vbRichClient5.dll", "cConstructor")
    set rcMemDB = rcConstructor.MemDB()
    rcMemDB.xxx

4、cConstructor 成员列表

    ● ArrayList
    简介:创建数组列表对象,支持动态添加、移除,也可以当队列或者栈来用,支持排序
    原型:Function ArrayList(vType As VbVarType, ParamArray P() As Variant) As cArrayList
    
    ● AudioCaptureClient
    简介:创建捕捉音频对象
    原型:Function AudioCaptureClient() As cAudioCaptureClient

    ● AudioRenderClient
    简介:创建播放音频对象
    原型:Function AudioRenderClient() As cAudioRenderClient
    
    ● Cairo
    简介:创建 Cairo 2D 绘图对象,支持许多高级绘图函数,比如反锯齿,透明,文字,变形……
    原型:Function Cairo() As cCairo
    
    ● cdeclCall
    简介:以CDECLCALL约定调用函数指针
    原型:Function cdeclCall(retType As enmRetType, pFunc As Long, ParamArray P() As Variant)

    ● cdeclCallDirect
    简介:以CDECLCALL约定调用函数指针,与cdeclCall区别不明
    原型:Function cdeclCallDirect(retType As enmRetType, pFunc As Long, pArgs As Long, ArgsByteCount As Long)
    
    ● CleanupRichClientDll
    简介:清空VBRichClient的临时文件?未验证
    原型:Sub CleanupRichClientDll()

    ● ClipBoard
    简介:创建剪切板对象,比VB自带的对象好用
    原型:Function ClipBoard() As cUniClipBoard

    ● CodePageMapping
    简介:创建编码和代码页映射对象
    原型:Function CodePageMapping() As cCodePageMapping

    ● Collection
    简介:创建集合对象,该对象比VB自带的Collection和Scripting.Dictionary有更多的功能
    原型:Function Collection([CompatibleToVBCollection As Boolean = True], [StringCompareMode As StringCompareModeEnum = 1], [UniqueKeys As Boolean = True], [Content]) As cCollection
    
    ● ControlPoints
    简介:创建控制点对象,用来在2D绘图中控制形状或曲线的参数
    原型:Function ControlPoints() As cControlPoints
    
    ● Converter
    简介:创建转换数据库对象
    原型:Function Converter([CaseInSensitiveTextColumns_ConformToJet As Boolean]) As cConverter
    
    ● CreateInstanceUnk
    简介:通过注册表中的 ClsID 和 IID 直接创建COM对象
    原型:Function CreateInstanceUnk(ClsID As String, IID As String) As IUnknown
    
    ● Crypt
    简介:创建加密对象,该对象支持各种常见加密解密算法和压缩算法
    原型:Function Crypt() As cCrypt
    
    ● DataObjectFiles
    简介:创建数据对象文件
    原型:Function DataObjectFiles() As cDataObjectFiles
    
    ● DataSource
    简介:创建数据源对象
    原型:Function DataSource() As cDataSource

    ● DC
    简介:创建设备上下文对象,GDI绘图用
    原型:Function DC([DIB As cDIB], [DDB As cDDB]) As cDC

    ● DDB
    简介:创建设备相关位图对象,GDI绘图用
    原型:Function DDB([dx As Long], [dy As Long], [Picture As StdPicture], [PictureBytes]) As cDDB

    ● DIB
    简介:创建设备无关位图对象,GDI绘图用
    原型:Function DIB([dx As Long], [dy As Long], [Picture As StdPicture], [PictureBytes], [IconBytes], [UseIconDefaultSize As Boolean], [DesiredIconSize As Long]) As cDIB

    ● Displays
    简介:创建显示器对象,支持多显示器,获取显示器硬件参数
    原型:Function Displays() As cDisplays

    ● Downloads
    简介:创建简单下载对象,支持进度报告
    原型:Function Downloads() As cDownloads

    ● EventCollection
    简介:创建事件集合对象,作用暂未知
    原型:Function EventCollection() As cEventCollection

    ● Formula
    简介:创建公式对象,对包含计算公式的字符串求值
    原型:Function Formula() As cFormula

    ● FSO
    简介:创建文件系统对象,与Scripting.FileSystemObject类似,但有更多新功能,比如打开保存文件对话框、获取临时文件、获取各种特殊文件夹……
    原型:Function FSO([CreateFreshInstance As Boolean]) As cFSO

    ● GestureConfigList
    简介:作用暂未知
    原型:Function GestureConfigList() As cGestureConfigList

    ● GetCPUCoresCount
    简介:获取CPU核心数
    原型:Function GetCPUCoresCount() As Long

    ● GetFuncPtr
    简介:获取直接从DLL文件获取函数指针
    原型:Function GetFuncPtr(LibNameOrFullPathOrHandle, FunctionName As String, [RaiseErrorIfNotFound As Boolean]) As Long

    ● GetStringFromPointerW
    简介:从指针所指内存获取字符串
    原型:Function GetStringFromPointerW(WStrPtr As Long, [ExpectedMaxLen As Long = 4096]) As String

    ● HPTimer
    简介:获取时间
    原型:Function HPTimer() As Double

    ● IsVistaPlus
    简介:是否为 Windows Vista 系统
    原型:Function IsVistaPlus() As Boolean

    ● IsWin7Plus
    简介:是否为 Windows 7 系统
    原型:Function IsWin7Plus() As Boolean

    ● IsWin8Plus
    简介:是否为 Windows 8 系统
    原型:Function IsWin8Plus() As Boolean

    ● IsXPPlus
    简介:是否为 Windows XP 系统
    原型:Function IsXPPlus() As Boolean

    ● JPG
    简介:创建JPEG解压缩对象
    原型:Function JPG() As cJPG

    ● JSONArray
    简介:创建 JSON 数组对象
    原型:Function JSONArray() As cCollection

    ● JSONDecodeToCollection
    简介:将 JSON 转换为 集合 对象
    原型:Function JSONDecodeToCollection(strJSON As String, [ParserErrors As String], [StrictParsing As Boolean = True]) As cCollection

    ● JSONDecodeToCollectionUTF8
    简介:将 JSON 转换为 集合对象,JSON字符串为UTF-8编码
    原型:Function JSONDecodeToCollectionUTF8(UTF8Bytes() As Byte, [ParserErrors As String], [StrictParsing As Boolean = True]) As cCollection
    
    ● JSONObject
    简介:创建 JSON 对象 对象
    原型:Function JSONObject() As cCollection
    
    ● KeyWatcher
    简介:创建键盘监听器对象
    原型:Function KeyWatcher(VKeysCommaSeparated As String, [WatchAllAppWindows As Boolean], [WatchSystemWide As Boolean]) As cKeyWatcher
    
    ● MemCopy
    简介:拷贝内存
    原型:Sub MemCopy(pDst As Long, pSrc As Long, Bytes As Long)
    
    ● MemDB
    简介:创建内存数据库对象
    原型:Function MemDB() As cMemDB
    
    ● MMDeviceEnumerator
    简介:创建多媒体硬件枚举器对象
    原型:Function () As cMMDeviceEnumerator
    
    ● MP3Resource
    简介:创建MP3资源对象,使用方法未知
    原型:Function MP3Resource() As cMP3Resource
    
    ● OneShotTimer
    简介:创建触发器型定时器
    原型:Function OneShotTimer() As cOneShotTimer
    
    ● OOEmbed
    简介:创建Open Office对象,未验证
    原型:Function OOEmbed([HostingContainerhWnd As Long], [DocFileName As String], [NewDocumentType As DocType = sWriter]) As cOOEmbed
    
    ● PhysicsEngine
    简介:创建物理引擎对象,常用于游戏开发
    原型:Function PhysicsEngine() As cPhysicsEngine
    
    ● Properties
    简介:创建属性对象
    原型:Function Properties() As cProperties
    
    ● Recordset
    简介:创建数据库记录对象
    原型:Function Recordset([ActiveConnection As cConnection], [Content]) As cRecordset
    
    ● RegFree
    简介:创建COM免注册对象,支持多线程
    原型:Function RegFree() As cRegFree
    
    ● ReportDocument
    简介:创建打印文档对象
    原型:Function ReportDocument([MMScaleFactor As Double = 1], [PageWidthInUserUnits As Double = 210], [PageHeightInUserUnits As Double = 297]) As cReportDocument
    
    ● ReportPage
    简介:创建打印页对象
    原型:Function ReportPage([InitDrawMode As Boolean], [Landscape As Boolean]) As cReportPage
    
    ● RPCConnection
    简介:创建RPC调用连接对象
    原型:Function RPCConnection([Host As String], [Port As Long = 22222], [KeepAlive As Boolean = True], [ServerAuthentication As Boolean], [UserName As String], [PassWord As String]) As cRPCConnection
    
    ● RPCListener
    简介:创建RPC调用监听器对象
    原型:Function RPCListener([Host As String], [Port As Long = 22222], [ThreadPoolSize As Long = 8], [ForceAuthentication As Boolean], [AdminPassWord As String], [AllowedGroup As String], [RPCDllsFolder As String], [ReadIniValues As Boolean], [StartServer As Boolean], [DefaultBinaryPathForWebRequests As String], [ToCallBeforeAnyRPC As String]) As cRPCListener
    
    ● ShellLink
    简介:创建快捷方式对象
    原型:Function ShellLink() As cShellLink
    
    ● SimpleDOM
    简介:创建 XML DOM 对象
    原型:Function SimpleDOM([XMLSource As String], [FirstParamIsFileName As Boolean]) As cSimpleDOM
    
    ● SimpleSax
    简介:创建 XML SAX 对象
    原型:Function SimpleSax() As cSimpleSax
    
    ● SMBScan
    简介:创建 SMB 服务器扫描器对象
    原型:Function SMBScan() As cSMBScan
    
    ● SortedDictionary
    简介:创建有序字典对象
    原型:Function SortedDictionary([StringCompareMode As StringCompareModeEnum], [UniqueKeys As Boolean = True]) As cSortedDictionary
    
    ● stdCall
    简介:以STDCALL约定调用函数指针
    原型:Function stdCall(retType As enmRetType, pFunc As Long, ParamArray P() As Variant)
    
    ● stdCall
    简介:以STDCALL约定调用函数指针,与stdCall区别不明
    原型:Function stdCallDirect(retType As enmRetType, pFunc As Long, pArgs As Long, ArgsByteCount As Long)
    
    ● Stream
    简介:创建数据流对象,类似于ADO中的Stream对象
    原型:Function Stream() As cStream
    
    ● StringBuilder
    简介:创建字符串构造器对象,快速组合字符串
    原型:Function StringBuilder() As cStringBuilder
    
    ● StringCompare
    简介:创建字符串比较器对象,支持多种方式比较
    原型:Function StringCompare() As cStringCompare
    
    ● SubClass
    简介:创建就子类化对象,VB中用处太大了
    原型:Function SubClass() As cSubClass
    
    ● SVG
    简介:创建 SVG 格式分析器对象
    原型:Function SVG() As cSVG
    
    ● TCPClient
    简介:创建 TCP 客户端对象
    原型:Function TCPClient() As cTCPClient
    
    ● TCPServer
    简介:创建 TCP 服务端对象
    原型:Function TCPServer([StartListening As Boolean], [Host As String], [Port As Long], [BufferSize As Long = 65536], [MaxConnections As Long = 1024]) As cTCPServer
    
    ● TDD
    简介:创建类自动化测试对象
    原型:Function TDD([TestClass As Object], [TestMethod As String]) As cTDD
    
    ● Timer
    简介:创建定时器对象,不需要窗体
    原型:Function Timer([Interval As Long], [Enabled As Boolean], [Tag]) As cTimer
    
    ● Timing
    简介:作用未知
    原型:Function Timing([Start As Boolean]) As String
    
    ● UDP
    简介:创建 UDP 网络对象
    原型:Function UDP() As cUDP
    
    ● vtblCall
    简介:以虚拟函数表调用函数
    原型:Function vtblCall(retType As VbVarType, punk As Long, vtblIdx As Long, ParamArray P() As Variant)
    
    ● WebArchive
    简介:创建WEB文档对象,配合WebServer对象使用
    原型:Function WebArchive([FileNameOrByteArrayToRead]) As cWebArchive
    
    ● WebKit
    简介:创建 WebKit 浏览器对象,需要在官网下载 WebKit 插件包,只有一个5M文件
    原型:Function WebKit([InititializeWithPath As Boolean], [WebKitDllPath As String]) As cWebKit
    
    ● WebServer
    简介:创建Web服务器对象,可以实现简单的Web服务
    原型:Function WebServer() As cWebServer
    

    更多类的用法,基本都可以见名知意,虽然没有文档,还是拜 Olaf Schmidt 大牛的福,才有了这么多
好用的工具。其中有不少类都可以改变以往VB的开发模型,提高开发和运行效率。

    另外,VBRichClient 还有不少子项目托管在 GitHub,VB爱好者可以去关注下,千万别让 VBRichClient 失去
用户,别让 Olaf Schmidt 失去开发的动力,让 VBRichClient 更好的发展!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Vc 动态链接库(Dll)编程
如何用VB设置IE代理IP并且马上生效?
Excel?VBA的封装,加密
VB简介
V3.7创建自定义对象.htm
javascript——prototype与
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服