Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Print object
|
Print object ( {* ;} Objekt {; posX {; posY {; Breite {; Höhe}}}} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit Stern: Objekt ist ein Objektname (String) Ohne Stern: Objekt ist eine Variable |
|||||
Objekt | Formularobjekt |
![]() |
Mit Stern: Objektname oder Ohne Stern: Variable | |||||
posX | Lange Ganzzahl |
![]() |
Horizontale Position des Objekts | |||||
posY | Lange Ganzzahl |
![]() |
Vertikale Position des Objekts | |||||
Breite | Lange Ganzzahl |
![]() |
Breite des Objekts (Pixel) | |||||
Höhe | Lange Ganzzahl |
![]() |
Höhe des Objekts (Pixel) | |||||
Funktionsergebnis | Boolean |
![]() |
Wahr = Objekt wird vollständig gedruckt; sonst Falsch | |||||
Die Funktion Print object druckt die Formularobjekte, definiert durch die Parameter Objekt und * und positioniert durch die Parameter posX und posY.
Vor Aufrufen dieser Funktion müssen Sie die Tabelle oder das Projektformular, welches die zu druckenden Objekte enthält, über den Befehl FORM LOAD bestimmen.
Mit dem optionalen Parameter * geben Sie an, dass der Parameter Objekt ein Objektname, also eine Zeichenkette ist. Übergeben Sie keinen *, geben Sie an, dass Objekt eine Variable ist. In diesem Fall übergeben Sie eine Variablenreferenz (nur Objekttyp) anstelle eines String.
Die Parameter posX und posY geben den Ausgangspunkt zum Drucken der Objekte an. Die Werte müssen in Pixel ausgedrückt werden. Ohne diese Parameter wird das Objekt gemäß seiner Position im Formular gedruckt.
Die Parameter Breite und Höhe definieren die Breite und Höhe des Formularobjekts. Die Funktion Print object unterstützt keine Objekte mit variabler Größe. Zur Größenverwaltung von Objekten müssen Sie den Befehl OBJECT GET BEST SIZE verwenden. Über diesen Befehl können Sie auch die am besten geeignete Größe für Objekte mit Text herausfinden. Analog zu FORM LOAD legt auch Print object nicht automatisch Seitenumbrüche an. Das muss der Entwickler gemäß seinen Anforderungen selbst verwalten.
Sie können über 4D Befehle Objekteigenschaften, wie Farbe, Größe, etc. direkt verändern.
Die Funktion gibt Wahr zurück, wenn das Objekt vollständig gedruckt wurde und Falsch, wenn das nicht der Fall ist, d.h. es konnten nicht alle in Objekt zugeordneten Daten innerhalb des gesetzten Rahmens gedruckt werden.
Die Funktion gibt beim Drucken von Listboxen Falsch zurück, wenn nicht alle Zeilen der Listbox gedruckt werden konnten. In diesem Fall können Sie einfach die Funktion Print object so oft aufrufen, bis sie Wahr zurückgibt. Ein spezifischer Mechanismus sorgt dafür, dass der Inhalt des Objekts nach jedem Aufruf weiter gescrollt wird. Bricht der Benutzer den Druckvorgang ab, wird der Fehler -128 generiert. Sie können ihn mit ON ERR CALL abfangen.
Hinweise:
Die Funktion Print object lässt sich nur im Kontext eines Druckauftrags verwenden, der zuvor über den Befehl OPEN PRINTING JOB geöffnet wurde. Wird er nicht in diesem Kontext aufgerufen, führt er nichts aus. Im gleichen Druckauftrag lassen sich mehrere Funktionen Print object aufrufen.
Hinweis: Hierarchische Listen, Unterformulare und Web Areas sind nicht druckbar.
Zehn Objekte in einem Formular drucken:
PRINT SETTINGS
If(OK=1)
OPEN PRINTING JOB
If(OK=1)
FORM LOAD("PrintForm")
x:=100
y:=50
GET PRINTABLE AREA(hpaper;wpaper)
For($i;1;10)
OBJECT GET BEST SIZE(*;"Obj"+String($i);bestwidth;bestheight)
$end:=Print object(*;"Obj"+String($i))
y:=y+bestheight+15
If(y>hpaper)
PAGE BREAK(>)
y:=50
End if
End for
End if
CLOSE PRINTING JOB
End if
Eine komplette Listbox drucken:
OPEN PRINTING JOB
FORM LOAD("myForm")
$Over:=False
gError:=0
ON ERR CALL("err")
Repeat
$Total:=Print object(*;"List_Box")
LISTBOX GET PRINT INFORMATION(*;"List_Box";lk printing is over;$Over)
PAGE BREAK
If(gError=-128) //der Benutzer hat den Vorgang abgebrochen
$Over:=True
End if
Until($Over)
CLOSE PRINTING JOB
ON ERR CALL("")
Produkt: 4D
Thema: Drucken
Nummer:
1095
Erstellt: 4D v12
4D Programmiersprache ( 4D v20 R7)