Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-01-2007
|NoName| |NoName| is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
|NoName| Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 06-01-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 06-01-2007
|NoName| |NoName| is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
|NoName| Va por buen camino
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?
Responder Con Cita
  #4  
Antiguo 07-01-2007
|NoName| |NoName| is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
|NoName| Va por buen camino
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?
Responder Con Cita
  #5  
Antiguo 07-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Unit
SysUtils

Syntax


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


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por marcoszorrilla fecha: 07-01-2007 a las 11:54:29.
Responder Con Cita
  #6  
Antiguo 07-01-2007
|NoName| |NoName| is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
|NoName| Va por buen camino
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.
Responder Con Cita
  #7  
Antiguo 07-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 07-01-2007
|NoName| |NoName| is offline
Miembro
 
Registrado: ene 2007
Posts: 31
Poder: 0
|NoName| Va por buen camino
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'
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
modificar Datos de un DBGrid dmagui Firebird e Interbase 2 22-08-2005 15:38:56
Modificar datos en un dbgrid Sick boy Conexión con bases de datos 3 17-12-2004 16:39:25
Modificar datos de una grid gescoto99 Conexión con bases de datos 7 21-05-2004 03:02:26
Modificar datos de Conexion LAN Mauricio Correa API de Windows 4 01-10-2003 15:11:50
modificar datos en un dbgrid Irina Varios 3 29-05-2003 20:29:53


La franja horaria es GMT +2. Ahora son las 02:31:57.


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
Copyright 1996-2007 Club Delphi