1 LazReport und Textfelder | Tipps zu PC und Technik

LazReport und Textfelder

11. Mai 2018 - Lesezeit: 10 Minuten

Inhalt:

  • Text aus dem Skript ins Textfeld
  • Einsatz von mehreren Datenbankfelder im Textfeld
  • Einsatz eigener Variable im Skript eines Textfeldes

 

 

Text aus dem Skript ins Textfeld

Mit Text := …; im Skript erscheint auch der dort angegebene Text im Textfeld.

Sonderzeichen im Skript wie #13 #9 werden nicht verarbeitet! Auch direkt im Textfeld eingebene Symbole werden später nicht angezeigt (=> es erscheint ein ?).

 

Wichtig:

Hat man im Skript einen Fehler gemacht, wird KEIN Text angezeigt. Anders als in Lazarus wirft LazReport leider keine Fehlermeldungen oder Warnungen aus; Was die Suche deutlich erschwert.

Mein Tipp hier: Das Skript Schritt-für-Schritt aufbauen und viel testen.

 

Einsatz von mehreren Datenbankfeldern im Textfeld

Funktioniert nicht:

[ZQuery3."bemerkung"]   xxx
[ZQuery4."bemerkung"]   xxx
xxx

Ergebnis: Nur erste Zeile wird angezeigt. Warum das so ist?! Ich weiß es nicht!

 

Richtig ist:
[ZQuery3."bemerkung"]   [ZQuery4."bemerkung"]

 

Hier werden beide korrekt angezeigt. Möglich wäre hier auch noch:

[ZQuery3."bemerkung"]   [ZQuery4."bemerkung"]
Test123

Hier würde auch noch Test123 mit angezeigt.

Auch das hier funktioniert nicht korrekt:

Dies entspricht [ZQuery3."bemerkung"] % vom ganzen.

Alles nach [ZQuery3."bemerkung"] wird nicht mehr angezeigt; Es ist also nur der halbe Satz vorhanden.
Umgehen kann man das ganze, wenn man das ganze im Skriptbereich schreibt:

 

begin
Text := 'Dies entspricht ' + [ZQuery3."bemerkung"] + ' % vom ganzen.';
end;

 

Allerdings ist mir auch hier nicht bekannt, wie man einen Zeilenumbruch bewerkstelligen kann. #13#10 funktioniert nicht.

 

Einsatz eigene Variable im Skript eines Textfeldes

Skript Variable:
Funktioniert nicht

var
a,b,c: string;

begin
a := 'abc';
b := 'def';
Text := a + v;
end;

 

 

Richtig ist:
Variable ohne var

begin
a := 'abc';
b := 'def';
Text := a + v;
end;

 











Es wurden noch keine Kommentare verfasst, sei der erste!