none
Control de carácteres no-alfanuméricos

    Pregunta

  •  

    Hola a todos/as

     

    Quería saber si alguno conoce alguna función con la que, con el menor código posible y lo más dinámico y extensible posible, pudiese controlar los caracteres no-alfanuméricos (ej: '%'  '&'  '/') para poder sacar un mensaje de error cuando uno de estos caracteres se introduzca, por ejemplo, en un textbox.

     

    Muchas gracias a todos!

    CarmenDev

    martes, 20 de mayo de 2008 9:24

Respuestas

  • Hola,

    Leo esto:

    "Unicode es un sistema internacional de codificación de 16-bit que cubre valores para más de 45,000 caracteres. Un caracter Unicode es almacenado como un valor numerico sin signo de 16-bit, de 0 a 65535. Los primeros 128 (0-127) caracteres Unicode corresponden al conjunto de caracteres ASCII. Del 32 al 127 corresponden a caracteres alfanumericos y simbolos para un teclado US. Del 128 al 255 representan caracteres especiales."


    Asi que deberia ser algo asi:

    Code Snippet
            Dim intCont, intAscii As Integer

            Dim blnCont As Boolean = True
            Dim texto As String
            Dim caract As Char()
            texto = "hola que tal"
            caract = texto.ToCharArray
            intCont = 0

            While intCont < caract.Length - 1 AndAlso blnCont
                intAscii = Asc(caract(intCont))
                If intAscii < 32 OrElse intAscii > 127 Then
                    MessageBox.Show("Error")
                    blnCont = False
                End If
                intCont += 1
            End While

    Saludos,
    Alfredo Fernández
    martes, 20 de mayo de 2008 9:46

Todas las respuestas

  • Hola,

    Leo esto:

    "Unicode es un sistema internacional de codificación de 16-bit que cubre valores para más de 45,000 caracteres. Un caracter Unicode es almacenado como un valor numerico sin signo de 16-bit, de 0 a 65535. Los primeros 128 (0-127) caracteres Unicode corresponden al conjunto de caracteres ASCII. Del 32 al 127 corresponden a caracteres alfanumericos y simbolos para un teclado US. Del 128 al 255 representan caracteres especiales."


    Asi que deberia ser algo asi:

    Code Snippet
            Dim intCont, intAscii As Integer

            Dim blnCont As Boolean = True
            Dim texto As String
            Dim caract As Char()
            texto = "hola que tal"
            caract = texto.ToCharArray
            intCont = 0

            While intCont < caract.Length - 1 AndAlso blnCont
                intAscii = Asc(caract(intCont))
                If intAscii < 32 OrElse intAscii > 127 Then
                    MessageBox.Show("Error")
                    blnCont = False
                End If
                intCont += 1
            End While

    Saludos,
    Alfredo Fernández
    martes, 20 de mayo de 2008 9:46
  • Muchisimas gracias (^^,). Me ha sido de GRAN utilidad (^_^) .

     

    Aunque yo añadiría rangos: del 33 al 47(inc.), del 58 al 64(inc.), del 91 al 96(inc.) y del 123 al 255(inc.). Porque solo quiero que introduzca letras o números (así evito admiraciones, etc).

     

     

     

    martes, 20 de mayo de 2008 10:56