闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:巧用Win32 API函数增强VB位操作功能巧用Win32 API函数增强VB位操作功能

2005-09-15 10:14 出处: 作者:刘琦 责任编辑:moningfeng

  

摘要:Visual Basic 的位操作功能较弱,甚至连最常用的移位运算都不支持,因此在使用VB开发诸如数据加密、压缩、通信之类的程序时往往困难重重。针对这一问题,本文详细地阐释了位操作的本质,并利用Win32 API函数实现了整型变量的拆分、合并、移位等VB不支持的位操作功能。

关键词:Visual Basic、位操作、移位

本文相关代码(附件

一 引言

  笔者在编程实践中发现,VB对位操作的支持仅限于AND、OR、XOR几种位运算,远远不如其他的开发工具那样全面(如Visual C++、C++Builder、Delphi等开发工具都提供了整形变量的移位、拆分、合并的运算),因此在使用VB编写诸如加密之类的通用数据处理程序时往往困难重重。为了使以后的开发工作不再陷入僵局,我开始寻求增强VB位操作功能的通用方法,以达到一劳永逸的效果。

  VB的数据类型不够丰富,整形数只包括Byte、Integer、Long三种类型,分别对应C++中的 unsigned char、short 和 long 类型,而我们常用的二字节无符号整形unsigned short(也叫“字”、Word)、四字节无符号整形unsigned long(也叫“双字”、DWord)在VB中却没有被支持。 但好在无符号数和有符号数在二进制的层次上没有任何差别,不同之处仅在于编译器对变量的理解。在进行位操作时我们只关心变量的二进制位,因此VB中的Integer类型可以当作Word类型使用,Long类型则对应DWord。(此后文中提及的Integer类型均指VB Integer类型,Long类型均指VB Long类型,Word 、DWord类型则是不依赖于特定编译器的对二字节、四字节整形值的通用称呼)再来看位运算方面,可以看出VB不支持整型变量的左移、右移、拆分、合并等操作。

  经过上述的分析之后,已经确定了工作的可行性和工作目标,于是笔者决定开发一个通用模块来增强VB的位操作功能,这个模块是可重用的,只要把这个模块加入工程中,就可以象使用VB的内置函数一样透明的使用模块中的函数,非常方便。如果使用大量的可重用模块来开发程序,则开发周期短,代码可读性好,易于维护,不容易出错。

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�