Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convertir String en TDate. No me sirve EncodeDate (https://www.clubdelphi.com/foros/showthread.php?t=22428)

VRO 15-06-2005 11:58:54

Convertir String en TDate. No me sirve EncodeDate
 
Vereís siempre que he pasado un String a TDate he utilizado en EncodeDate, pero esta vex no me sirve porque le pase lo que le pase el resultado del encodeDate me sale negativo y cuando lo intento insertar con un Query y la clausula insert into ..... no me da error pero tampoco me lo inserta.

La fecha es de tipo Date en la base de datos, la importo de una Tabla de Access en la cual también es de tipo Date, el problema viene cuano en la tabla de Access no está la fecha y pido al usuario que la inserte, para lo cual utilizo un InputQuery y claro lo que introduzco en el es un String.

Alguien sabe como hacer el cambio de String a Date sin utilizar el encodeDate


Gracias a todos por su ayuda.

Casimiro Notevi 15-06-2005 14:23:11

function StrToDate(const S: string): TDateTime;

delphi.com.ar 15-06-2005 14:31:14

Cita:

Empezado por VRO
...no me sirve porque le pase lo que le pase el resultado del encodeDate me sale negativo...

Podrías dar un ejemplo de eso

Cita:

Alguien sabe como hacer el cambio de String a Date sin utilizar el encodeDate
StrToDate, StrToDateDef, TryStrToDate, StrToDateTime, StrToDateTimeDef, TryStrToDateTime....

Saludos!

VRO 15-06-2005 16:25:58

Gracias con el StrToDateTime me sale a las mil maravillas, yo también lo había intentado con StrToDate pero como le pasaba un String con formato dd/mm/yy me decía is not a valid date.Con respecto al ejemplo del encodeDate lo que hago es:

date(variable de tipo Tdate)
Código Delphi [-]
 
 date:=encodedate(05,06,30);
 
y se lo paso a: 
 
query.fieldbynmae('fecha').asdatetime:=date;

el query la utilizo para importar datos y le paso datos a un procedimiento almacenado. Igual el problema es del procedimiento almacenado y no de la funcion encodedate.


Lo temgo que revisar.


Gracias por vuestras r´´apidas respuestas.

delphi.com.ar 15-06-2005 16:33:05

Te da un número negativo porque estas pasándole como año 5 no 2005 y como 0 es '30/12/1899' todos las fechas anteriores son negativas.

Esto te funcionará "de maravillas":
Código Delphi [-]
EncodeDate(2005,06,30)

Saludos!

VRO 15-06-2005 16:48:59

Mil gracias, tienes toda la razón.


No se porque lo he hecho así si siempre pongo el año completo.

Gracinaaaaaaassssssss

Rufus 16-06-2005 14:44:49

Esto no tiene nada que ver con el contenido de este hilo

Me ha dado por revisar la lista de mensajes de VRO, podia ser el como podia ser cualquier otro, ojo digo esto porque no es nada personal, solo lo pongo como ejemplo ya que como este caso hay un montonazo en este y en cualquier otro foro.

Bueno resulta de VRO solo se dedica a preguntar, preguntar y de vez en cuando tambien a preguntar para resolver sus problemas sin ver un solo mensaje en los utltimos 5 meses dedicado a ayudar a los demas.
Debido a actitudes asi, que por desgracia como digo son la mayoría, apenas escribo mensajes en estos foros desde hace meses. Es que, como informatico, uno se cansa de actitudes donde solo se intenta "chupar" de los conocimientos de los demás sin devolver nada a cambio. Ojo, que esto tambien pasa en persona, no solo en los foros, y también junto con otras actitudes, ya sabeis... esas que se contestan con un "¡NO, NO voy a arreglar gratis tu ordenador!"

Los siento, ya digo que no es nada personal, es que estoy quemao. Me encantaria que todo el mundo tuviese un espiritu colaborativo, ahora de ir de pardillo ya hace tiempo que paso.

Chau

vtdeleon 16-06-2005 15:56:14

Saludos.

No hace mucho comence a brindar los conocimientos que tengo. Sinceramente me gusta compartir mis criterios, ideas y conocimientos, asi todos opinan y dan ideas que a uno mismo se les pasa.

En realidad me satisface mucho brindar lo que puedo a este foro, ya que me lo han brindando a mi y a todo quien lo necesite, y me siento muy bien al saber que han solucionado sus problemas.:D

Es verdad, Hay usuarios en este foro que solo se dedican a preguntar, sin brindar nada. Pero no es obligatorio. Al Final ellos pierden.

el_barto 16-06-2005 15:59:06

Este tema es mejor continuarlo en el hilo abierto en Debates

vtdeleon 16-06-2005 16:08:25

Saludos

Oopps, no sabia que ya estaba en debate:P

rK-Neo 17-06-2005 10:18:11

Siempre te encntraras gente asi.. xo no es para ponerse asi, si kieres ayudar ayuda, el que hace un favor no espera nada a cambio.. solo es x ayudar y sentirte bien pues tus conocimientos sirven a los dmas..
gL


La franja horaria es GMT +2. Ahora son las 11:20:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi