Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Modificar datos expuestos en una grilla (https://www.clubdelphi.com/foros/showthread.php?t=38965)

|NoName| 05-01-2007 23:57:30

Modificar datos expuestos en una grilla
 
Saludos gente, recurro nuevamente a uds buscando ayuda...

Mi problema actual es que no logro darme cuenta como puedo manipular la informacion de un datasource previamente a que esta se despliegue en la grilla.

Para que se entienda mejor, el caso puntual es que tengo un campo Int en una tabla de mi db MySQL, en el que guardo fechas en formato timestamp, y obviamente cuando presento los datos en el DBgrid necesito pasarlo a un formato tipo fecha para que tenga sentido.

Bueno es eso, estuve tratando de resolverlo pero no doy con ello.

Gracias de antemano.

marcoszorrilla 06-01-2007 11:47:31

En un principio si añades los campos al componente con el que te conectas,Ttable... y les das formato DisplayFormat "dd/mm/yy" y luego configuras adecuadamente la propiedad EditFormat debiera funcionarte.

Un Saludo.

|NoName| 06-01-2007 17:21:30

Gracias Marcos,

El tema es que me imprime literalmente la cadena pasada como formato, es decir 'dd/mm/yyyy'
También probe hacer en timpo de ejecución así:

Código Delphi [-]
TNumericField(ZTable1.Fields[5]).DisplayFormat := 'dd/mm/yyyy';


Pero el resultado es el mismo.
Se deberá a una limitación del componente Zeos?

|NoName| 07-01-2007 02:40:08

Bueno, no estoy del todo seguro pero creo que es problema de Zeos según pude leer en su foro.
De cualquier manera, opté por mostrar los datos en un label via FormatDateTime() pero me surge un nuevo problema, ya que como decia tengo los datos como timestamp (int) y esta función requiere que le pase la fecha como DateTime.
Como podría realizar la conversión?

Lepe 07-01-2007 04:39:59

Unit
SysUtils

Syntax


Código Delphi [-]
 function TimeStampToDateTime(var TimeStamp: TTimeStamp): TDateTime;


Saludos

|NoName| 07-01-2007 05:48:21

Gracias Lepe pero estoy en la misma, porque en definitiva sigo necesitando una conversion que no se como hacer, ya que lo que tengo en ese campo es un entero.

Código Delphi [-]
LabReleased.Caption := TimeStampToDateTime(ZTable1.FieldByName('release_date'));

[Error] main.pas(101): Incompatible types: 'TTimeStamp' and 'TField'

Entiendo lo que pasa pero no se como modificarlo ya que no encuentro como tratar el contenido de ese campo como un timestamp.
Tal vez le estoy errando en la forma de almacenar los datos.

Lepe 07-01-2007 14:05:28

¿Zeos no tiene .Value ?

Código Delphi [-]
LabReleased.Caption := FormatDateTime('dd/mm/yyyy ', 
                           TimeStampToDateTime( ZTable1.FieldByName('release_date').Value
                           )
                        );

Según veo en SysUtils, un TTimeStamp viene definido así:
Código Delphi [-]

{ Date and time record }

  TTimeStamp = record
    Time: Integer;      { Number of milliseconds since midnight }
    Date: Integer;      { One plus number of days since 1/1/0001 }
  end;

Pero no creo que nos ayude mucho.

Saludos

|NoName| 07-01-2007 14:26:32

Me sigue dando incompatibilidad de tipos.

Código Delphi [-]
LabReleased.Caption := TimeStampToDateTime(ZTable1.FieldByName('release_date').Value);  [Error] main.pas(101): Incompatible types: 'TTimeStamp' and 'Variant'


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

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