Fortlaufende Nummer in Lazreport

Rund um die LCL und andere Komponenten
Antworten
bmeg
Beiträge: 5
Registriert: Do 23. Apr 2015, 11:41

Fortlaufende Nummer in Lazreport

Beitrag von bmeg »

Hallo,
ich würde gerne mit Lazreport Etiketten drucken.
Mit Hilfe der Anleitungen hat es bisher auch ganz geklappt.
Aber einen Punkt finde ich nicht.

Ich möchte je Seite bzw. Etikett eine fortlaufende Nummer drucken.
wichtig ist mir dabei aber das ich die Startnummer aus dem Programm heraus vorgeben kann.

Wie kann ich das realisieren?

Danke schonmal und Gruß
bmeg

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Fortlaufende Nummer in Lazreport

Beitrag von Michl »

Ich habe zwar nicht wirklich Ahnung von LazReport, da ich aber auch gerne neue Erfahrungen sammle, habe ich es einfach mal ausprobiert.

Dazu hatte ich unter den Beispielprojekten das dbf_demo geladen. Dann hat mich dieser Thread: http://forum.lazarus.freepascal.org/ind ... ic=24847.0 dazu gebracht, mir ein PageFooter Band zur Laufzeit im ReportDesigner auf dem Report-Formular zu erstellen. Im Texteditor habe ich dann

Code: Alles auswählen

Seite [PAGE#]
auf dem PageFooter Band eingefügt.

Nachdem ich das Layout von der Reportseite etwas modifiziert hatte, wurden jetzt mehrere Seiten mit einer fortlaufenden Nummerierung angezeigt.

Nun willst du diese Seiten ab einer bestimmten Anfangszahl starten lassen. Das musst du dann selber implementieren. Ich habe dazu die Ereignisse OnBeginDoc, OnEndPage, OnGetValue vom frReport1 genutzt und mittels einer eigenen Variable die Seitenzahl ab 11 beginnen lasssen:

Code: Alles auswählen

  TForm1 = class(TForm)
...
  private
    FPage: Integer;
...
 
procedure TForm1.frReport1BeginDoc;
begin
  FPage:=10;
end;
 
procedure TForm1.frReport1EndPage(pgNo: Integer);
begin
  inc(FPage);
end;
 
procedure TForm1.frReport1GetValue(const ParName: String; var ParValue: Variant
  );
var
  i: Integer;
begin
  if ParName = 'PAGE#' then
    ParValue := FPage;
end;  
So sollte es funktionieren, ich hoffe es hilft dir?!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

hausi
Beiträge: 132
Registriert: Mi 23. Sep 2009, 08:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Fortlaufende Nummer in Lazreport

Beitrag von hausi »

Der Laz Report wurde vom Freereport übernommen. Dieser ist auf dem Fast Report aufgebaut. Google nach Fastreport Anleitung oder klicke auf diesen Link:
http://www.horland.de/download/UserManual-GER.pdf Dort hat es auf Seite 65 eine Anleitung.

Hausi

bmeg
Beiträge: 5
Registriert: Do 23. Apr 2015, 11:41

Re: Fortlaufende Nummer in Lazreport

Beitrag von bmeg »

Vielen Dank an euch!!
Das werde ich später probieren, und das Handbuch werde ich mir auch in Ruhe durchlesen.

Danke und Gruß
bmeg

Antworten