AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LabelFelder im QR dynamisch anlegbar?

Ein Thema von Mada · begonnen am 18. Mär 2003 · letzter Beitrag vom 19. Mär 2003
Antwort Antwort
Mada

Registriert seit: 31. Dez 2002
Ort: Bayern
33 Beiträge
 
Delphi 5 Professional
 
#1

LabelFelder im QR dynamisch anlegbar?

  Alt 18. Mär 2003, 15:21
Hi zusammen!

gibt es irgendwie die Möglichkeit beim Quickreport dynamisch Labelfelder generieren zu lassen? Im Detailband sollen die einfach untereinander geschrieben werden. Es gibt keine Datenbank im Hintergrund! Die Felder sollen im Quellcode direkt belegt werden.
Ich habe einen Array, der mit bestimmten Werten gefüllt. Der Array an sich hat schon eine feste Länge, aber wieviele Einträge am Ende belegt sind, kann ich im Voraus nicht sagen.
Im DetaildBand soll nun jeder Eintrag, der nicht 0 ist dargestellt werden,(die unbelegten werden mit 0 aufgefüllt). Dann können eben mal 2 oder auch mal 5 oder so sein.

Wie kann ich das im Quickreport anlegen? Mir sind nur fest reservierte Labelfelder bekannt.

Ansicht des Arrays 23 45 49 0 0 0 0 ...
18 53 12 0 0 0 0 ...

Hat mir jemand einen Tipp wie ich das machen kann? Ich dachte an eine while schleife, die als Abbruchbedingung eben hat, dass der Wert im Array 0 wird (also der erste nicht belegt Wert)

Nur ich weiß halt nicht wie ich die LabelFelder dynamisch in QReport hinbekomme.
Irgenwie QrLabel[n].Caption := 'Irgendwas';
und auch n:=n+1;

Ich habe noch keinen Quellcode da ich noch am Ansatzsuchen bin. Aber wenn das jemand schon mal gemacht hat, wäre ich um ein paar Tipps dankbar!

Gruß,
Mada
Glaube an Deine Phantasie und Du kannst erreichen, was immer Du willst!
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#2

nur so als Beispiel...

  Alt 18. Mär 2003, 18:23
Hallo,

ich habe ein vorhandenes Beispiel ein bisschen modifiziert, sodass es für dich passen sollte:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  QuickRpt, QRCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    btnDrucken: TButton;
    procedure btnDruckenClick(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure ArrayDrucken(Arr: array of Integer);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.ArrayDrucken(Arr: array of Integer);
var i, aTop:Integer;
begin
  aTop := 0;
  with TQuickRep.Create(nil) do begin
    Bands.HasDetail := True;
    for i := Low(Arr) to High(Arr) do
      if Arr[i] <> 0 then
        with TQRLabel(Bands.DetailBand.AddPrintable(TQRLabel)) do begin
          Left := 0;
          Top := aTop + Font.Size * 2;
          aTop := Top;
          AutoSize := True;
          Caption := IntToStr(Arr[i]);
          Font.Style := [fsBold];
        end; // End With

    Font.Size := 8;
    Bands.HasPageFooter := True;
    with TQRSysData(Bands.PageFooterBand.AddPrintable(TQRSysData)) do begin
      Data := qrsDate;
      AlignToBand := True;
      Alignment := taRightJustify;
      Top := 2;
    end; // end with
    with TQRSysData(Bands.PageFooterBand.AddPrintable(TQRSysData)) do begin
      Data := qrsPageNumber;
      Text := 'Seite ';
      AlignToBand := True;
      Alignment := taLeftJustify;
      Top := 2;
    end; // end with

    PreviewModal;
    Free;
  end;
end;

procedure TForm1.btnDruckenClick(Sender: TObject);
begin
  ArrayDrucken([1, 2, 3, 0, 6, 5, 0, 3, 2, 3, 0, 6, 5, 0, 3, 2, 3, 0, 6, 5]);
end;

end.
Ciao,
Garby
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Mada

Registriert seit: 31. Dez 2002
Ort: Bayern
33 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 19. Mär 2003, 10:25
Ok, danke Dir. Das versuche ich mal.
Glaube an Deine Phantasie und Du kannst erreichen, was immer Du willst!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz