• Miércoles 15 de Mayo de 2024, 00:58

Autor Tema:  Que Hace Esto,,?  (Leído 1504 veces)

ferhn

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Que Hace Esto,,?
« en: Viernes 6 de Junio de 2008, 21:53 »
0
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

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Que Hace Esto,,?
« Respuesta #1 en: Viernes 6 de Junio de 2008, 22:12 »
0
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.
El pasado son solo recuerdos, el futuro son solo sueños

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Que Hace Esto,,?
« Respuesta #2 en: Sábado 7 de Junio de 2008, 14:44 »
0
Citar
If Not IsNumeric(Chr(KeyAscii)) Then
            KeyAscii = 0
End If

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
«Ma non troppo»
----> ModoVacaciones = False<----

ferhn

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Que Hace Esto,,?
« Respuesta #3 en: Sábado 7 de Junio de 2008, 21:55 »
0
Muchas Gracias...