[Erledigt] Lazreport, LRCodeReport: Fontinformationen zuweisen

Rund um die LCL und andere Komponenten
Antworten
charlytango
Beiträge: 1086
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

[Erledigt] Lazreport, LRCodeReport: Fontinformationen zuweisen

Beitrag von charlytango »

Hi,

für eine Software die Etiketten druckt benutze ich Lazreport bzw dessen Addon LR_Codereport mit dem man Reports im Source definieren/erstellen kann.

Um dem Benutzer den Font des Etiketts auswählen zu lassen werden die Fontdefinitionen in einer Datenbanktabelle gespeichert. Das wird aktuell mit einem Fontdialog gemacht der ein Fontobjekt befüllt, das wiederum als JSON-String in der DB-Tabelle abgelegt wird.

Soweit klappt das ja, aber das Zuweisen der gespeicherten Fontinformation ans Etikett erscheint mir unnötig aufwendig.
Die Entwickler von LR_Codereport benutzen für die Fonts einen Record (TlrTextRectStyle) der die Fonteinstellungen aufnimmt.

Eine direkte Zuweisung des aus dem JSON TFont Objektes scheint mir da nicht möglich, das müsste ich wohl stückweise machen und dabei stellt sich die Herausforderung dass der TFont-Dialog sehr schräge (auch negative) Zahlen für die Fontgröße speichert, was dem Record gar nicht behagt.

Ziel ist es, den Benutzer einen Font (und alle zusätzlichen Attribute wie Name, Größe, Farbe, Auszeichnungen) mittels des Fontdialogs auswählen zu lassen (damit ich nicht einen eigenen Dialog dafür basteln muss - Lazreport benutzt dafür einen ObjectInspector. Das hab ich noch nie gemacht, wäre Neuland und ist nicht gerade attraktiv für einen Benutzer. ).
Diese Fontinformation soll in einer DB-Tabelle (elegant) gespeichert werden, um dann (ebenso elegant) ausgelesen und dem Etikett zugewiesen werden.

Hierzu ersuche ich um Hilfestellung, bin auch für schräge Ideen zugänglich -- ein Demoprojekt liegt bei.

THX
Dateianhänge
project1.zip
(140.71 KiB) 33-mal heruntergeladen
Zuletzt geändert von charlytango am Sa 27. Jul 2024, 11:56, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10921
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazreport, LRCodeReport: Fontinformationen zuweisen

Beitrag von theo »

Stehe grade auf dem Schlauch.
Hatten wir das nicht hier schon besprochen?

Natürlich musst du die Eigenschaften einzeln in den Record kopieren, entweder direkt aus dem JSON, oder aus einem temporären Font Objekt.
Aber wo ist das Problem?
Länger als diesen Beitrag zu verfassen dauert das bisschen coden auch nicht, oder verstehe ich etwas vollkommen falsch?

charlytango
Beiträge: 1086
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Lazreport, LRCodeReport: Fontinformationen zuweisen

Beitrag von charlytango »

theo hat geschrieben: Sa 27. Jul 2024, 10:03 Stehe grade auf dem Schlauch.
Nein, stehst du nicht
theo hat geschrieben: Sa 27. Jul 2024, 10:03 Natürlich musst du die Eigenschaften einzeln in den Record kopieren, entweder direkt aus dem JSON, oder aus einem temporären Font Objekt.
Aber wo ist das Problem?
genau um dieses "natürlich" ging es mir.
Und nein, es ist kein Problem und "das bisschen coden" bringe ich hin. Ich habe nur deswegen gefragt, weil ich dachte ich sehe den Wald vor lauter Bäumen nicht und es gibt eine elegante Variante die ich nicht kenne.

Danke für zurechtrücken des Kopfes.

Antworten