AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Fastreport 5.1.1: RichText nicht anzeigen, wenn leer
Thema durchsuchen
Ansicht
Themen-Optionen

Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

Ein Thema von WernerHo · begonnen am 28. Nov 2015 · letzter Beitrag vom 30. Nov 2015
Antwort Antwort
WernerHo

Registriert seit: 20. Mai 2014
13 Beiträge
 
#1

Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 28. Nov 2015, 19:31
Hallo schon wieder
ich tüftele weiter an meinem Report innerhalb meiner WaWi.
Jetzt ist das Problem, dass ich innerhalb der MasterDate ein RichText-Ausgabefeld komplett
unterdrücken möchte, wenn es keinen Inhalt hat.
Ich habe dafür in OnBeforePrint verschiedenes probiert, leider ohne den gewünschten Erfolg.
Ich habe:
Delphi-Quellcode:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  Beschreibung.Visible := not (<Positionsdaten."Beschreibung"> = null);
end;
probiert
und

Delphi-Quellcode:
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  Beschreibung.Visible := (<Positionsdaten."Beschreibung"> <> '');
end;

Leider bleibt im Ausdruck trotzdem eine Leerzeile, die ich gern weg hätte wenn "Beschreibung" leer ist.
Kann mir hier (schon wieder..) jemand helfen?
Gruß
Werner

Geändert von mkinzler (30. Nov 2015 um 10:34 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 28. Nov 2015, 20:59
Hi,

die Leerzeile kommt nicht vom RichView, sondern vom Masterband - das ist ja immer noch so groß.

Variante 1: Das Band einstellen, damit es selbst "streched"
Variante 2: Dem Masterband ein Childband hinzufügen und einstellen, und wenn das RichView leer ist, dann das Childband ausblenden.

Grüße
  Mit Zitat antworten Zitat
WernerHo

Registriert seit: 20. Mai 2014
13 Beiträge
 
#3

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 28. Nov 2015, 21:36
Hi Lemmy
Danke für den Tipp, nur: das habe ich beides schon versucht.
Das Problem noch weiter präzisiert:
Es gibt im Report im MasterData ein Feld für Artikelbezeichnung und win weiteres für Zusätzliche Beschreibungen/Texte aus freien Textfeldern.
Folgende Möglichkeiten:
- reines Textfeld * dann ist an der richtigen Stelle der Text
- reines Artikelfeld * dann ist an der richtigen Stelle die Artikelbezeichnung
- Beides, also Artikel mit zusätzlichem Text * dann liegen beide Text übereinander -.... blöd!
Ich habe der Artikelbez. eine feste Höhe zugewiesen und der Beschreibung die Höhe "0" an der Top-Position "0" mit der dehnen Funktion.
Dann werden aber beide Texte übereinander gedruckt.
Wenn ich die Beschreibung mit Höhe "0" unter das Artikelbez. Feld setze habe ich bei reinen
Textbeschreibungen eine "Leerzeile" über dem Text und das sieht komisch aus..
Eigentlich ein Luxusproblem, aber irgendwie muss es doch eigentlich machbar sein, oder?
Ich bin bei manchen Dingen eben ein kleiner Pedant....
  Mit Zitat antworten Zitat
WernerHo

Registriert seit: 20. Mai 2014
13 Beiträge
 
#4

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 29. Nov 2015, 11:30
Weitere Frage
gibt es generell eine Möglichkeit einen String-Inhalt in Fastreport abzufragen und mit "if then" zu verarbeiten.
In VBA gibt es da ja z.B.

Code:
if Bereich."string" = "" then ...
für die Bedingung, dass der Stringinhalt leer ist.

denn ich würde dann grundsätzlich gern noch ein paar andere Dinge in den Report einarbeiten.
Bin für jeden weiterführenden Tipp oder Link dankbar.
Gruß
Werner

Geändert von mkinzler (30. Nov 2015 um 10:35 Uhr) Grund: Code-Tag eingefügt
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 29. Nov 2015, 13:22
die beiden Texte: Da gibt es verschiedene Möglichkeiten, pack z.B: beide in ein frxMemo und wenn das erste Feld einen Inhalt hat, fügst Du mit einem IfThen ein #13#10 ein, ggf. Stretchmode,....


wegen deiner Bedingung: Jedes frxMemo hat eine "highlight" Option im Objektinspektor, schau dir das mal an. und den Rest: SChau dir die div. Demos beim FR an, da gibt es so manches was du dir vielleicht abschauen kannst.
  Mit Zitat antworten Zitat
WernerHo

Registriert seit: 20. Mai 2014
13 Beiträge
 
#6

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 29. Nov 2015, 19:06
Hi Lemmy
vielen Dank
ich werde mir das alles mal zu Gemüte führen, um zu sehen, ob ich das irgendwann begreife.
Ich stelle im Moment fest, dass ganz offensichtlich VBA und Pascal doch deutliche Untersciede haben.
Zunächst fange ich mal mit den FR-Demos an und werde mich mal in das Thema Stringverarbeitung in Pascal vertiefen.
Danke und einen schönen Restsonntag noch.
Gruß
Werner
  Mit Zitat antworten Zitat
WernerHo

Registriert seit: 20. Mai 2014
13 Beiträge
 
#7

AW: Fastreport 5.1.1: RichText nicht anzeigen, wenn leer

  Alt 30. Nov 2015, 16:28
Hallo zusammen
nur für den Fall, dass es jemanden interessiert (ich finde es immer gut, wenn ich in einem Thread am Ende eine Lösung lesen kann
und da nicht nur steht, ...hab's hinbekommen...
Also ich habe es jetzt ganz anders gelöst und nicht den Leertext ausgeblenddet sondern verändere die Zeilenposition der zweiten Textzeile:

if (Length(<Positionsdaten."artbez1">) <> 0)
then Beschreibung.Top := Beschreibung.Top + 1.6;

wobei ich nicht genau sagen kann was die "1.6" genau für eine Einheit ist, denn Pixel kann es ja nicht sein, aber es funktioniert.
Danke den "Mitlesern"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz