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 />

für <strong>List</strong> & <strong>Label</strong> überhaupt keine Rolle. In den meisten Fällen dürfte vermutlich durch Sie<br />

ein Lesezugriff auf ein entsprechendes Datensatz-Feld einer Datenbank erfolgen.<br />

Um den Designer zur Gestaltung der Druckformulare in Ihre Anwendung einzubauen,<br />

melden Sie per Funktionsaufruf jedes Ihrer vorhandenen bzw. gewünschten Datenfelder<br />

einmal bei <strong>List</strong> & <strong>Label</strong> an. Dabei können Sie neben dem Datenfeld-Namen auch noch<br />

optional einen Datentyp (z.B. Text, Numerisch, Logisch, Datum, etc.) übergeben, der<br />

bspw. für die Behandlung der Datenfelder in Formeln u.ä. im Designer relevant wird. Sie<br />

können außerdem einen Beispiel-Feldinhalt übergeben, der zur Designzeit für die Darstellung<br />

im Arbeitsbereich genutzt wird. Wenn Sie eine Echtdatenvorschau unterstützen<br />

wollen, berücksichtigen Sie die Hinweise im Kapitel "6. Direkter Druck und Export aus<br />

dem Designer".<br />

Zur Druckzeit erfolgt die Datenübergabe im Prinzip analog, außer, dass anstatt des Beispiel-Feldinhaltes<br />

von Ihnen der Echtdaten-Feldinhalt übergeben werden muss. Dies<br />

geschieht für alle Felder, während Sie insgesamt über alle Ihre zu druckenden Datensätze<br />

iterieren.<br />

2.6.2. Echtdatenvorschau oder Druck?<br />

Prinzipiell läuft Ihre Druckschleife immer gleich ab, unabhängig davon, ob auf Drucker<br />

(LL_PRINT_NORMAL), Vorschau (LL_PRINT_PREVIEW) oder Datei (LL_PRINT_FILE) gedruckt<br />

wird. Die Unterscheidung wird lediglich in einem Parameter beim Start des<br />

Druckvorganges programmierseitig festgelegt (siehe LlPrint[WithBox]Start()). Sie können<br />

allerdings diese Entscheidung auch dem (End-)Anwender überlassen (LL_PRINT_-<br />

USERSELECT), indem Sie ihm im Drucker-Dialog von LlPrintOptionsDialog() eine Auswahlmöglichkeit<br />

des Druckziels anbieten. Sie selbst bräuchten dann lediglich nach dem<br />

Druckvorgang den Fall, dass sich der Anwender für Preview-Druck entschieden hat,<br />

abzufragen und in diesem Falle den Preview (mittels LlPreviewDisplay()) anzuzeigen.<br />

2.6.3. Exportmodule<br />

Um zusätzlich zu Druck und Preview-Druck die Export-Module benutzen zu können,<br />

können nicht die o.g. LL_PRINT_xxx Flags benutzt werden, in diesem Falle sollten die<br />

Ausgabemedien über die Funktionen LlPrintGetOptionStr() und LlPrintSetOptionStr() mit<br />

den Flags LL_OPTIONSTR_EXPORTS_ALLOWED, LL_PRNOPTSTR_EXPORT eingestellt<br />

werden. Weitere Informationen finden Sie im Kapitel "15. Die Export-Module".<br />

2.6.4. Grundlegender Ablauf<br />

Zunächst wird ein <strong>List</strong> & <strong>Label</strong> Job geöffnet (LlJobOpen[LCID]()) und ggf. anschließend<br />

globale <strong>List</strong> & <strong>Label</strong> Optionen (LlSetOption()) eingestellt. Nun muss <strong>List</strong> & <strong>Label</strong> der Beginn<br />

des Druckvorgangs mitgeteilt werden (LlPrint[With]BoxStart()). Dabei wird außerdem<br />

spezifiziert, welche Etiketten- bzw. Formular-Definitionsdatei genommen werden soll. Zu<br />

diesem Zeitpunkt wird <strong>List</strong> & <strong>Label</strong> die angegebene Definitionsdatei öffnen und parsen.<br />

Dabei erfolgt auch eine syntaktische Überprüfung aller verwendeten Variablen, Felder<br />

und Formel-Ausdrücke. Dies bedeutet allerdings, dass <strong>List</strong> & <strong>Label</strong> bereits zu diesem<br />

Zeitpunkt alle von Ihnen zur Verfügung gestellten Variablen und Felder kennen muss. Sie<br />

30

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!