Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/03/2004, 13:08
Avatar de pabli
pabli
 
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
En la ventana inmediato de VB:
Código:
?isdate("01/15/04") 'Formato no español
TRUE
?isdate("01/01/04") 'Formato español (o inglés, no se sabe)
TRUE
IsDate dará true mientras sea válida, independientemente del formato. Con lo cual la conviertes al formato que te interesa, o sea "dd/mm/yy" y luego se la pasas a IsDate.
Código:
?format("01/15/04","ddmmyy")
15/01/04
?isdate("15/01/04")
TRUE
Este fallo es muy fácil de detectar:
Código:
?format("15/14/04","dd/mm/yy")
15/14/04
?isdate("15/14/04")
FALSE
Pero este es imposible, cuando un usuario quiere poner Mayo dia 2 de 2004:
Código:
?format("05/02/04","dd/mm/yy")
05/02/04
?isdate("05/02/04")
TRUE
la función format hace bién su trabajo pero no como tú quieres, porque debería haber puesto el 05 en el mes, y para IsDate es correcta pero para ti NO.

SOLUCION: una máscara en un textbox con el control MaskEdit. No recuerdo que librería es.

Espero que te sirva.
Un saludo.