当前位置:主页   - 电脑 - 程序设计 - VB
大小写互换的三种方法
来源:网络转载   作者:未知   更新时间:2008-12-17
收藏此页】    【字号    】    【打印】    【关闭
方法一:用VB的函数LCase和UCase

用三个TextBox来展现一下这两个函数的大小写转换功能[运行之前在TextBox1中输入几个大写字母,也可混合输入]:
PrivateSubCommand1_Click()
Text2.Text=LCase(Text1.Text)'将Text1的文本全换成小写
Text3.Text=UCase(Text2.Text)'将Text1的文本全换成大写
EndSub
说明:
LCase仅将是大写的转换为小写,UCase则仅将是小写的转换为大写,故当字符串中有其它不符合转换的内容时将对其忽略。可以在TextBox1中输入汉字、阿拉伯数字等观察效果。

方法二:用API函数

user32提供两个用于大小写转换的API函数:Charlower[大写-小写]、Charupper[小写-大写],其原形分别为:
DeclareFunctionCharLowerLib"user32"Alias"CharLowerA"(ByVallpszAsString)AsLong
DeclareFunctionCharUpperLib"user32"Alias"CharUpperA"(ByVallpszAsString)AsLong

继续用三个文本框来观察效果:
PrivateSubCommand1_Click()
DimaAsString
a=Text1.Text'给变量赋初值
CharUppera'变为大写
Text2.Text=a
CharLowera'变为小写
Text3.Text=a
EndSub
说明:与方法一的效果完全一样。实际上,VB的LCase和UCase函数调用的也就是这两个API函数,是封装了这两个API函数的内部函数。

方法三:用算法
可以利用Ascii码对大小写字母字符代码的定义来强制输入的字母只能为大写的或者小写的,而不管CapsLock键是打开的还是关闭的。就象安装Windows时用户输入CD-KEY一样。请看:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
'输入的字母通通为小写
IfKeyAscii>64AndKeyAscii<91ThenKeyAscii=KeyAscii 32
EndSub

PrivateSubText2_KeyPress(KeyAsciiAsInteger)
'输入的字母通通为大写
IfKeyAscii>96AndKeyAscii<123ThenKeyAscii=KeyAscii-32
EndSub
说明:在Ascii字符集里,大写A--Z对应于字符代码65--90,小写a--z对应于97--122。以A为例,小写a[95]与大写A[65]的字符代码相差32,其它字母也是如此。当然可以借此编制一个函数来完成象方法一、二一样将字符串进行大小写互换,略显复杂些,也没什么必要。->


其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明