1、具有自动完成功能的TEXTBOX,即在TEXTBOX中输入“昆明市”后,第二次输入“昆”则显示“明市”,感觉象IE的地址栏。
2、怎样判断TEXTBOX中的内容为汉字,数字,英文字母(给出函数)。
3、怎样让TEXTBOX只接收数字(0,1,2,3,4,5,6,7,8,9,小数点)键及BACKSPACE,ENTER,DELETE,和左右移动键。
要求给出代码,或者设计思路。
2、怎样判断TEXTBOX中的内容为汉字,数字,英文字母(给出函数)。
3、怎样让TEXTBOX只接收数字(0,1,2,3,4,5,6,7,8,9,小数点)键及BACKSPACE,ENTER,DELETE,和左右移动键。
要求给出代码,或者设计思路。
解决方案 »
- 招团队成员,一起开发软件“CSDN贴子结贴给分工具”
- 失恋了,现在的女人究竟怎么想的!郁闷中,发几个源代码
- VB编程中用Internet explorer对象出现Automation错误如何解决?
- vb 读取注册表项,为什么没数据
- 怎样删除CommonDialog里面的ShowFont里面的字体列表里面的开头带"@"符号的项目?
- 这是怎么回事?关于打印机
- 关于ADO网络连接的问题?
- 很奇怪的问题数据丢失,在线等,急急!
- ADO控件问题
- 请赐教如何打印?
- ######################求VB的能够用的Base64的解密程序##############################################
- sql server備份与數據庫使用者?***********急急************
Public Function CheckNumericAndEnter(ByVal KeyAscii As Integer) As Integer
If (Chr(KeyAscii) >= 0 And Chr(KeyAscii) <= 9) Or KeyAscii = 8 Or Chr(KeyAscii) = "." Or KeyAscii = 13 Or KeyAscii = 45 Then
CheckNumericAndEnter = KeyAscii
Else
CheckNumericAndEnter = 0
Beep
End If
End Function
2.通过Asc判断,57>=asc(数字)>=48,90>=asc(大写字母)>=65,122>=asc(小写字母)>=97,
asc(汉字)<0
3.在控件的keypress中判断keyascii值:
例如:
if keyascii>57 or keyascii<48 or keyascii<>8 or keyascii<>13 then
keyascii=0
end if
但是~~~你的数据存在哪里?
最好是存在数据库里面
这样的话,用select * like '昆%'可以:)
Select Case KeyCode
Case 48 To 57, 96 To 105 ' 數字0到9
If Shift = 0 Then
If KeyCode > 57 Then
Char = Chr(KeyCode - 48)
Else
Char = Chr(KeyCode)
End If
Else
If KeyCode = 51 Then
Char = "#"
ElseIf KeyCode = 56 Then
Char = "*"
End If
End If
Case 8 ' 退格
Case 35, 42
Char = Chr(KeyCode)
Case 106
Char = "*"
Case 46, 37, 39 'Del,←,→
Case Else
KeyCode = 0
Exit Sub
End Select
/////不需要函數,還是判斷keyascill,汉字>01、具有自动完成功能的TEXTBOX,即在TEXTBOX中输入“昆明市”后,第二次输入“昆”则显示“明市”,感觉象IE的地址栏。
////ie的可以根據api去取,但是如果隻是你說的,你可以對數據庫進行判斷,sql語句自己寫哦
比如数据库中有 “昆明市,北京市,北海市”
你输入“昆”字,就会弹出一个LISTBOX,显示昆明市,你是否选择
你输入“北”字,弹出LISTBOX,显示“北京市,北海市”,让你选择,选中的话把值放到TEXTBOX中问题2:如果LENB(string)<>LEN(string)的话,则证明包含UNICODE字符,如果LENB(string)=LEN(string)*2的话,则证明所有字符都是UNICODE字符,判断数字和英文字母的话,只能通过逐个字符分出来判断,一旦有不合法的字符就返回FALSE
下面以数字为例
function IsNum(byval str as string) as boolean
dim Length as long
dim i as long
dim buffer as string
dim rv as boolean
rv=true
length=len(str)
for i=0 to length
buffer=mid(str,i,1) '注:本人长时间没使用VB,如果有函数用错请楼主自行修正
rv=isnumeric(buffer)
if rv=false then
IsNum=false’有字符不是数字
exit function
end if
next
isnum=true‘所有字符都是数字
end function
第3题:可在TEXTBOX的KEYPRESS事件中处理
楼上的几位已经处理
我就不写了