ReplaceText() - Mal funktionier's, mal nicht ...
Verfasst: Montag 20. Mai 2019, 10:52
Hallo,
schon mal von dem folgenden Phänomen gehört?
In einem Report gibt es das Richtext-Feld "rtGeborenAm". In diesem Feld ist standardmäßig ein Satz inkl. der Variablen $KonfDatum$ eingefügt.
Durch folgenden Befehl wird die Variable durch Text erstetzt:
rtGeborenAm.RichText := ReplaceText(rtGeborenAm.RichText, '$KonfDatum$', Lernabschnitte['Konferenzdatum']);
In einem zweiten Feld "rTxtGeborenAm" mit gleichem Inhalt ersetze ich die gleiche Variable mit folgendem Befehl:
rTxtGeborenAm.RichText := ReplaceText(rTxtGeborenAm.RichText, '$KonfDatum$', Lernabschnitte['Konferenzdatum']);
Jetzt will ich für mehrere Schüler drucken.
Phänomen bei Feld1: beim ersten Schüler wird die Variable durch das Konferenzdatum ersetzt (wie gewünscht). Bei den weiteren Schülern bleibt trotz unterschiedlichen Konferenzdatum der Wert gleich.
Feld2: da funktioniert es.
Schaue ich mir während der Vorschau den Inhalt der beiden Richtext-Felder an, so steht in Feld1 vor Ausdruck Schüler1 auch "$KonfDatum$" drin, vor Schüler2 aber das Konferenzdatum von Schüler1. Dann kann $KonfDatum$ ja auch nicht ersetzt werden - fehlt ja im Feldinhalt.
Bei Feld2 steht vor dem Ausdruck immer "$KonfDatum$ drin. Also kann es bei jedem Schüler ersetzt werden.
Beide Felder liegen im Detailbereich. Beide haben die gleiche Programmierung (eine Befehlszeile im OnPrint).
Im Anhang liegt der Report. Es wäre nett, falls sich das jemand mal ansehen könnte.
schon mal von dem folgenden Phänomen gehört?
In einem Report gibt es das Richtext-Feld "rtGeborenAm". In diesem Feld ist standardmäßig ein Satz inkl. der Variablen $KonfDatum$ eingefügt.
Durch folgenden Befehl wird die Variable durch Text erstetzt:
rtGeborenAm.RichText := ReplaceText(rtGeborenAm.RichText, '$KonfDatum$', Lernabschnitte['Konferenzdatum']);
In einem zweiten Feld "rTxtGeborenAm" mit gleichem Inhalt ersetze ich die gleiche Variable mit folgendem Befehl:
rTxtGeborenAm.RichText := ReplaceText(rTxtGeborenAm.RichText, '$KonfDatum$', Lernabschnitte['Konferenzdatum']);
Jetzt will ich für mehrere Schüler drucken.
Phänomen bei Feld1: beim ersten Schüler wird die Variable durch das Konferenzdatum ersetzt (wie gewünscht). Bei den weiteren Schülern bleibt trotz unterschiedlichen Konferenzdatum der Wert gleich.
Feld2: da funktioniert es.
Schaue ich mir während der Vorschau den Inhalt der beiden Richtext-Felder an, so steht in Feld1 vor Ausdruck Schüler1 auch "$KonfDatum$" drin, vor Schüler2 aber das Konferenzdatum von Schüler1. Dann kann $KonfDatum$ ja auch nicht ersetzt werden - fehlt ja im Feldinhalt.
Bei Feld2 steht vor dem Ausdruck immer "$KonfDatum$ drin. Also kann es bei jedem Schüler ersetzt werden.
Beide Felder liegen im Detailbereich. Beide haben die gleiche Programmierung (eine Befehlszeile im OnPrint).
Im Anhang liegt der Report. Es wäre nett, falls sich das jemand mal ansehen könnte.