Die TIM-Webseite

paclogo.gif

against software patents!

Viewable With Any Browser

Code changes

Neuer Eintrag inputFilter in DRV-Dateien

Beim Generieren von RTF-Dateien von einer Vorlage ergab sich jetzt erstmals ein ähnliches Problem wie das, was auch schon beim Generieren von XML-Dokumenten aufgetreten war: die mit [=expr] eingebetten Clipper-Ausdrücke durften bisher weder "{" noch "}" enthalten, weil diese beiden Zeichen in RTF Sonderbedutung haben und deshalb als \{ bzw \{ in der RTF-Datei stehen.

Bevor der Clipper-Ausdruck ausgewertet wird,muss er konvertiert werden, sonst gibt es einen Syntaxfehler.

Bisher (beim Parsen von XML-Dateien) rief ich irgendwo vor dem fparse() ein SetXmlInput(.t.). Ab diesem Moment konvertierte xparse() dann den Clipper-Ausdruck, indem es ungefähr folgendes machte:

cExpr := strtran(cExpr,""",'"')

Dieses Verhalten wurde dann bisher nach dem Parsen der XML-Datei übrigens nicht rückgängig gemacht.

Statt dieses System für RTF zu kopieren, ersetze ich es durch folgendes neue System:

Zwei neue Funktionen rtf2dos(x) und xml2dos(x), die die eigentliche Konvertierung erledigen, und ein neuer Eintrag inputFilter für Druckertreiber.

In der XML.DRV wird er wie folgt benutzt:

inputFilter {|x|xml2dos(x)}

Und in der RTF.DRV wie folgt:

inputFilter {|x|rtf2dos(x)}

Geschrieben am 29.11.2007 um 11:01.