Lazreport : wer arbeitet wirklich damit

Rund um die LCL und andere Komponenten
ErnstVolker
Beiträge: 272
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Lazreport : wer arbeitet wirklich damit

Beitrag von ErnstVolker »

Guten Abend,

ich habe mal ein kleines Demoprojekt mit einer SQLite3-Datenbank zusammengeklickt. Allerdings auf dem Mac.
Archiv.zip
(799.55 KiB) 24-mal heruntergeladen
Es funktioniert und ich habe dabei gesehen, dass sich das "DBMemo" auf dem Formular genauso verhält wie das Memo des LazReport.
Es wird nur ein Eintrag angezeigt. Ich dachte, wenn ich die DataSource mit dem Memo verbinde, dann werden alle Einträge im DBMemo angezeigt. So wie im DBGrid.
Wenn das Programm läuft und man eine Zeile im DBGrid markiert, wird das markierte Fabrikat im DBMemo angezeigt.

Ich dachte das DBMemo zeigt alles an. Und genauso das Memo im Bericht.

Die Lazarusversion ist 2.3.0 mit fpcupdatedeluxe aus dem Trunk installiert.

Viele Grüße
Volker

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5483
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Lazreport : wer arbeitet wirklich damit

Beitrag von af0815 »

ErnstVolker hat geschrieben:
Do 1. Sep 2022, 19:09
Die Lazarusversion ist 2.3.0 mit fpcupdatedeluxe aus dem Trunk installiert.
Als Anmerkung, SQLDB kommt aus dem fpc. Das was du in Lazarus siehst ist nur ein Wrapper für die Teile die in fpc beheimatet sind. Auch bei einem Update von Lazarus werden quasi nur die sichtbaren Teile aktualisiert. Das ist wichtig, falls man einen Bugfix braucht. Den gibt es dann nur im fpc. Dann muss man den fpc trunk installiert haben, oder warten bis das ev. in die fpc fixes zurückgeportet wurde.

Im DBMemo wird immer der aktuelle Datensatz angezeigt. Wieso erwartest du ein Verhalten wie das Grid ? Im Report wird im Hintergrund ja Datensatz für Datensatz verarbeitet. Daher sind alle Einträge im fertigen Report sichtbar. Das ist normales Verhalten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

ErnstVolker
Beiträge: 272
Registriert: Di 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Lazreport : wer arbeitet wirklich damit

Beitrag von ErnstVolker »

Wo ist denn dann der Unterschied zwischen einem DBMemo und einem DBTextEdit? Bzw. wann nimmt man was? Jedes zeigt immer nur einen Datensatz.
Aber mir ist die Idee gekommen, dass man mit gezeichneten Linien im Masterband den Layout-Kasten gestalten kann.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 5483
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Lazreport : wer arbeitet wirklich damit

Beitrag von af0815 »

ErnstVolker hat geschrieben:
Do 1. Sep 2022, 23:05
Wo ist denn dann der Unterschied zwischen einem DBMemo und einem DBTextEdit? Bzw. wann nimmt man was?
Ich habe ein DBText , das ist der Pedant zu einem Label, dann DBEdit das ist der Pedant zu Edit und DBMemo mit dem Pedant Memo. Aber kein DBTextEdit. Oder stammt das aus einer anderen Komponentensammlung ?!

Faustregel: Sind im Text Zeilensprünge (CRLF,LF,CR je nach Plattform) oder der Text so lange das er mehrzeilig wird, dann DBMemo. Bei einzeiligen Text das DBEdit. Vergleiche Memo mit Edit in der normalen GUI Programmierung.
Hinweis, SQLite hat einige Spezialitäten, da wird sehr viel in einen Texttyp gemappt der alles frisst. Auf das muss man Rücksicht nehmen. Normalerweise ist bei SQL-DB Systemen sehr genau definiert, wie lange ein stringähnlicher Typ wird und man muss da unterscheiden ob man den in DBMemo oder in ein DBEdit.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten