StringGrid drucken

Rund um die LCL und andere Komponenten
Antworten
mori
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

Beitrag von mori »

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

monta
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:

Beitrag von monta »

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.

mori
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:

Beitrag von mori »

Danke Dir, allerdings muss ich mal schauen, dass keine Win-API's verwendet werden! Das hatte ich leider vergessen zu erwaehnen :-(

MfG Th. Moritz

Christian
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:

Beitrag von Christian »

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 ....
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mori
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:

Beitrag von mori »

Besten Dank Euch beiden!
Ich habe schon etwas an Lesestoff gefunden. Jetzt werde ich ein paar Examples besteln, um auch zu verstehen, warum was geht :-)

MfG Th. Moritz

mori
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:

Beitrag von mori »

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

schnullerbacke
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

Beitrag von schnullerbacke »

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.

mori
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:

Beitrag von mori »

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.


Zuerst einmal ein "Gesundes Neues Jahr 2007" :-)
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

schnullerbacke
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

Beitrag von schnullerbacke »

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)

Antworten