'deposit' macht 'get'/'write'-Ablauf kaputt
Heinrich Allers
allers at t-online.de
So Feb 22 12:26:47 CET 2004
Nach einigen Mühen gelang es mir, das Problem auf folgende Flexdatei zu
reduzieren bzw. mit ihr unter Demo-Datenbank-Bedingungen reproduzierbar
zu machen (Wer keine Dateien d-xyz.apr, xyz.ein und xyz.aus in seinem
Programmverzeichnis hat, kann sie unbesorgt dort hineinkopieren und
arbeiten lassen):
var P "\\d-xyz.apr"\delete
var P "\\ein.xyz"\delete
var P "\\aus.xyz"\delete
var P "d-xyz.apr"\xport f
write "zl=0" n\write "#-a" n
write '#ux1 y0 ,"_XXNSZXX_XYZ"' n
write "#+#" n\write "td" n\write "td-rtf" n
write "to" n\close x
var P "ein.xyz"\xport f
write "Erste Zeile XXNSZXX" n
write "Zweite Zeile" n
close x\var P "aus.xyz"\xport f\var P "ein.xyz"
disp p d-xyz
open\if no mes ein.xyz gibt's nicht!
:lies
var "xxx"\get +\if cancel jump ende
ins #ux1
depos "a"\ins #ux1
var #ux1
write #ux1(b"xxx") n\jump lies
:ende\mes Fertig!\close\close x\end
So, wie die Flexdatei hier steht, also mit der Kommentarzeile
depos "a"\ins #ux1
macht sie genau das, was sie machen soll. Sobald ich aber diese Zeile
durch Änderung in
depos "a"\ins #ux1
operativ werden lasse, richtet sie Unheil an und zerstört das
Schleifenspiel von get und write, das aus der Datei ein.xyz die Datei
aus.xyz macht. Die Ausgabedatei aus.xyz sieht dann nämlich so verkorkst
aus:
Erste Zeile XYZ
\li0\fi0
Zweite Zeile
\li0\fi0
Die große Frage ist: Wie geraten die Zeilen "\li0\fi0" dort hinein???
Das ist doch ein Programmfehler, nicht wahr? Oder habe ich im Bereich
der Flexprogrammierung etwas übersehen?
Mit besten Grüßen
Heinrich Allers
-- allers at t-online.de * http://home.t-online.de/home/allers
-- Wieder einmal Kriegskonferenz in München /
-- Una vez más conferencia de guerra en Múnich:
-- http://home.t-online.de/home/allers/natomuen.htm
Mehr Informationen über die Mailingliste Allegro