LazReport für nicht-Datenbank-Daten

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
JeyJey
Beiträge: 9
Registriert: Do 22. Sep 2016, 09:55

LazReport für nicht-Datenbank-Daten

Beitrag von JeyJey »

Hallo liebe Lazarus-Community,

ich bin zwar kein blutiger Anfänger mehr was Lazarus angeht, dennoch ziemlich am Anfang. Folgendes Problem hat sich bei mir aufgetan. Ich habe eine Anwendung, welche schon relativ weit ist. Diese Anwendung greift via ODBC-Komponente auf eine Access-Datenbank zu und verarbeitet diese Daten. Jetzt bin ich an dem Punkt angelangt, an dem ich eine Form (eine Art Angebot) habe, auf der ich mittels Labels die aufbereiteten Daten visualisiert habe. Diese Daten würde ich gerne Drucken. Über die Drucker-Komponente habe ich es schon versucht. Quasi die ganze Form drucken. Leiter trat hier das Problem auf, das die Schrift relativ schwammig oder verpixelt ausgesehen hat. Dies habe ich nur mit sehr großem Aufwand beheben können, in dem ich jedes Objekt auf der Form angepasst habe. (Umrechnen von pixel/dpi ect). Das letztendliche Ergebnis ist auch nicht wirklich so gut.

Danach bin ich auf LazReport gestoßen. Ich habe mich dann eine ganze weile damit beschäftigt, habe jedoch nur Beschreibungen darüber gefunden, wie man Daten die direkt von der Datenbank kommen in LazReport einbinden kann. Wie gesagt, die Daten habe ich aber soweit bereits aufbereitet und liegen nun in vielen Variablen vor. Nun suche ich also einen Weg, wie ich mit LazReport oder ähnliches diese Variablen formatiert drucken kann.


Falls ihr noch mehr Informationen braucht, werde ich diese gerne nachreichen.


Ich sag schon mal vielen dank :)

JJ

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: LazReport für nicht-Datenbank-Daten

Beitrag von Soner »

Das ist leicht, man macht es ähnlich wie bei Datenbanken:
1. Benutze TfrUserDataset und verwende die TfrUserDataset-Ereignisse OnCheckEof, OnFirst, OnNext.
2. Benutze von TfrReport das Ereigniss OnGetValue für Datenbank-Werte. Normalerweise holt sich Lazreport die Werte der Datenfelder, die du in eckigen Klammern definiert hast, z.B. [Firmenname], von der Datebank. Da du aber keine Datenbank verwendest, mußt du es im Ereignis OnGetValue übergeben.

Such einfach nach "LazReport OnGetVAlue", da gibt es bestimmt Beispiele als Quellt.

JeyJey
Beiträge: 9
Registriert: Do 22. Sep 2016, 09:55

Re: LazReport für nicht-Datenbank-Daten

Beitrag von JeyJey »

Vielen lieben Dank Soner. Endlich ein Ansatz :D

So bald ich Zeit finde werde ich sofort danach googeln und deinem Hinweis nach gehen.


Wirklich super so schnell eine Antwort auf mein Problem bekommen zu haben :))

Gruß

Jens

Antworten