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