Eine Frage zu find-Befehl innerhalb von "off-Schleife"

Allers Heinrich allers at goethe.de
Mo Feb 9 10:56:41 CET 2004


Liebe Kolleginnen und Kollegen:


   ich habe folgendes Problem: eine Offline-Datei xyz.alg wird gelesen und im Verlauf einer Schleife Satz für Satz abgearbeitet. Im Verlauf dieser Abarbeitung erfolgt ein find-Befehl, der einen Datenbank-Satz aktuell werden läßt.

Danach, im gleichen Schleifendurchlauf, möchte ich den ursprünglichen Satz der Offline-Datei wieder aktuell werden lassen: Wie geht das?

Skizzierung des Ablaufes in Form einer Flexdatei:



read file xyz.alg\first off 
:naechsta
   Satz nn der Offline-Datei ist aktuell
...
var "|6 " #uxy\find\if empty jump naechste
   Gefundener Satz ist aktuell
...
...
  Wie komme ich hier zurück zum Satz nn der Offline-Datei? 
...
:naechste
next off\if no jump ende\jump naechsta
:ende



Ich dachte zunächst, mit 'close res' könne man den durch das find-Kommando gefundenen Datensatz wegwerfen und den alten Satz der Offline-Datei wieder aktuell werden lassen. Aber das geht meinem Eindruck nach nicht.

Was für den ersten Datensatz und alle folgenden, nicht aber für den allerletzten Datensatz der Offline-Datei funktioniert, ist folgender Trick zur Rückkehr zum letztgegriffenen Datensatz der Offline-Datei:



next off\if no jump offende
prev off\if no jump offanfang
jump weiter
:offanfang
first off\jump weiter
:offende
last off
:weiter


Der Trick besteht also darin, zu befehlen: "Greif den nächsten Satz und gehe dann zum vorigen!" Wobei man für den allerersten und allerletzten Satz besondere Vorkehrungen treffen muß, die, so scheinen mir meine Beobachtungen zu zeigen, durchaus für den allerersten, nicht aber für den allerletzten Satz erfolgreich sind. 

Hier reduziert sich meine Frage also auf das Detail, wie es angestellt werden kann, den allerletzten Datensatz der Offline-Datei nach dem find-Befehl wieder aktuell werden zu lassen. 

Theoretisch sollte es doch so gehen, wie hier aufgeschrieben, nicht wahr? Aber praktisch funktioniert es halt nicht.  :-((


Mit besten Grüßen:

Heinrich Allers

Goethe-Institut, Ber. 532/EDV * Dachauer Str. 122 * D-80637 München
Telephon: ++89 / 15921 471 * Telefax: ++89 / 15921 435    
allers at goethe.de * http://home.t-online.de/home/allers
* Für eine nachhaltige Wirtschaftsordnung an Stelle der Marktwirtschaft!
* ¡En favor de una economía sostenible en lugar de la economía de mercado!




Mehr Informationen über die Mailingliste Allegro