Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 23
Tecnic2 Va por buen camino
Post Me interesa

Pues la verda es que si, que me interesa ésta opción de hacer-lo en tiempo de ejecución.
Responder Con Cita
  #2  
Antiguo 08-02-2005
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: 19.436
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 Tecnic2
Pues la verda es que si, que me interesa ésta opción de hacer-lo en tiempo de ejecución.
Bueno, pues sería algo parecido a lo que sigue; En el evento OnDrawColumnCell programa lo siguiente:

Código Delphi [-]
 const
   DX = 5;
   DY = 2;
 var
   Str:String;
 begin
   // Es un Blob?
   if(Column.Field is TMemoField) then begin
     Str := TMemoField(Column.Field).AsString;
     DBGrid1.Canvas.TextRect(Rect, Left + 8, Rect.Top + DY, Str);
   end;

Si hay varias columnas de memo en el Grid y no quieres hacerlo con todas, también puedes utilizar un parámetro llamado DataCol del evento que te deuelve el índice de la columna que se está pintando.

Pruébalo y haz variantes.
__________________
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
  #3  
Antiguo 08-02-2005
bustio bustio is offline
Miembro
 
Registrado: oct 2003
Posts: 231
Poder: 23
bustio Va por buen camino
Respondiendo....

Cita:
Empezado por Neftali
Pruébalo y haz variantes.
Exactamente eso fue lo que hice. Tome el parametro DataCol para solo hacerle el pintado a la primera columna y funciono.. tu ejemplo esta muy bien y muy bueno. Pero tiene un defecto.. al menos a mi me lo hace. El texto cuando lo lee y lo muestra no se ve completo... solo a partir del 2 caracter y cuando trato de marcarlo con el Mouse para darle "<-" con el cursor vuelve a mostrar el valor: (MEMO).

Como puedo solucionar esto????

GRACIAS!!

Lazaro Bustio Martinez..
Responder Con Cita
  #4  
Antiguo 08-02-2005
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: 19.436
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 bustio
Exactamente eso fue lo que hice. Tome el parametro DataCol para solo hacerle el pintado a la primera columna y funciono.. tu ejemplo esta muy bien y muy bueno. Pero tiene un defecto.. al menos a mi me lo hace. El texto cuando lo lee y lo muestra no se ve completo... solo a partir del 2 caracter y cuando trato de marcarlo con el Mouse para darle "<-" con el cursor vuelve a mostrar el valor: (MEMO).
Lo de que se vea el 2º caracter lo controla la constante(DX):

Código Delphi [-]
 DBGrid1.Canvas.TextRect(Rect, Left + DX, Rect.Top + DY, Str);

Revisa que la hayas colocado Bien. Al entrar te vuelve a mostrar (MEMO) porque ésta soilución sólo sirve para Visualizar, no para editar.

Otra opción (que tb permite editar) es la siguiente; Añadir al TTable/TQuery/... los Fields y programar los atributos OnGetText y OnSetText del TField(en éste caso un TMemoField) con el siguiente código:

Código Delphi [-]
 procedure TForm1.Table1NotesGetText(Sender: TField; var Text: String; DisplayText: Boolean);
 begin
   Text:= Trim (Sender.asString);  
 end;
 
 procedure TForm1.Table1NotesSetText(Sender: TField; const Text: String);
 begin
   Sender.AsString := Text;
 end;

Es mejorable, ya que al editar aparecen los saltos de línea pero puede servir.
__________________
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
  #5  
Antiguo 09-02-2005
Tecnic2 Tecnic2 is offline
Miembro
 
Registrado: may 2004
Posts: 155
Poder: 23
Tecnic2 Va por buen camino
Question Gracias, lo probaré. [Pregunta]

Otra pregunta:

Tengo un par de campos en mi DBGrid que me deben mostrar una información en formato de hh:mm:ss.
El campo de la base de datos Access es Fecha/Hora, y el formato es Hora Larga, pero en mi DBGrid me aparece 30/12/1899 12:34:12, y yo solo quiero que me aparezca la hora.

Muchas gracias por adelantado.
Responder Con Cita
  #6  
Antiguo 09-02-2005
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: 19.436
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
Si defines los TField como se ha comentado antes, y accedes a las propiedades del TField correspondiente a tu campo hay una propiedad que te permite definir el formato (Display...., Masked..., no recuerdo el nombre, pero seguro que cuando las tengas en pantalla la identificas enseguida).
__________________
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
  #7  
Antiguo 17-01-2009
yo_coco_py yo_coco_py is offline
Registrado
 
Registrado: may 2005
Posts: 8
Poder: 0
yo_coco_py Va por buen camino
solucion en una linea de codigo

aca esta la solucion y en una sola linea de codigo.. http://delphi.about.com/library/weekly/aa030105a.htm
Funciona super bien..
Si tienen alguna duda y les puedo ayudar, con mucho gusto lo hare..
Saludos..
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 03:17:44.


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