StringGrid drucken
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
StringGrid drucken
Hallo zusammen,
mit dem Drucken musste ich mich bisher noch nie beschaeftigen.
Hat wer einen BeispielCode rumliegen, wie ich am einfachsten ein StringGrid, welches auch ueber mehr als eine A4-Seite (hoch) reichen kann, auf den Drucker bringe ? Dabei sollte FixedRow auf jeder Seite als oberste Zeile erscheinen und die Schrift muss mono-spaced sein.
Danke schonmal !
Momentan: Lazarus 0.9.21 / fpc 2.0.4
MfG Th. Moritz
mit dem Drucken musste ich mich bisher noch nie beschaeftigen.
Hat wer einen BeispielCode rumliegen, wie ich am einfachsten ein StringGrid, welches auch ueber mehr als eine A4-Seite (hoch) reichen kann, auf den Drucker bringe ? Dabei sollte FixedRow auf jeder Seite als oberste Zeile erscheinen und die Schrift muss mono-spaced sein.
Danke schonmal !
Momentan: Lazarus 0.9.21 / fpc 2.0.4
MfG Th. Moritz
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Also zu Delphizeiten hab ich diese hier mit kleineren Anpassungen verwendet:
http://www.delphicoders.de/modules.php?name=Content&pa=showpage&pid=44
(ganz nach unten scrollen)
Allerdings unterstützt die meiner Meinung nach auch keinen mehrseitigen Druck, bin aber nie in die verlegenheit gekommen. Du könntest natürlich auch die Zahl der Einträge im Stringgrid vorher anpassen, z.Bsp. 30 Datensätze, die dann drucken und dann die nächsten dreißig, würde zumindest den Aufwand für eine mehrseitige Druckunterstützung umgehen.
http://www.delphicoders.de/modules.php?name=Content&pa=showpage&pid=44
(ganz nach unten scrollen)
Allerdings unterstützt die meiner Meinung nach auch keinen mehrseitigen Druck, bin aber nie in die verlegenheit gekommen. Du könntest natürlich auch die Zahl der Einträge im Stringgrid vorher anpassen, z.Bsp. 30 Datensätze, die dann drucken und dann die nächsten dreißig, würde zumindest den Aufwand für eine mehrseitige Druckunterstützung umgehen.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Du kannst doch TPrinter benutzen, mit beginDoc und EndDoc das Dokument anfangen / Druckauftrag abschicken, mit NewPage eine neue Seite erzeugen.
Tprinter hat ein Canvas Objekt das du genau so wie jeden anderen Canvas auch benutzen kannst. Also TextOut u.s.w. Prüfen ob du eine neue Seite anfangen musst kannst du einfach mit einer if Abfrage also wenn Aktuelle Zeile*Zeilenhöhe > Seite dann ....
Tprinter hat ein Canvas Objekt das du genau so wie jeden anderen Canvas auch benutzen kannst. Also TextOut u.s.w. Prüfen ob du eine neue Seite anfangen musst kannst du einfach mit einer if Abfrage also wenn Aktuelle Zeile*Zeilenhöhe > Seite dann ....
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Ich dachte schon, jetzt geht es voran...
Im 'PrintDialog' sehe ich als Drucker-Auswahl nur
'cbPrinters'
Es erscheint in der StatusZeile:
CUPS (Common Printing System) localhost:631
hier brauche ich aber nicht den Localhost, sondern meinen _Server_.
Im kompletten System stehen ansonsten alle Drucker des Servers
per CUPS zur Verfuegung.
Hm, ich sehe schon, das wird eine laengere LernPhase
Wer nimmt mir bitte das Brett vom Kopf ? Danke
PS.: Ja, ich werde zum Test auch einen lokalen Drucker
anschliessen und installieren! Dachte, das bleibt mir erspart.
MfG Th. Moritz
Im 'PrintDialog' sehe ich als Drucker-Auswahl nur
'cbPrinters'
Es erscheint in der StatusZeile:
CUPS (Common Printing System) localhost:631
hier brauche ich aber nicht den Localhost, sondern meinen _Server_.
Im kompletten System stehen ansonsten alle Drucker des Servers
per CUPS zur Verfuegung.
Hm, ich sehe schon, das wird eine laengere LernPhase

Wer nimmt mir bitte das Brett vom Kopf ? Danke

PS.: Ja, ich werde zum Test auch einen lokalen Drucker
anschliessen und installieren! Dachte, das bleibt mir erspart.
MfG Th. Moritz
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Zuerst einmal ein "Gesundes Neues Jahr 2007"schnullerbacke hat geschrieben:Hi mori,
kann es sein, das Du auf dem Client die Druckerverwaltung nicht eingerichtet hast? Bei mir findet er auf Anhieb dem Windows-Printer im Netz.

Leider kam ich innerhalb der letzten Wochen wegen dem Jahresabschluss nicht zum Basteln.
Auf dem Client musste ich unverstaendlicherweise erst einen localen Drucker einrichten,
danach bekam ich ploetzlich die CUPS-Drucker zu sehen. Den positionsgenauen Ausdruck
habe ich mittlerweile auch fuer meinen IP4000 hinbekommen (A4Borderless).
Nicht gelungen ist mir der Druck mit "monospace-Fonts", was sehr wichtig waere.
Unter Windows kein Problem! Unter Linux bis "fpc 2.1.1" und "lazarus 0.9.21" habe ich
bisher leider keine Moeglichkeit gefunden!
Ich werde diesbezueglich einen neuen Thread anfangen, da dieser hier schon sehr weit
zurueck liegt.
MfG Th. Moritz
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Da wirst Du wohl die Druckertreiber für die verwendeten Drucker auf dem Client installieren müssen. Die Standardtreiber von LINUX sind wahrhaftig nicht gerade üppig. So ein ähnliches Problem hatte ich schonmal mit meinem SAMSUNG ML-4600, da wollte per CUPS der Grafikprint nicht klappen bis ich den passenden Treiber installiert hatte. Ähnliche Probleme gibt es bei eventuellen Erweiterungen des Printers, z.B. 2te Zuführung.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)