Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Crear QRDbtext en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=35555)

lbidi 13-09-2006 22:21:06

Crear QRDbtext en tiempo de ejecucion
 
Hola, amigos.

Como puedo crear estos componentes en el qrep??
Tengo varios reportes q utilizan el mismo dataset, pero varian los campos.
Mi interes es crearlos dentro del reporte, y asignarles los datafields y resto
de propiedades.

Gracias.
Saludos
Leonardo

lbidi 14-09-2006 20:00:48

Amigos, a ver si me pueden sacar de este problema.
Estoy creando los QrDBTEXT, por codigo segun lo siguiente.

Código Delphi [-]
  for i := 1 to 5 do begin
    if aListas[i] > 0 then begin
      With TQRDBText.Create( Self ) do
      begin
                        DataSet     := f_Parametros.QryDatos;
                        Name         := lbPrecio' + IntToStr(aListas[i]);
                        DataField    := 'Precio ' + IntToStr(aListas[i]);
                        Font.Height := 13;
                        Parent        := Banda_Detalle;
                        Top            := 1;
                        Left            := nCol;
                        AutoSize      := True;
                        Visible         := True;
    end;
    end;
  end;

me esta dando error en la linea cuando asigno el dataset.
el QryDatos esta en el form "parametros" el cual tengo en el use del
form de QR.
Me da un error de "violacion de acceso en la direccion....".
Alguna idea??
Gracias

Leonardo

lbidi 14-09-2006 20:02:07

Me falto un comilla , pero ese no es el problema.
Gracias

lbidi 14-09-2006 21:04:05

Problema resuelto. Habia q asignar el dataset del reporte en cuestion para
los qrdbtext.

Gracias.
Saludos

Ade 05-10-2006 01:53:40

Hola donde pones ese codigo?
he leido que para crear componentes en tiempo de ejecucion hay q tener creado antes el quickrep con los tqrband, se pueden tener en modo diseño y despues crear en tiempo de ejecucion los TQRLabe y TQRExpr??
si es asi, como pongo el codigo? como un procedure?? y lo llamo directamente??

Saludos

lbidi 05-10-2006 19:08:29

Hola, ade.
Si se puede, por lo menos a mi me deja :D.
Solo tengo creado el QR, y dos bandas, Titulo y Detalle.
Luego en el evento beforeprint asignas los QrDbtext y los QrLabels.
Aqui te dejo un ejemplo

Código Delphi [-]
      With TQRLabel.Create( Self ) do
      begin
          Name       := 'txPorc' + IntToStr(aListas[i]);
          AutoSize   := True;
          Font.Style := [fsBold];
          Height      := 17;
          Left         := nCol;
          Top          := 32;
          Caption     := ' % ' + IntToStr(aListas[i]);
          Parent      := Banda_Titulo;
      end;
      With TQRDBText.Create( Self ) do
      begin
          DataSet    := Rep_Margenes.DataSet;
          Name        := 'lbPorc' + IntToStr(aListas[i]);
          DataField   := '  % ' + IntToStr(aListas[i]);
          Mask         := '.0,0';
          Alignment   := taRightJustify;
          Font.Name  := 'Arial';
          Font.Height := -11;
          Font.Size    := 8;
          Parent       := Banda_Detalle;
          Top     := 1;
          Left           := nCol;
          AutoSize    := True;
      end;

Suerte y saludos.

Ade 06-10-2006 00:37:54

gracias Ibidi, mañana pruebo y aviso, pensaba q beforeprint era despues de imprimir :confused:

Ade 07-10-2006 20:17:04

conocer en pixeles el tamaño del campo ???
 
Gracias Ibidi nuevamente, eso me funciona ya, solo que las etiquetas se solapan, unas a las otras, solo se ve completa la ultima.
En este hilo se comenta los mismo y he de conocer en pixeles el tamaño del campo, cosa que no se hacer, sabesis alguno??
tuviste este problema??

http://www.clubdelphi.com/foros/show...169#post161169

Saludos

Lepe 07-10-2006 21:31:55

¿Has visto las posiblidades del qrCreateList?

Saludos


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

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