博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机房收费系统--文本框输入限制及技巧
阅读量:5109 次
发布时间:2019-06-13

本文共 1770 字,大约阅读时间需要 5 分钟。

   文本框是一个程序数据输入的关键部件,为了实现对数据输入的规范和数据安全(如果输入不当,例如:输入的数据需要在数据库中处理,数据中含有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)

博客地址:

转载于:https://www.cnblogs.com/lucky7/archive/2012/11/30/3768661.html

你可能感兴趣的文章
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JS 中的跨域请求
查看>>
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>
Oracle中的rownum不能使用大于>的问题
查看>>
cassandra vs mongo (1)存储引擎
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
遍历Map对象
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>