Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   como asignar un dato completo Tdatetime a paradox? (https://www.clubdelphi.com/foros/showthread.php?t=49696)

ale_metall 27-10-2007 02:17:11

como asignar un dato completo Tdatetime a paradox?
 
hola a todos:
Tengo un problema, necesito usar la funcion minutesbetween entre dos datos tdatetime, pero ¿como puedo asignar un dato de este tipo completo, es decir dd/mm/aa hh:mm:ss a una base de datos Paradox7?? es que necesito calcular la diferencia entre dos campos de este tipo de datos,la funcion mensionada lo hace perfecto, pero no puedo utilizar este tipo de datos en paradox, ya que en los tipos de datos admite time o date pero por separado.
hay forma de darle alguna mascara al campo???
espero me haya expresado bien.

gracias!!

aeff 27-10-2007 02:39:32

bueno, puedes poner ese campo como tipo Alpha, y en Delphi cuando vayas a asignarlo algo a ese campo lo puedes hacer así, un ejemplo:

Código Delphi [-]
var
  vDate_Time: TDateTime;
begin
  vDate_Time := Now;
  Table1.Append;
  Table1.FieldByName('Data').AsString :=  DateTimeToStr(vDate_Time);
  Table1.Post;
end;

y para leer el valor string como datetime nuevamente:

Código Delphi [-]
var
  vDate_Time: TDateTime;
begin
  vDate_Time := StrToDateTime(Table1.FieldByName('Data').AsString);

espero que te sirva de algo

saludos,

aeff!

ale_metall 27-10-2007 06:28:28

gracias, suena logico... No me habia dado cuenta de eso..

seguro q funciona!!

saludos.

Lepe 27-10-2007 11:52:54

Ten en cuenta que no vas a poder ordenar por ese campo en querys, ya que la ordenación por fechas es distinta a la ordenación por caracteres.

Un listado ordenado por ese campo (de tipo Alpha) ascendentemente será:

01/01/2006
01/01/2007
01/02/2006

El orden no se corresponde cronológicamente con su fecha.

Puedes guardar el campo fecha como Date y el campo Hora como Time, al tiempo de guardar una fecha y hora, puedes partir el valor:
Código Delphi [-]
var fecha :TDateTime;
begin
  fecha := now;
  campo_fechaBD.AsDate := trunc(fecha);
  campo_horaBD.AsTime  := frac(fecha);
end;

No lo he probado, pero debería funcionar.

También puedes usar las funciones de la unidad DateUtils, seguro que alguna puede servirte.

Saludos

basti 27-10-2007 15:08:27

En Paradox tienes un tipo de dato TimeStamp, que guarda fecha y hora. Luego puedes utilizar:

Código Delphi [-]
  Table1.FieldByName('CampoFechaHora').AsDateTime;


La franja horaria es GMT +2. Ahora son las 05:29:35.

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