文本框是一个程序数据输入的关键部件,为了实现对数据输入的规范和数据安全(如果输入不当,例如:输入的数据需要在数据库中处理,数据中含有SQL语句过敏的符号或关键词,就会造成数据库瘫痪,系统瘫痪),所以,就需要我们在文本输入的时候进行一下简单的限制。
我们在使用其他软件的时候,提示只让输入,大小写字母,还有数字,我们通过利用 Kepress 事件来限定。a~z对应的KeyAscii是97~122 。A~Z对应的KeyAscii依次是65~90 数字0~9对应的KeyAscii分别是48~57 然后这样
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57 '数字0-9 可输入
Case 65 To 90 '字母 A~Z 可输入
Case 97 To 122 '字母a~z 可输入
Case vbKeyBack, vbKeyDelete '允许删除
Case Else
KeyAscii = 0 '其他按键忽略
End Select
End Sub
如果你还想限制输入数据的个数,可以设置Textbox的MaxLength属性为N=你想要的字的个数
这是一个思路,当然我们可以通过判断输入字符,来提醒用户来自行输入合格的数据!也就是说要 判断一下 textbox控件的text了。此时我们需要用到一些熟悉的字符串函数,例如;
1. ASC(X),Chr(X):
转换字符字符码
[格式]:
P=Asc(X) 返回字符串X的第一个字符的字符码
P=Chr(X) 返回字符码等于X的字符
[范例]:
(1)P=Chr(65) ‘ 输出字符A,因为A的ASCII码等于65
(2)P=Asc(“A”) ‘ 输出65
2. Len(X): 计算字符串X的长度
[格式]:
P=Len(X)
[说明]:
空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。
[范例]:
(1) 令X=”” (空字符串) Len(X) 输出结果为0
(2) 令X=”abcd” Len(X) 输出结果为4
(3) 令X=”VB教程” Len(X) 输出结果为4
3. Mid(X)函数:读取字符串X中间的字符
[格式]:
P=Mid(X,n) 由X的第n个字符读起,读取后面的所有字符。
P=Mid(X,n,m) 由X的第n个字符读起,读取后面的m个字符。
[范例]:
(1) X=”abcdefg” P=Mid(X,5) 结果为:P=”efg”
(2) X=”abcdefg” P=Mid(X,2,4) 结果为P=”bcde”
等等,还有很多,通过这些函数,我们可以帮助用户检查和转化这些数据,然后用msgbox 进行提醒,这也是一个思路!
当我们提醒完用户后,用户需要修改数据,也就是删除原有的数据,重新输入,这时我们还可以通过代码帮用户全部选中,待他输入的时候,原有数据就会自动被替换掉了,可以这样干:
文本框的名称是text1 这需要使用文本框的属性SelStart和SelLength属性,SelStart表示选择文本的开始,SelLength表示要选中文本的长度,采用以下两句代码就行了。
Text1.SelStart = 0 Text1.SelLength =Len(Text1.Text)