Text im titlebar von preview.prg eingeben und ausdrucken

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
de-santos
Rookie
Rookie
Beiträge: 1
Registriert: So, 28. Okt 2007 14:46
Wohnort: Wettenberg

Text im titlebar von preview.prg eingeben und ausdrucken

Beitrag von de-santos »

Hallo Leser,
ich habe bis Dato Clipperprogramme nach Xbase migriert,brauchte aber
keinen Druck.Nun muss ich eine Dbasedatei drucken, was auch mit preview
einwandfrei funktioniert, nur der Text in der titlebar wied nur am Display
dargestellt , aber nicht gedruckt.
Es wäre schön wenn Jemand dazu mir ein Tip geben könnte.

Besten Dank im Voraus
De-Santos
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo De-Santos,
das XbpPreview.prg ist "nur" ein Beispiel, wie einfach der Inhalt einer DBF ausgedruckt werden kann.
Dabei werden nur auf jeder Seite die Datensätze untereinander gedruckt - mehr nicht!
Wenn Du also mehr ausgedruckt haben möchtest, müsstest Du das innerhalb der Druckroutine selber erledigen - also auf jeden Fall das bestehende Beispiel aufbohren oder - besser - eine neue Klasse davon ableiten und die Änderungen darin vornehmen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo De-Santos,
wenn Du Das XbpPreview nutzt, dann hast Du bei Dir in der Klasse mit der Vorschau ja folgenden Code (sinngemäß):

Code: Alles auswählen

::oView := XbpPreview():new( zeichenflaeche, , {0,0}, {406,570} )
::oView:drawBlock := { | oPS, nPageNo, segments | ::druck( oPS, nPageNo, @segments ) }
In der :druck()-Funktion kannst Du jetzt sämtliche Ausgaben vornehmen.
Wenn Du Dir das Beispiel Previe.prg von Alaska anschaust, so findest Du dort in der Funktion FormatPage ab der Zeile 148 die Ausgabe am Anfang der Seite:

Code: Alles auswählen

   nY := aPageSize[2] - 2 * nFontHeight
   FOR i:=1 TO imax
      GraStringAt( oPS, { aPosX[i], nY }, FieldName(i) )
      GraLine( oPS, {aPosX[i]-nFontWidth/4, 0}, {aPosX[i]-nFontWidth/4, aPageSize[2]} )
   NEXT

   // Trennlinie für Kopfzeile zeichnen
   nY -= nFontHeight/2
   GraLine( oPS, {0, nY}, {aPageSize[1], nY} )

   // Seite mit Daten vollschreiben
   DO WHILE nY >= ( nFontHeight + 2 )
      nY -= ( nFontHeight + 2 )
...
Wenn Du also darüber irgendwas ausgeben willst, müsstest Du das hier einbauen - z.B.:

Code: Alles auswählen

   nY := aPageSize[2] - 2 * nFontHeight
   GraStringAt( oPS, { aPosX[i], nY }, "Hier kommt die Überschrift!" )
   nY -= ( nFontHeight + 2 )
   FOR i:=1 TO imax
...
Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Antworten