[Allegro] Upload

Fischer, Thomas fischer at sub.uni-goettingen.de
Mi Okt 7 11:10:14 CEST 2015


> Am 06.10.2015 um 14:22 schrieb Bernhard Eversberg <b.eversberg at tu-braunschweig.de>:
>> Am 06.10.2015 um 13:58 schrieb Fischer, Thomas:
>>> Konkret erfolgte der "new"-Befehl innerhalb einer Schleife der Art
>>> first #
>>> if del jump weiter
>>> 
>>> :mainloop
>>>>>> new
>>>>>> :weiter
>>> next #
>>> if cancel jump fertig
>>> if del jump weiter
>>> if yes jump mainloop
>> und habe mir das noch einmal angeschaut: offenbar wird der neue Datensatz erzeugt und "hinten" angehängt, der wird aber auch gleichzeitig zum aktiven Satz, mit dem Effekt, dass dann die Schleife sofort zu Ende ist.
>> Ich könnte mir sonst nur vorstellen, dass man die Nummer des Satzes speichert und dann mit einer Variante von find xN dorthin zurückspringt. Spricht etwas dagegen dass das funktioniert?
> 
> Da spricht an sich nix gegen, aber die Datenbank wird ja dann immer länger
> mit jedem Satz, so daß "next #" nie an ein Ende kommt. Es sei denn, Sie
> nehmen zuerst mit  var t  die aktuelle Größe in eine Variable und
> vergleichen jedesmal mit dieser, um nicht ins Nirwana hinauszulaufen.
> Ihre Intention bei dieser Sache ist mir allerdings schleierhaft.

Es ging mir darum, in einer Datenbank Sätze mit Untersätzen zu bearbeiten: Einige Untersätze werden entfernt, und für Exemplarsätze mit abweichenden Signaturen wurden neue Datensätze angelegt, dazu wurde mit dem Job eine Art Hashtabelle aufgebaut (mit der FLEX-Sprache eher fummelig).
Die Standardmethode der Abarbeitung einer Datenbank (mit first # und next #) funktioniert dann eben nicht, wenn man mit new auf einem neuen Datensatz landet. Und falls so etwas mal jemand braucht wollte ich nur darauf hinweisen, dass es einerseits die Möglichkeit gibt, eine Ergebnismenge zu benutzen (wenn sie, wie in meinem Fall, leicht zu erzeugen ist) und man ansonsten sich die Satznummer zum Rücksprung merken muss – und dann natürlich prüfen muss, wann man das (ursprüngliche) Ende erreicht hat.
Bei mir würde allerdings auch das Erzeugen neuer Sätze automatisch aufhören, weil die neuen Sätze nicht selbst wieder zu Neusätzen führen würden.

Mit freundlichen Grüßen
Thomas Fischer

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 842 bytes
Beschreibung: Message signed with OpenPGP using GPGMail
URL         : <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20151007/53a5d807/attachment.sig>


Mehr Informationen über die Mailingliste Allegro