In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Para Xevi, a propósito de la validación de fechas...

Foro público de Xailer en español
Responder
xmessoft
Mensajes: 37
Registrado: Lun Jun 06, 2011 5:15 pm

Para Xevi, a propósito de la validación de fechas...

Mensaje por xmessoft »

....Hola Xevi, haz la consulta en la parte de los pobres también hombre ;-)
Bueno ahora en serio, el CToD siempre devuelve una fecha aunque sea
vací­a... de ahí­ el fallo.
Prueba esto que deberí­a funcionar:
function EsFecha( cFecha )
return( cFecha == CToD( cFecha ) )
Saludos Xevi
xmessoft
Mensajes: 37
Registrado: Lun Jun 06, 2011 5:15 pm

Para Xevi, a propósito de la validación de fechas...

Mensaje por xmessoft »

Perdona esto:
function EsFecha( cFecha )
return( cFecha == DToC( CToD( cFecha ) ) )
El 29/01/2013 16:55, Manu escribió:
> ...Hola Xevi, haz la consulta en la parte de los pobres también hombre ;-)
> Bueno ahora en serio, el CToD siempre devuelve una fecha aunque sea
> vací­a... de ahí­ el fallo.
>
> Prueba esto que deberí­a funcionar:
>
> function EsFecha( cFecha )
> return( cFecha == CToD( cFecha ) )
>
> Saludos Xevi
alcisoft
Mensajes: 35
Registrado: Dom Sep 23, 2007 10:43 am

Para Xevi, a propósito de la validación de fechas...

Mensaje por alcisoft »

Manu,
Con el century oculto, lo normal, esa función no funcion(a) con
EsFecha("01/01/1913")
Saludos
"Manu" <xmessoft@gmail.com> escribió en el mensaje
news:5107f162$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Perdona esto:
>
> function EsFecha( cFecha )
> return( cFecha == DToC( CToD( cFecha ) ) )
>
> El 29/01/2013 16:55, Manu escribió:
>> ...Hola Xevi, haz la consulta en la parte de los pobres también hombre
>> ;-)
>> Bueno ahora en serio, el CToD siempre devuelve una fecha aunque sea
>> vacía... de ahí el fallo.
>>
>> Prueba esto que debería funcionar:
>>
>> function EsFecha( cFecha )
>> return( cFecha == CToD( cFecha ) )
>>
>> Saludos Xevi
>
Avatar de Usuario
XeviCOMAS
Mensajes: 593
Registrado: Sab Mar 12, 2011 8:16 pm

Para Xevi, a propósito de la validación de fechas...

Mensaje por XeviCOMAS »

Yo le he añadido...
Function EsFecha( cFecha )
cFecha := StrTran( cFecha, "-", "/" )
return( cFecha == DToC( CToD( cFecha ) ) )
Por el tema del Set( _SET_DATEFORMAT, ... )
y el problema está como bien dice "x", en el Century.
Esto lo da como .F. "01/01/0001"
Habrá que hacer algun ajuste...
aunque mi xIsDate() me funciona correctamente.
FUNCTION xIsDate(c)
Local cDateFormat := Set( _SET_DATEFORMAT )
Local nLenDateFormat := Len(cDateFormat)
Local n, lFormatN := .F.
If ValType(c) = "C" .and. nLenDateFormat = Len(c)
lFormatN := .T.
For n:=1 to nLenDateFormat
IF (Chr(SubStr(cDateFormat,n,1)) = 100 .or.
Chr(SubStr(cDateFormat,n,1)) = 109 .or. Chr(SubStr(cDateFormat,n,1)) = 121)
// "d" "m" "y"
If !(Chr(SubStr(c,n,1)) > 47 .and. Chr(SubStr(c,n,1)) < 58)
//"0123456789"
lFormatN := .F.
EndIf
EndIf
Next
EndIf
Return lFormatN .and. !Empty(CToD(c))
Gracias.
Un Saludo,
Xevi.
"x" ha escrit al missatge:[email=51080e85@svctag-j7w3v3j....]51080e85@svctag-j7w3v3j....[/email]
Manu,
Con el century oculto, lo normal, esa función no funcion(a) con
EsFecha("01/01/1913")
Saludos
"Manu" <xmessoft@gmail.com> escribió en el mensaje
news:5107f162$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Perdona esto:
>
> function EsFecha( cFecha )
> return( cFecha == DToC( CToD( cFecha ) ) )
>
> El 29/01/2013 16:55, Manu escribió:
>> ...Hola Xevi, haz la consulta en la parte de los pobres también hombre
>> ;-)
>> Bueno ahora en serio, el CToD siempre devuelve una fecha aunque sea
>> vací­a... de ahí­ el fallo.
>>
>> Prueba esto que deberí­a funcionar:
>>
>> function EsFecha( cFecha )
>> return( cFecha == CToD( cFecha ) )
>>
>> Saludos Xevi
>
Un Saludo,
Xevi.
Responder