Online-Zugriff aus Offline-Datei-Abarbeitung heraus
Heinrich Allers
allers at t-online.de
Mi Okt 23 15:59:56 CEST 2002
Ich frug:
> Wie erreiche ich, daß meine Online-Operationen auf der
> Datenbank nicht zugleich
> meine Offline-Datei länger werden lassen?
und B. Eversberg half weiter:
> Das kann man nicht erreichen, das ist eben so.
> Abhilfe: im FLEX nach "next off" erst mal pruefen, ob es ein
> Offline Satz ist:
> var i
> if ="0" jump exit
> denn der geaenderte Satz kommt ja am Ende der Datei, hinter
> dem letzten offline-
> Satz. Die offline-Saetze liefern alle 0 als Wert bei var i.
Danke, so geht's! Ich habe diesen Hinweis in meine spezielle Anwendung
eingebaut, die nun so aussieht:
erase off
read file x12.alg
xport f x13.alg
xport p i-1
first off\if no jump weiter
:naechst
disp
[Hier wird mit 'find ...' ein Satz online gegriffen,
geändert und mit 'put' zurückgeschrieben]
//Die nächste etwas suspekte Zeile dient dazu, den gerade
//in Arbeit befindlichen Satz der Offline-Datei, der durch
//das Lesen und Zurückschreiben eines Online-Satzes
//in den Hintergrund gedrängt ist, wieder zum _aktuellen_
//Satz werden zu lassen (um ihn anschließend herunterzuladen):
next off\prev off
dow
next off\if no jump weiter
//Ist's ein echter Offline-Satz?:
var i\if "0" jump naechst
:weiter
close x
end
Nachdem die eine Klippe umschifft war, tat sich aber gleich das nächste
Hindernis auf, nämlich das Anschlußproblem, wie man in der Folge der
Abarbeitung der Sätze einer Offline-Datei wieder an die gleiche Stelle
zurückkehren kann:
Mir fiel nichts Eleganteres als diese komisch anmutende Zeile
next off\prev off
an entsprechender Stelle (siehe oben) ein, die aber funktioniert - und
nur deswegen beim Erreichen des letzten Satzes der Offline-Datei nicht
scheitert, weil diese inzwischen schon durch online erfolgte
Manipulationen länger geworden ist. :-))
Frage:
Müßte nicht über 'first off', 'next off', 'prev off' und 'last off'
hinaus ein weiterer Befehl geschaffen werden, der 'actu off' heißen und
so beschrieben werden könnte: "Mach denjenigen Satz der Offline-Datei
zum aktuellen, der an derjenigen Stelle der Offline-Datei steht, an der
Du vor dem Übergang zu anderen Operationen gerade gestanden hast"?
Mit besten Grüßen:
Heinrich Allers
Mehr Informationen über die Mailingliste Allegro