1、具有自动完成功能的TEXTBOX,即在TEXTBOX中输入“昆明市”后,第二次输入“昆”则显示“明市”,感觉象IE的地址栏。
2、怎样判断TEXTBOX中的内容为汉字,数字,英文字母(给出函数)。
3、怎样让TEXTBOX只接收数字(0,1,2,3,4,5,6,7,8,9,小数点)键及BACKSPACE,ENTER,DELETE,和左右移动键。
要求给出代码,或者设计思路。

解决方案 »

  1.   

    给你一个返回值为0为不在范围
    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.   

    1.你可以通过写注册表或者写一个INT文件实现
    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
      

  3.   

    关于第3:给你个控件的代码可以一劳永逸,你的EMAIL??
      

  4.   

    第二第三题有好多例子的,在CSDN找找看看
      

  5.   

    第一条可以办到
    但是~~~你的数据存在哪里?
    最好是存在数据库里面
    这样的话,用select * like '昆%'可以:)
      

  6.   

    第三個問題
     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
      

  7.   

    2、怎样判断TEXTBOX中的内容为汉字,数字,英文字母(给出函数)。
    /////不需要函數,還是判斷keyascill,汉字>01、具有自动完成功能的TEXTBOX,即在TEXTBOX中输入“昆明市”后,第二次输入“昆”则显示“明市”,感觉象IE的地址栏。
    ////ie的可以根據api去取,但是如果隻是你說的,你可以對數據庫進行判斷,sql語句自己寫哦
      

  8.   

    除了第一个,上面的都说了,我也就不罗嗦了针对第二个问题大家没说到的是判断数字可以用IsNumeric函数判断,其他的用ascii码
      

  9.   

    问题1:一般来说是把有的数据存到数据库中,你输入其中的关键字就弹出一个ListBox,然后相关的
    比如数据库中有 “昆明市,北京市,北海市”
    你输入“昆”字,就会弹出一个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事件中处理
    楼上的几位已经处理
    我就不写了