[Allegro] a99 und Ergebnismengen

Thomas Berger ThB at Gymel.com
Di Nov 14 08:27:29 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Allers, liebe Liste,


>> a) close res erzeugt eine neue Ergebnismenge, 
> 
> Nein; schließt die aktuelle und beseitigt sie.
> 
>> zerstoert aber u.U. eine alte 
> 
> Nicht nur u.U., sondern immer.  

"zuletzt Bearbeitete Saetze" wird nicht geloescht


>> b) find #nnn erzeugt keine Ergebnismenge 
> 
> Stimmt! Das steht aber in der Dokumentation zum 
> find-Befehl auch so drin!  
> 
> Auch die Lösung ist dort zu finden: Um z.B. den Satz 
> mit der internen Satznummer 26 zu einer 
> Ergebnismenge werden zu lassen, müßte man
> 
> find #26\var "or #" i\find  
> 
> schreiben.  

das ist dann nur eine noch obskurere Variante meiner Loesung e)


>> d) Indirekter find :0\find -:0 erzeugt normalerweise eine leere
>> Ergebnismenge,  
> 
> Nee: 'find :0' macht nach meinen Beobachtungen 
> das, was es soll. Auch 'find -'  
> 
> Aber was soll 'find -:0' machen? Ich habe das auf den 
> ersten Blick in der Dokumentation nicht gefunden.  

Da hatte ich mich auf hoeherer Ebene vertippt:
":" bezieht sich auf benannte Ergebnismengen, "0" hingegen
ist der Sonderfall des Bezugs per Nummer, gemeint war
(also ueberall "s" statt ":"):

find s0\find -s0



>> e) find or #1,2\close res [sic!] bildet garantiert eine neue
>> Ergebnismenge (sofern die Datenbank die Satznummern 1 und 2 hat) 
> 
> Ja; das ist doch schon mal etwas!
> 
>> und ersetzt sie anschliessend durch eine leere 
> 
> Wie meinen Sie das? Wenn die neue Ergebnis da ist, 
> dann kann sie doch nicht einfach verschwinden!? 

find or #1,2

erzeugt eine zweielementige Ergebnismenge

> Oder anders gefragt: Welches ist der Prozeß, der die 
> gerade neu gebildete Ergebnismenge wieder 
> verschwinden läßt?

close res

kann man auf zwei Arten sehen:
die aktuelle Ergebnismenge wird geleert

oder

die aktuelle Ergebnismenge wird geloescht und durch eine neue leere
ersetzt.

Weil in der Ergebnismengendarstellung die letzte Ergebnismenge
verschwindet (aber *dort* keine neue gezeigt wird), sind beide
Interpretrationen nur eine Approximation an die magische a99-
Wirklichkeit, m.E. kommt die zweite dem, was wirklich passiert
und zu beachten ist naeher.


>> Problem 2: Dazunehmen des aktuellen Datensatzes zur aktuellen
>> Ergebnismenge mit "find /" erzeugt eine neue Ergebnismenge. 
> 
> Stimmt.
> 
>> Ich habe dann schnell einen ganzen Zoo von Ergebnismengen erzeugt
> 
>> erzeugt /
>> erzeugt / /
>> erzeugt / / / ... 
>> die ich bis auf die jeweils letzte alle nicht gebrauchen, aber auch
>> nicht loswerden kann. 
> 
> Ja; aber dann kann man doch der letzten einen 
> Namen geben und den Rest, die Ergebnismengen 
> ohne Namen, alle (rekursiv) löschen!?

Abgesehen davon, dass der Flex dann noch eine Buchhaltung
benoetigt darueber, wieviele Ergebnismengen welchen Namens
zu loeschen waeren, gibt es (vgl. mein Problem 3) keine
mir bekannte Moeglichkeit, programmatisch Ergebnismengen
zu loeschen, ausser eben der jeweils letzten definierten.

viele Gruesse
Thomas Berger



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFWW/hhKFJT0F1FsoRAgUFAJ9bTlUSBP3Ye7bl8ATpfT7Ja8FLLwCfZGI3
qu0TS2/MfUPCb2zlrDeAGys=
=p3dJ
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro