文本框录入数据的问题?
文本框最多录入8个汉字
如果是数字的话,若是两个连续的数字,则两个算一个全角。
若是单个的数字,则补上一个空格,凑成一个全角。
比如我输入 “秦皇岛-沈阳北03”这算是8个汉字。
但如果我用键盘上的删除键删掉3后,我希望键盘再录入数字时允许录入,但录入汉字时不允许录入
1.我怎样知道键盘删除键删除的是汉字还是数字?
2.我怎么限制文本框中只能录入16个字节?我现在是如果是数字,计数就+1,否则+2。但删除的时候我不知道怎么判断删除的是什么。
请高手指教一下,谢谢。
[解决办法]
text1.maxlength=16
[解决办法]
思路:根据中文的asc码都小于0 的原理 在向文本框按下的 keyascii码进行判断
例题: text1*1
代码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then KeyAscii = 8: Exit Sub
Static a As Integer
a = 0
For i = 1 To Len(Text1)
If Asc(Mid(Text1, i, 1)) > 0 Then a = a + 1 Else a = a + 2
Next i
If a > = 16 Then KeyAscii = 0
If a > 16 Then KeyAscii = 8
End Sub
-------------------
以上程序针对你的这个题目:秦皇岛-沈阳北03
最后的判断 a > =16 是你的限制 当然还可以改成其他限制
**********楼主好小气啊 才给10 分.....
cike技术交流群 16874787