您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:11 来源:未知

方法一:用VB函数LCase和UCase
逆风者

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

方法二:用API函数

user32提供两个用于大小写转换的API函数:Charlower[大写-小写]、Charupper[小写-大写],其原形分别为:
Declare Function CharLower Lib "user32" Alias "CharLowerA" (ByVal lpsz As String) As Long
Declare Function CharUpper Lib "user32" Alias "CharUpperA" (ByVal lpsz As String) As Long

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

方法三:用算法
可以利用Ascii码对大小写字母字符代码的定义来强制输入的字母只能为大写的或者小写的,而不管Caps Lock键是打开的还是关闭的。就象安装Windows时用户输入CD-KEY一样。请看:
Private Sub Text1_KeyPress(KeyAscii As Integer)
'输入的字母通通为小写
If KeyAscii > 64 And KeyAscii < 91 Then KeyAscii = KeyAscii 32
End Sub

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

相关文章

VB教程 第二章:控件学习
Visual Basic 概述
Visual Basic COM基础讲座之事件
第一个 Visual Basic 应用程序
自己的邮件自己发
VB编程的一些基础的问题
人民币小写转大写
Visual Basic程序设计
读写INI文件的四个函数
获得MouseLeave的方法
VB常用术语释义
DataGrid 控件的使用
获得、设置鼠标双击间隔时间
ADO控件和DATA控件的冲突(不能共存)的解决
(空字串)、Null、Empty、与 Nothing 的区别
获取鼠标在屏幕上的位置
从DAO转换到ADO
如何取得中英混合字符串的长度
在VB中运行Microsoft Access报表的好方法
使VB的网格控件具有输入功能

相关评论


本文章所属分类:首页 VB

  热门关键字: