Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-01

Eliminar espacios en LazReport

9 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis García

Estoy dise�ando un reporte en LazReport. En el la descripci�n del producto debe ocupar un peque�o espacio por lo que para algunos productos no cabe en la longitud del campo, por tal motivo quiero que crezca en el n�mero de l�neas cuando no quepa, pero en caso de que quepa que no crezca el n�mero de l�neas.

Como logro esto?.

Es decir que no deje espacios en blanco y que no se solapen las descripciones.

GRACIAS
=========
�� ISMAEL ��
=========
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100111/308eb11a/attachment-0001.html> ------------ pr�xima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: image/jpeg
Size: 23636 bytes
Desc: no disponible
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100111/308eb11a/attachment-0001.jpe>

Reply by email

Fredy Gonzales
to Ismael L. Donis García

Amigos,

Tengo un formulario con tres TDBGrid, pero uno de ellos es dinamico (se carga con data de mysql cuando el usuario mueve un combobox)

mi modulo de carga dinamica lo pongo en el evento combochange y es este, para esto utilizo los dataset de Zeos 6 y mysql

     With global.lstmovimientos do begin;
         Close;
         SQL.Text:='select * from servicios Where ser_estado="' + comobo.text + '"';
         Open;
     end;
     dsmovimiento.DataSet:= global.lstmovimientos;

ok, En un timer tengo el evento que refresca el TDBGrid cada minuto ( dbservicios es el TDBGrid y el DataSource asignado es el dsmovimiento) y es este el codigo

procedure Tfrmservicios.Timer1Timer(Sender: TObject);
var
   p:TBookMark;
begin
  Timer1.Enabled:=False;
  if (dbservicios.DataSource.DataSet.RecNo>0) then;
     Begin
       dbservicios.DataSource.DataSet.DisableControls;
       p:= dbservicios.DataSource.DataSet.GetBookmark;
       dbservicios.DataSource.DataSet.Refresh;
       dbservicios.DataSource.DataSet.GotoBookmark(p);
       dbservicios.DataSource.DataSet.FreeBookmark(p);
       dbservicios.DataSource.DataSet.EnableControls;
     end;
  Timer1.Enabled:=True;
end;

Como veran yo consulto si dbservicios (el tdbgrid) esta con registros o no, dado que siempre existe cambios y puede quedar vacio, pero por alguna razon no me esta funcionado el RecNo del dbservicios. Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como lleno y pasa me da un error al no poder ubicar el puntero del bookmark, asi que el programa se bloquea.

Espero no haberlos cansado y gracias por su colaboracion.

FG
Lima - Peru

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100114/411ecb7d/attachment.html>

Reply by email

JoshyFun
to Fredy Gonzales

Hello Fredy,

Thursday, January 14, 2010, 4:45:49 PM, you wrote:

FG> Como veran yo consulto si dbservicios (el tdbgrid) esta con FG> registros o no, dado que siempre existe cambios y puede quedar FG> vacio, pero por alguna razon no me esta funcionado el RecNo del FG> dbservicios.
FG> Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como FG> lleno y pasa me da un error al no poder ubicar el puntero del FG> bookmark, asi que el programa se bloquea.

Si no me equivoco los bookmarks son inv�lidados tras un refresh, por lo tanto el reposicionamiento tendr�s que hacerlo de otro modo. Si el listado tiene alguna clave primaria, hacer un .Locate de esa clave primaria tras el refresh.

Antes de acceder a trav�s de un bookmark creo que se debe de hacer un "IsValidBookMark" o algo as� (Es que no uso bookmarks).

Best regards, JoshyFun

Reply by email

Fredy Gonzales
to JoshyFun

Ok gracias lo revisare.

FG

Earlier message 33 lines
----- Original Message ----- From: "JoshyFun" <joshyfun en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Thursday, January 14, 2010 10:58 AM Subject: Re: [Lazarus-es] Como resuelvo esto!!! Hello Fredy, Thursday, January 14, 2010, 4:45:49 PM, you wrote: FG> Como veran yo consulto si dbservicios (el tdbgrid) esta con FG> registros o no, dado que siempre existe cambios y puede quedar FG> vacio, pero por alguna razon no me esta funcionado el RecNo del FG> dbservicios. FG> Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como FG> lleno y pasa me da un error al no poder ubicar el puntero del FG> bookmark, asi que el programa se bloquea. Si no me equivoco los bookmarks son inv�lidados tras un refresh, por lo tanto el reposicionamiento tendr�s que hacerlo de otro modo. Si el listado tiene alguna clave primaria, hacer un .Locate de esa clave primaria tras el refresh. Antes de acceder a trav�s de un bookmark creo que se debe de hacer un "IsValidBookMark" o algo as� (Es que no uso bookmarks). -- Best regards, JoshyFun

Reply by email

Jesus Reyes
to Fredy Gonzales: Tengo un formulario con tres TDBGrid, pero uno de ellos es dinamico (se carga con data de…
� if (dbservicios.DataSource.DataSet.RecNo>0) then; ���� Begin

Aqui hay algo raro, un ";" despues de "then", eso realmente inhabilita el siguiente bloque de codigo.

Show quoted text 11 lines
Como veran yo consulto si dbservicios (el tdbgrid) esta con registros o no, dado que siempre existe cambios y puede quedar vacio, pero por alguna razon no me esta funcionado el RecNo del dbservicios. Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como lleno y pasa me da un error al no poder ubicar el puntero del bookmark, asi que el programa se bloquea.

Ademas de lo que ya Joshy comento con respecto a los bookmarks, el uso de RecNo para este caso no es recomendado pues la implementacion de RecNo depende del tipo de Dataset al que se este refiriendo incluso puede ocurrir que un TDataset decendiente no lo implemente. Creo que en este caso es mejor usar dataset.IsEmpty.

Show quoted text 8 lines
� Espero no haberlos cansado y gracias por su colaboracion. � FG Lima - Peru �

Saludos.

Jesus Reyes A.

Encuentra las mejores recetas en Yahoo! Cocina.
http://mx.mujer.yahoo.com/cocina/

Reply by email

Fredy Gonzales
to Jesus Reyes

Gracias,

Revise lo del punto y como y corregi, gracias.

Tu solucion DataSet.IsEmpty si funciono perfecto.

Gracias.

FG

Earlier message 54 lines
----- Original Message ----- From: "Jesus Reyes" <jesusrmx en yahoo.com.mx> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Thursday, January 14, 2010 1:01 PM Subject: Re: [Lazarus-es] Como resuelvo esto!!! > if > (dbservicios.DataSource.DataSet.RecNo>0) then; > > Begin Aqui hay algo raro, un ";" despues de "then", eso realmente inhabilita el siguiente bloque de codigo. > Como veran yo consulto si > dbservicios (el tdbgrid) > esta con registros o no, dado que siempre existe cambios y > puede quedar vacio, > pero por alguna razon no me esta funcionado el RecNo del > dbservicios. > Mejor dicho, cuando el > tdbgrid esta vacio, el lo > asume como lleno y pasa me da un error al no poder ubicar > el puntero del > bookmark, asi que el programa se bloquea. Ademas de lo que ya Joshy comento con respecto a los bookmarks, el uso de RecNo para este caso no es recomendado pues la implementacion de RecNo depende del tipo de Dataset al que se este refiriendo incluso puede ocurrir que un TDataset decendiente no lo implemente. Creo que en este caso es mejor usar dataset.IsEmpty. > > Espero no haberlos cansado > y gracias por su > colaboracion. > > FG > Lima - Peru > Saludos. Jesus Reyes A. Encuentra las mejores recetas en Yahoo! Cocina. http://mx.mujer.yahoo.com/cocina/

Reply by email

Fredy Gonzales
to José Ant Cuello: Se ha borrado un adjunto en formato HTML... URL:…

Gracias por tu apoyo, pero cuando pienso en filtrar estoy asumiendo que el dataset tiene todos los registros cargado, entonces pense que quizas para evitar demora en filtrado (cuando sean mas de 1,000) decidi prepararlo en un query que me de solo lo que necesito.

Filterer si lo uso, pero para algo que se que no va a superar mas de 100, registros (en tablas de apoyo).

Gracias.

FG

Earlier message 62 lines
----- Original Message ----- From: Jos� Ant Cuello To: Spanish version of Lazarus List Sent: Friday, January 15, 2010 2:25 AM Subject: Re: [Lazarus-es] Como resuelvo esto!!! Hola, si no son muchos registros tambi�n puedes usar el filtrado de registros con la propiedad "filtered" y el evento onfilter y en el evento onchange del tcombobox simplemente hacer un first del tdataset para que refresque ... luego lo del bookmark sigue siendo igual. S�lo por dar otra idea ... Un saludo. Fredy Gonzales escribi�: Amigos, Tengo un formulario con tres TDBGrid, pero uno de ellos es dinamico (se carga con data de mysql cuando el usuario mueve un combobox) mi modulo de carga dinamica lo pongo en el evento combochange y es este, para esto utilizo los dataset de Zeos 6 y mysql With global.lstmovimientos do begin; Close; SQL.Text:='select * from servicios Where ser_estado="' + comobo.text + '"'; Open; end; dsmovimiento.DataSet:= global.lstmovimientos; ok, En un timer tengo el evento que refresca el TDBGrid cada minuto ( dbservicios es el TDBGrid y el DataSource asignado es el dsmovimiento) y es este el codigo procedure Tfrmservicios.Timer1Timer(Sender: TObject); var p:TBookMark; begin Timer1.Enabled:=False; if (dbservicios.DataSource.DataSet.RecNo>0) then; Begin dbservicios.DataSource.DataSet.DisableControls; p:= dbservicios.DataSource.DataSet.GetBookmark; dbservicios.DataSource.DataSet.Refresh; dbservicios.DataSource.DataSet.GotoBookmark(p); dbservicios.DataSource.DataSet.FreeBookmark(p); dbservicios.DataSource.DataSet.EnableControls; end; Timer1.Enabled:=True; end; Como veran yo consulto si dbservicios (el tdbgrid) esta con registros o no, dado que siempre existe cambios y puede quedar vacio, pero por alguna razon no me esta funcionado el RecNo del dbservicios. Mejor dicho, cuando el tdbgrid esta vacio, el lo asume como lleno y pasa me da un error al no poder ubicar el puntero del bookmark, asi que el programa se bloquea. Espero no haberlos cansado y gracias por su colaboracion. FG Lima - Peru ----------------------------------------------------------------------------

Reply by email