control de letras y numeros

Calaceiro
19 de Noviembre del 2003
hola [email protected]:

necesito saber como controlar que en un campo de numeros no se puedan meter letras y viceversa

sin mas un saludo

y gracias!

sdemingo
19 de Noviembre del 2003
Hola,

se me ocurre una idea un poco cutre pero que puede funcionar.


Dim sonLetras as Boolean
Dim sonNumeros as Boolean

sonLetras = Letras
sonNumeros = Numeros

if sonLetras then
' Estamos seguros de que text1 contiene letras
endif

if sonNumeros then
' Estamos seguros de que text1 contiene numeros
endif



Function Letras() as Boolean
dim ok as string

on error goto error_letras

Letras = False
ok = CStr(Text1.Text)
Letras = True

Exit Function
'ERROR
error_letras:
Letras = false

End Function


Function Numeros() as Boolean
dim ok as string

on error goto error_numeros

Numeros = False
ok = CInt(Text1.Text)
Numeros = True

Exit Function
'ERROR
error_numeros:
Numeros = false

End Function



Y lo almodas como quieras pasándole como parámetro a las funciones el contenido del campo que quieras evaluar, etc...

Suerte

Un saludo
sdemingo

carlydt
19 de Noviembre del 2003
'
'
' ----------------- e s N u m e r o ( ) ----------------
'
'
Public Sub esNumero(KeyAscii As Integer)
If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then
Rem OK
ElseIf KeyAscii = 8 Then
Rem OK
ElseIf KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{TAB}"
Else
KeyAscii = 0
Beep
End If
End Sub
'
'
' ----------------- e s L e t r a ( ) ----------------
'
'
Public Sub esLetra(KeyAscii As Integer)
If UCase(Chr(KeyAscii)) >= "A" And UCase(Chr(KeyAscii)) <= "Z" Then
Rem OK
ElseIf KeyAscii = 8 Then
Rem OK
ElseIf Chr(KeyAscii) = Space(1) Then
Rem OK
ElseIf KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{TAB}"
Else
KeyAscii = 0
Beep
End If
End Sub