Nach der Ausgabe wird die Cursorposition automatisch auf die nächste Zelle gesetzt. Ist die letzte Zelle erreicht, wird auf den Anfang der nächsten Zeile positioniert. Ist die letzte Zelle der letzten Zeile erreicht, wird automatisch eine neue Seite angebrochen.
Andere Ausgaben (z.B. Linien oder AxBoxen) statt Texten sind über diese Funktion nicht möglich. Um das zu erreichen, müssen die aktuelle Seite mit AktRepPage() und deren Cursorposition mit PageCursorLU() geholt werden.
Siehe auch Seitenumbruch(), Zeilenumbruch().
Vollständiges Beispiel:
MachHeader (Page P, String hdrstr, Real seitenr)
p1 := {1,1}
p2 := P.PageMaxPos() - {1,1}
P.FrameOnPage (p1, p2, 0.01)
p3 := {p2.XKoo(), p1.YKoo()-1}
P.DrawTextOnPage (p3, "Seite "+seitenr.GStr(), NORMAL, "RECHTS")
p4 := {(p1.XKoo()+p2.XKoo())/2, p2.YKoo()+0.2}
P.DrawTextOnPage (p4, hdrstr, NORMAL, "CENTER")
netto := GeoRange ({1.5, 1.5}, p2 - {0.5,0.5})
P.SetPageNetto (netto)
END
DrawTupel (Tupel tup)
FORALL feld IN tup
txt := tup.GetText (feld)
IF (feld="ORT")
typ := HALFSMALL+BOLD
ELSE
typ := HALFSMALL
ENDIF
TextOnReport (feld, typ, "Links")
TextOnReport (txt, typ, "Links")
ENDFOR
# Trennlinie zeichnen
P := AktRepPage()
y := YKoo(P.PageCursorLU()) - 0.2
range := P.PageNetto()
x1 := XKoo(range.RangeLU())
x2 := XKoo(range.RangeRO())
DrawLineOnPage (P, {x1,y}, {x2,y}, 0.01)
Zeilenumbruch()
Zeilenumbruch()
END
AZUR ()
R := OpenRel("kerndaten")
ueber := "Stammdaten aller Stationen"
Rep := RelToReport (R, False, "3.5,19", 0.4, ueber, 1, "MachHeader", "DrawTupel")
Rep.PrintReport ("derreport.pdf", "PDF")
END
toposoft 31.10.2025