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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Einführung in die Programmierung<br />

Wend<br />

32<br />

end if<br />

<strong>List</strong><strong>Label</strong>1.LlPrintEnd(0)<br />

Data1.Recordset.MoveNext()<br />

'Wollte Anwender Druck auf Preview?<br />

if (nLLError = 0) and (nDest = LL_DESTINATION_PRV) then<br />

'Preview anzeigen und dann Preview-Datei (.LL) löschen<br />

<strong>List</strong><strong>Label</strong>1.LlPreviewDisplay("Item.lbl", "", hWnd)<br />

<strong>List</strong><strong>Label</strong>1.LlPreviewDeleteFiles("Item.lbl", "")<br />

end if<br />

2.6.6. <strong>List</strong>endruck<br />

Nachfolgender Beispielcode (ohne jegliche Fehlerabfrage) für den Druck einer Rechnung<br />

("invoice.lst") auf Echtdatenvorschau hat die Definition der Variablen und Felder in zwei<br />

Unterroutinen gekapselt (DefineVars und DefineFields) und verwendet 2 Datenbanktabellen,<br />

Data1 für die Rechnungskopfdaten wie 'Rechnungsnummer', 'Empfänger' etc.,<br />

die als Variablen definiert werden, und Data2 für die jeweiligen Postendaten wie 'Stückzahl',<br />

'Artikel-Nr' etc., die als Felder definiert werden.<br />

'Variablen und Felder mit Dummy-Daten für Syntax Check definieren<br />

DefineVars<br />

DefineFields<br />

'Druck starten<br />

<strong>List</strong><strong>Label</strong>1.LlPrintWithBoxStart(LL_PROJECT_LIST, "invoice.lst",<br />

LL_PRINT_PREVIEW, LL_BOXTYPE_NORMALWAIT, hWnd, "Printing")<br />

'Dialog für Drucker-Einstellungen anzeigen<br />

<strong>List</strong><strong>Label</strong>1.LlPrintOptionsDialog(Form1.hWnd, "")<br />

'Gehe zum ersten Posten-Datensatz<br />

Data2.Recordset.MoveFirst<br />

'Variablen mit "Echtdaten" füllen<br />

DefineVars<br />

'Variablen drucken, auf Seitenumbruch achten<br />

While <strong>List</strong><strong>Label</strong>1.LlPrint = LL_WRN_REPEAT_DATA<br />

Wend<br />

'Solange das Ende der Posten-Tabelle nicht erreicht ist...<br />

While Not Data2.Recordset.EOF<br />

'Prozentbalken setzen<br />

<strong>List</strong><strong>Label</strong>1.LlPrintSetBoxText("Printing invoice",<br />

Data2.Recordset.PercentPosition)<br />

'Wenn die Rechnungs-Nr. übereinstimmt<br />

If Data2.Recordset.Fields(0) = Data1.Recordset.Fields(0) Then<br />

'Felder mit "Echtdaten" aus aktuellem Posten-Datensatz füllen<br />

DefineFields<br />

'Felder drucken, und wenn Seitenumbruch erfolgt ist,<br />

'Variablen/Felder erneut drucken<br />

While <strong>List</strong><strong>Label</strong>1.LlPrintFields = LL_WRN_REPEAT_DATA

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!