Textfarbe im RTF-Text ändern

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Textfarbe im RTF-Text ändern

Beitrag von denis robel »

Hallo,

ich habe hier folgendes Problem:

Im Artikelkundentext ist der Text im RTF-Format mit Schriftfarbe schwarz hinterlegt.
Diese Texte werden im Angebot/Auftrag, Rechnung usw. mit angedruckt und sollten da auch schwarz sein.

Nun möchte ich aber eine Preisliste drucken, in der aus "designtechnischen" Gründen die Schriftfarbe grau sein soll.

Nun kann ich im Reportobjekt die Schriftfarbe setzen, aber es wird immer die Schriftfarbe gedruckt, die im RTF des Artikelkundentext definiert ist, also schwarz und nicht grau. :cry:

Das Gleiche gilt übrigens auch für die Hintergrundfarbe (im RTF-Objekt des Reportes steuerbar, aber im BLOB-RTF immer weiß).

Nun meine Frage: Ist es möglich die Schriftfarbe von einem aus einem BLOB importierten RTF-Text im Report zu steuern?
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Hallo

... ausnahmsweise mal in einem anderen Thread :wink:
Mir würde spontan als Idee einfallen, den von der Query übernommenen Inhalt des BLOB's im entsprechenden Memo-Feld des Reports vorher nochmal zu bearbeiten. Man kann ja in den Memos nicht nur stumpf den Text / Inhalt des Datenbankfeldes übernehmen, sondern in vorher nochmal durch Scriptfunktionen jagen.
Der RTF-Code ist ja normalerweise im Klartext hinterlegt, sodaß man mit einer "ReplaceString" Funktion den Befehl der die Schriftfarbe auf schwarz setzt vor dem Drucken nochmal auf Blau umbiegt. Ich bin mir relativ sicher, daß es die Funktion gibt, aber ich kann jetzt gerade nicht nachschauen, wie sie genau hieß. Und alles im Kopf behalten, ist bei dem Umfang gerade des Reporteditors auch nicht drin ...
Ich hoffe, daß hilft so als erster Gedanke mal weiter ...

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo Michael,

ja hier der Thread ist etwas entspannter ;-) ..

Die Idee, den RTF-Code umzubiegen ist nicht schlecht ...

Ich werde aber erst einmal meinen Report grundlegend fertig stellen und mich dann um die Schriftfarbe kümmern.

Schöne Grüße aus dem sonnigen Leipzig


Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Warum die Farbe nicht im AvERP-internen Editor bei der Eingabe ändern???
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Re: Textfarbe im RTF-Text ändern

Beitrag von miboe »

Ich vermute mal deswegen ... 8)
denis robel hat geschrieben: Im Artikelkundentext ist der Text im RTF-Format mit Schriftfarbe schwarz hinterlegt.
Diese Texte werden im Angebot/Auftrag, Rechnung usw. mit angedruckt und sollten da auch schwarz sein.
Nun möchte ich aber eine Preisliste drucken, in der aus "designtechnischen" Gründen die Schriftfarbe grau sein soll.


Kann ich nachvollziehen, weil unsere User auch kaum daß sie verstanden hatten, was man mit dem Designer alles machen kann mit den z.T. exotischsten Ideen kamen. Einige waren sinnvoll, z.B. die Änderung der Schriftfarbe im Druck der Kommssionsliste wenn ein Artikel (noch) nicht auf Lager ist, die Materialvorbereitung aber anfangen soll. Und nein, ich habe es noch nicht umgesetzt aus Zeitgründen, werde mich also zu gegebener Zeit auch noch mit dem Thema auseinandersetzen müssen :)

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Ach so, hatten ich missverstanden.

Man könnte doch im Ausdruck eine zu 90% durchsichtige Textbox rüberlegen, dann wird es bestimmt auch grau gedruckt :)
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo,

also prinzipiell funktioniert es den RTF-Code mit der UDF-Funktion F_BLOBREPLACESTRING zu manipulieren.

für die Schriftgröße '\FS16' durch '\FS20' ersetzen und schon hat man alles was vorher im Text Schriftgröße 8 hatte nach Schriftgröße 10 umgewandelt.

Das würde auch für die Farben funktionieren, in dem man '\colortbl ;\red255\green0\blue0;' durch '\colortbl ;\red128\green128\blue128;' ersetzt

ABER: Blöderweise wird mit dem Delphi RTF-Editor kein Color-Table gesetzt, wenn vorher alles als Schwarz definiert war :-(

Also muss zum RTF-Manipulieren noch was besseres her ...


Schöne Grüße aus Leipzig

Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Hm ... wie wäre es dann, wenn man beim Erstellen des RTF in Averp für den Bereich mit der variablen Farbe eine "Dummy-Farbe" benutzt, die für das Auge wie schwarz aussieht? Also z.B. die '\colortbl ;\red1\green1\blue1;' Wenn das in einem Textbaustein ist, den die User nur weiterkopieren, sollte das eine brauchbare Lösung sein. Wenn es natürlich jedes Mal von Hand gemacht werden müßte ist das böse ...

Wenn es nicht nur einen Bereich sondern den ganzen Text im RTF anbelangt, könnte man die Modifikation vielleicht sogar für die User unsichtbar in einem der AFTER Trigger, laufen lassen. Also im AFTER INSERT und/oder im AFTER UPDATE. Letzteres als Sicherheit, daß der User den Farbdummy nicht platt gemacht hat. Die F_BLOB... kann man ja auch aus den Trigger aufrufen. Man müßte dann halt den Farbbefehl im RTF komplett ergänzen, also mit Beginn und Endemarkierung.

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
denis robel
Beiträge: 203
Registriert: Fr Jul 01, 2005 6:33 pm
Wohnort: Leipzig

Beitrag von denis robel »

Hallo,

ich habe das ganze nun so geregelt, das als Standard Schriftgröße 8pt und als Farbe Grau für den Kundentext benutzt werden soll.

Mit der Farbe grau als Artikelbeschreibung kann ich gut leben, im Angebot sieht es meiner Meinung nach sogar besser aus, denn dann tritt die eigentliche Artiklebezeichnung mehr in den Vordergrund.

Für die Preislisten lasse ich dann einfach die Schriftgröße, wie schon beschrieben, von 8pt auf 10pt gleich in meiner Prozedur "umschalten".

Aber eigentlich sollten solche Manipulationen durch Fastreport erledigt werden können ...

Denis
Schöne Grüße aus Leipzig

Denis

-
Linux - my life is too short for reboots
Antworten