Einzelnen Beitrag anzeigen

Horald

Registriert seit: 29. Okt 2003
11 Beiträge
 
#2

Re: Drucker druckt nur eine Seite

  Alt 20. Nov 2003, 20:28
Hallo,

warum hast du die Druckroutine "hardcodiert". Mach es doch mit Quickreport. Man braucht für Quickreport nicht unbedingt eine Datenbank. Meine Fehlerreports drucke ich auch mit Quickreport. Dies hat einige Vorteile. Quickreport kümmert sich selbst um Papierformat, Seitengröße etc. Und ich kann die Position der Ausgabezeile recht einfach auf einem Report platzieren.
Entscheidend ist dass das onNeeddata-Ereignis überschrieben wird. Solange moredata=true ist macht Quickreport weiter, sobald moredata=false ist wird die Ausgabe beendet. Mit Quickreport könnte dein Source dann etwa so aussehen:

Code:
var i : integer;

procedure TQRDrucken.QRDruckenBeforePrint(Sender: TQuickRep;
  var PrintReport: Boolean);
begin
  i:=0;
end;


procedure TQRDrucken.QRLabel1Print(sender: TObject; var Value: String);
begin
  value:=Form1.ListBox1.Items[i];
end;

procedure TQRDrucken.QRDruckenNeedData(Sender: TObject;
  var MoreData: Boolean);
begin
  moreData:=true;
  if i>Form1.ListBox1.Items.Count then
    begin
    moredata:=false;
    end;
  inc(i);
end;
Probiers mal aus.

Gruß

Horst
  Mit Zitat antworten Zitat