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 27-10-2015
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Duda para asignar un procedimiento a un evento

Saludos colegas.

Estoy queriendo visualizar en un DBGrid una tabla que está en un servidor PostgreSQL. Esta tabla tiene solo dos campos, IP de tipo inet y MAC de tipo macaddr. Estoy usando componentes UniDAC para la conexión a la base de datos.

Cuando pongo un DataSource y lo vinculo con la TUniQuery con lo que quiero mostrar, en la DBGrid me pone en cada campo (MEMO).

Se me ocurrió crear dos campos calculados de tipo string y en el evento OnCalcFields darle valor a estos. Con lo anterior resolví el problema. Ya en el DBGrid me salen los valores IP y MAC como deberían ser.

Para lo anterior tomé prestada una Unit de otro programa que también utiliza esa base de datos y es la que tiene los componentes para la conexión al servidor PostgreSQL pero no quiero allí esos campos calculados.

Desde mi otro programa en tiempo de ejecución creo los dos campos calculados para no modificar esa Unit pero no se cómo declarar un procedimiendo que me va a calcular los campos y asignárselo al evento OnCalcFields de la TUniQuer.

Podían ayudarme? gracias.
Responder Con Cita
  #2  
Antiguo 27-10-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero qué quieres conseguir?
Responder Con Cita
  #3  
Antiguo 27-10-2015
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero qué quieres conseguir?
Hola Casimiro, yo lo que quiero es crear los campos calculados en tiempo de ejecución, para esto he hecho lo siguiente:

Código Delphi [-]
procedure TFMainForm.FormCreate(Sender: TObject);
var
  sIP, sMAC: TStringField;
begin
  sIP  := TStringField.Create(dmPSQLCon.uqARP);
  sIP.FieldKind := fkCalculated;
  sIP.FieldName := 'sIP';
  sIP.Size := 15;
  sIP.Calculated := True;

  sMAC := TStringField.Create(dmPSQLCon.uqARP);
  sMAC.FieldKind := fkCalculated;
  sMAC.FieldName := 'sMAC';
  sMAC.Size := 17;
  sMAC.Calculated := True;

  dmPSQLCon.uqARP.Fields.Add(sIP);
  dmPSQLCon.uqARP.Fields.Add(sMAC);

ahora el problema que tengo es cómo hacer lo siguiente:

dmPSQLCon.uqARP.OnCalcFields := MiProcCalcFields(dmPSQLCon.uqARP);

dónde y cómo declaro el procedimiento MiProcCalcFields para poder asignárselo a dmPSQLCon.uqARP.OnCalcFields
Responder Con Cita
  #4  
Antiguo 27-10-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero no necesitas los campos calculados para presentarlos en el dbgrid, puedes mostrar los memos directamente.
Descarga y echa un vistazo a esto, entre los ejemplos de trucos para el dbgrid, está también el de mostrar el contenido de un memo.
Responder Con Cita
  #5  
Antiguo 28-10-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dtomeysoto Ver Mensaje
Cuando pongo un DataSource y lo vinculo con la TUniQuery con lo que quiero mostrar, en la DBGrid me pone en cada campo (MEMO).
Esto es un poco raro.
¿Cómo están definidos los campos en la tabla de la Base de Datos?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Asignar a tbitbtn evento en tiempo de ejecucion richy08 OOP 9 09-08-2011 18:15:23
Asignar Evento AndyLupa Varios 4 17-06-2011 18:54:53
Asignar una funcion al evento on click abmicros Varios 4 12-11-2009 11:56:36
Asignar un evento desde el código iktwo Varios 2 11-11-2009 00:29:34
Asignar procedimiento al evento OnClick neon OOP 2 28-10-2004 11:53:21


La franja horaria es GMT +2. Ahora son las 13:28:14.


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