Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2006
Ade Ade is offline
Miembro
 
Registrado: jul 2006
Ubicación: Murcia
Posts: 70
Poder: 18
Ade Va por buen camino
conocer en pixeles el tamaño del campo ???

como lo consigo existe alguna funcion??
Cita:
Originalmente Escrito por egostar

No, lo que estas haciendo es incremetar por numero de caracteres, pero no es así, debes de conocer en pixeles el tamaño del campo que vas a mostrar y no el numero de caracteres.
Saludos y gracias
Responder Con Cita
  #2  
Antiguo 07-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo más simple es poner una fuente Courier New ya que el ancho de cada letra es el mismo.

Si se necesita más complejo, revisa la funcion FontWidth

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 Lepe fecha: 07-10-2006 a las 21:40:43.
Responder Con Cita
  #3  
Antiguo 07-10-2006
Ade Ade is offline
Miembro
 
Registrado: jul 2006
Ubicación: Murcia
Posts: 70
Poder: 18
Ade Va por buen camino
Lepe a que te refieres con
Cita:
poner una fuente Courier New
a poner
Código Delphi [-]
Font.Name  := 'Courier New';
al crear el qrlabel??
yo solo trato de crear QRDbtext y QRLabel en tiempo de ejecucion lo que pasa es que se solapan , solo se ve completo el ultimo qrlabel creado con
AutoSize := True;
mientras que si pongo AutoSize := False; ni el ultimo se ve entero
Responder Con Cita
  #4  
Antiguo 08-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 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
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
Tabla en tiempo de ejecucion noshy SQL 1 24-07-2006 00:39:31
Combo box en tiempo de ejecucion rocio84 OOP 1 08-07-2006 18:27:09
Diseño en tiempo de ejecucion Nelson Alberto Impresión 2 26-01-2006 09:34:12
Como Ocultar Qrlabels hebert ordonez Impresión 3 11-09-2004 06:17:58
Tiempo de ejecucion? st7 Varios 3 11-05-2004 22:03:28


La franja horaria es GMT +2. Ahora son las 23:25:12.


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