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.
Copyright 2001-2010 Luc Saffre.
http://tim.saffre-rumma.net
Generated 2010-12-19 01:02:49