Programación General > Visual Basic para principiantes

 Que Hace Esto,,?

(1/1)

ferhn:
Hola soy nuevo programando y no entiendo completamnete q hacen estos if:

If InStr(1, txtHora(Index), ".") > 0 Then
            KeyAscii = 0
 End If
               
If Not IsNumeric(Chr(KeyAscii)) Then
            KeyAscii = 0
End If

RadicalEd:
Lo que hace el InStr es buscar un cadena dentro de una cadena y devolver su posición, entonces lo que hace es:

Si dentro del textHora se encuentra el caracter '.' comenzando desde la primera posición y esto es mayor de 0 a la variable KeyAscii asignele 0

El segundo, como primera está negando el valor retornado por la expresión IsNumeric, la función chr devuelve el caracter ASCII entregado por el entero dentro de su función.

Nebire:

--- Citar ---If Not IsNumeric(Chr(KeyAscii)) Then
            KeyAscii = 0
End If
--- Fin de la cita ---

En la 2ª parte le está diciendo que si 'KeyAscii' no es un número, se le asigne el valor 0.
Son 3 funciones anidadas dentro de un condicional. Se debe analizar siempre por el de más adentro:
chr(nº) = dame el carácter que corresponde a este nº
isnumeric(caracter) = es un número el caracter ?
not isnumeric()  = NO es un número el caracter ?

por tanto:
if ..... then = SI (no(es un número(el caracter nº(KeyAscii)))) LUEGO

ferhn:
Muchas Gracias...

Navegación

[0] Índice de Mensajes

Ir a la versión completa