29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Weiterführende Programmierung<br />

Bei dem Aufruf von LlPrint() werden die Objekte gezeichnet, die nicht <strong>List</strong>en oder nicht<br />

an <strong>List</strong>en angehängt sind. Wenn die Option LL_OPTION_DELAYTABLEHEADER nicht<br />

gesetzt ist, werden dann auch die <strong>List</strong>enköpfe gedruckt, ansonsten kommen diese erst<br />

beim ersten Aufruf von LlPrintFields() auf das Papier. Danach erwartet <strong>List</strong> & <strong>Label</strong> die<br />

Definition der Datensätze.<br />

Bei jedem LlPrintFields() wird getestet, ob der auszugebende Datensatz noch auf derselben<br />

Seite in die <strong>List</strong>e passt. Wenn er nicht vollständig gedruckt werden konnte, meldet<br />

die Funktion LL_WRN_REPEAT_DATA zurück - dann muss man daran denken, den Satzzeiger<br />

nicht zu erhöhen, da genau dieser Datensatz auf der folgenden Seite erneut gedruckt<br />

werden soll.<br />

Sind die <strong>List</strong>en gefüllt, muss man jetzt die Variablen für angehängte Objekte definieren,<br />

bevor man an den Schleifenanfang (also LlPrint()) zurückkehrt, denn bei diesem LlPrint()<br />

werden nun die angehängten Objekte gefüllt, die neue Seite begonnen und - siehe oben<br />

- wieder die Objekte der neuen Seite inklusive <strong>List</strong>enköpfe gedruckt.<br />

Wichtig: Felder für Fußzeilen müssen gleichzeitig mit den Datenzeilen definiert werden,<br />

d.h. bei Rechnungen für Zwischensumme muss der Betrag des momentanen Satzes mit<br />

eingerechnet werden. Die Verwaltung, welche Fußzeile ausgegeben wird (wenn mindestens<br />

ein Teil des Datensatzes gedruckt werden konnte, die Neue, sonst die Alte) übernimmt<br />

<strong>List</strong> & <strong>Label</strong>.<br />

Das Prinzip also:<br />

44<br />

<br />

(LlPrint[WithBox]Start)<br />

<br />

{<br />

<br />

<br />

(LlPrint)<br />

<br />

{<br />

<br />

<br />

(LlPrintFields)<br />

<br />

{<br />

<br />

}<br />

}<br />

<br />

}<br />

<br />

(LlPrintFieldsEnd)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!