Ver Mensaje Individual
  #10  
Antiguo 08-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Al poner la fuente como Courier New, todos los caracteres son igual de anchos, así que podemos usar algo como:
Código Delphi [-]
MaxLeft:0;
Tama:=0;
query:=Select NombreCampo, longitud from campos
open;
while not query.Eof do
 begin
   tama := query.fieldbyname('longitud').asinteger *10; // 10 pixels que tiene de ancho una letra
   with TQRlaBel.create(self) do
   begin
      name:= 'L' + query.fieldbyname('nombrecampo').FieldName;//nombre del campo, tú tenías el valor del registro.
      Font.Name := 'Courier New';
      AutoSize:= False;
      Left:= MaxLeft;
      width:= tama;
      ....
      ....
     MaxLeft:= MaxLeft + tama + 5; // 5 pixels de separacion entre 2 labels
     query.next;
   end;
 end;

Suponiendo que un caracter son 10 pixeles de ancho, (es cuestion de hacer un par de pruebas para saber el ancho real).

Sabiendo lo anterior, ya podemos asignar los qrLabel.Left para que no se solapen unos con otros.

Saludos y suerte, que QuickReports es muy suyo .
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita