Seite 1 von 2

DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 17:26
von anna.linnhoff
Hallo zusammen,
wie kann ich bei einem DB Memo den Text durchstreichen, wenn in einem anderen Feld ein bestimmter Wert steht? Also, wie kann ich das unter den Berechnungen programmieren? Hat jemand eine Lösung dafür?

Viele Grüße
Anna Linnhoff

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 17:35
von Gerhards
Hallo,
wenn Sie den Report anhängen und die Stelle benennen, kann man sich das genauer ansehen.

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 17:59
von D.Jakel
Guten Tag, es gab da doch die Eigenschaft "strikeout":
viewtopic.php?f=16&t=4075&p=23673&hilit ... out#p23673
Hatte das nicht geklappt? Statt LAbelXY steht da dann wohl "memo1"

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 18:01
von anna.linnhoff
Hallo Herr Gerhards,
vielen Dank für die schnelle Antwort.
Ich möchte in der Zeile, in der der Report jetzt "blabla + Zeugnisbezeichnung" berechnen würde, gerne die Zeugnisbezeichnung durchgestrichen haben. Oder muss ich das gar nicht im DB Memo selbst programmieren, sondern in den Details?
Screenshot der Stelle und Report sind angehangen.

Viele Grüße
Anna Linnhoff
EQJ-2016- BS(Anl A1.7).rtm
(78.74 KiB) 27-mal heruntergeladen
Programmierung DBMemo.PNG
Programmierung DBMemo.PNG (66.06 KiB) 662 mal betrachtet

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 18:08
von D.Jakel
:shock: Ich sehe soeben an Ihrem Beispiel, dass das sogar noch spezifisch für Teile des Textes sein soll, oh je, da bin ich raus. Ich könnte mir aber vorstellen, dass man dann zwei Felder braucht, die formatiert werden und je nach Bedingung noch zusätzlich eingeblendet werden.

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 18:17
von Gerhards
Hallo,
in der Tat sehe ich das genauso wie Herr Jakel: Da müssten vermutlich im Report zwei Felder definiert werden.

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 19:16
von anna.linnhoff
Hallo,
eigentlich nicht. Wenn ich das mit einem DBText mache, ist es ganz einfach:
DBText8.Font.StrikeOut:=BKAbschlussFaecher_BUE['NoteAbschlussBA']= 'NE'
in den Details programmiert und es funktioniert wunderbar. Das liegt an diesem verflixten DBMemo. Da geht das irgendwie nicht.
Bzw. ich weiß nicht an welcher Stelle ich das Font.StrikeOut einfügen soll.

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 19:48
von D.Jakel
Ich würde anstelle von DBtext8. eben DBMemo4. einsetzen. Allerdings würde ich erwarten, dass dann der komplette Text gestrichen wird. Es kann aber auch sein, dass Memo-Felder diese Eigenschaft nicht haben. Das weiß vielleicht Herr Sprung.
Muss es denn ein Memo-Feld sein?

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 19:57
von Gerhards
Hallo,
ich habe hier keine entsprechenden Testdaten und kann das daher nicht vernünftig testen, aber evtl. funktioniert so etwas in der Art:

Code: Alles auswählen

procedure DBMemo4OnGetMemo (Line: TStrings);
begin
   DBMemo4.Lines.Text:=BKBerufsuebergreifend['Zeugnisbezeichnung']; 
    if BKBerufsuebergreifend['Notenkrz'] = 'NE' then DBMemo4.Lines.Text:=BKBerufsuebergreifend['Zeugnisbezeichnung'];
    if BKBerufsuebergreifend['Notenkrz'] <> 'NE' then DBMemo4.Font.StrikeOut:=BKBerufsuebergreifend['Zeugnisbezeichnung'];
end;
Da ich nicht am BK bin, kann ich die Logik nicht nachvollziehen, daher muss man daran sicher noch feilen, aber m. E. gibt es die Eigenschaften, wenn ich mir das links im Container unten ansehe (unter Text > Font > Style > fsStrikeOut). Die Syntax scheint jedenfalls ok zu sein.

Re: DBMemo Text durchstreichen

Verfasst: Mittwoch 1. Juni 2022, 20:15
von A. Schüller
Klappt das vielleicht:

DBMemo4.Font.StrikeOut:=true; ?

Nach dem Befehl mit DBMemo4.Lines.Text:='blabla....