Kopienzaehler

Aus LexWIKI

Wechseln zu: Navigation, Suche

Damit man mehrere, auch abweichende Seiten eines Auftrages ausdrucken kann, muß man einen Kopienzähler einrichten. Auf die dabei erzeugten Variablen kann man dann im Laufe des Skriptes zugreifen und z.b. Logos in Abhängigkeit von der Kopienzahl unterschiedlich andrucken. Vgl.: Grafiken einbinden.

Zuerst muß man dazu den Kopienzähler definieren:

' Definition der Anzahl der Kopien
Dim i_FirmaXXX_AnzahlKopien as numeric = 3
Dim i_FirmaXXX_KopieZaehler as numeric = 1
Dim b_FirmaXXX_AuftragIstRechnung as bool = IS(AUFTR_IST_RG)

Das erste Codebeispiel zeigt den geänderten Text der Datei lay_devi.lsf:

'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'----------------------------------------------Erzeugen des gesamten Formulars -----------------
 
'SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, nKopfzeileHoehe)
' Header so Hoch wie der Body, damit in der Funktion Kopfzeile auf das ganze Blatt gezeichnet werden kann
SetHeaderMargin(nRandLinks, nRandOben , nRandRechts, nSeitenHoehe-nRandUnten - nFusszeileHoehe)
SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe)
SetBodyMargin(nRandLinks, nRandOben , nRandRechts, nRandUnten + nFusszeileHoehe + 10)
 
dim bPageBreak as bool = FALSE
dim nTemp as numeric = 0
'dim strTemp as string = ""
 
'hier beginnt die Kopie-Schleife +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
while i_FirmaXXX_KopieZaehler <= iAnzahlKopien do 'sagt daß es zwei Ausdrucke gibt 
 
	Result_R = FirstRecord(AUFTRAG)				'Erste Rechnung oder sonstiges
	if i_FirmaXXX_KopieZaehler > 1 then
		nAuftragPage = 0
		PageBreak()
	end if
	' für die erste Seite werden die Funktionen des Seitenwechsels bereits hier aufgerufen
	if Result_R then
 
....
 
			bEndeAuftragsbeschreibung = false
			Pagebreak()
		end if
	End While
	i_FirmaXXX_KopieZaehler = i_FirmaXXX_KopieZaehler + 1
End While

Und hier der Originalcode der lay_devi.lsf:

'///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'----------------------------------------------Erzeugen des gesamten Formulars -----------------
fNoPageBreak = true
SetPrintDevice(1)
fNoPageBreak = false
'SetHeaderMargin(nRandLinks, nRandOben, nRandRechts, nKopfzeileHoehe)
' Header so Hoch wie der Body, damit in der Funktion Kopfzeile auf das ganze Blatt gezeichnet werden kann
SetHeaderMargin(nRandLinks, nRandOben , nRandRechts, nSeitenHoehe-nRandUnten - nFusszeileHoehe)
SetFooterMargin(nRandLinks, nFusszeileHoehe + 10, nRandRechts, nFusszeileHoehe)
SetBodyMargin(nRandLinks, nRandOben , nRandRechts, nRandUnten + nFusszeileHoehe + 10)
 
dim bPageBreak as bool = FALSE
'dim strTemp as string = ""
dim nTemp as numeric = 0
 
Result_R = FirstRecord(AUFTRAG)				'Erste Rechnung oder sonstiges
' für die erste Seite werden die Funktionen des Seitenwechsels bereits hier aufgerufen
if Result_R then
 
....
 
		bEndeAuftragsbeschreibung = false
		Pagebreak()
	end if 
 
End While
Persönliche Werkzeuge
EIN KRANKENHAUS FÜR LOMIÉ - Der CEFOMEC e. V. sammelt Spenden, um in Lomié, im Süd-Osten Kameruns, ein Krankenhaus zu planen, bauen und zu betreiben. Bitte unterstützen Sie unser soziales Engagement und spenden Sie unter http://CEFOMEC.org/de/Spenden. Jede Spende hilft! Vielen Dank.