2024年5月30日发(作者:)

VB中字母大小写转换的三种方法

方法一:用VB的函数LCase和UCase

用三个TextBox来展现一下这两个函数的大小写转换功能[运行之前在TextBox1中输入

几个大写字母,也可混合输入]:

PrivateSubCommand1_Click()

=LCase()'将Text1的文本全换成小写

=UCase()'将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='给变量赋初值

CharUppera'变为大写

=a

CharLowera'变为小写

=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