Frage zu Interaktivit"at bei Flex-Abl"aufen

Heinrich Allers allers at t-online.de
Mo Okt 11 00:43:06 CEST 2004


Entweder läßt das, was ich suche, die Flexsprache nicht zu, oder ich 
habe in der Flexsprache die Elemente oder deren Kombination noch nicht 
gefunden, die das machen, was ich brauche.

Ich will mal 'n bißchen ausholen, um klarzumachen, was mir fehlt:

Eine Allegro-Grunddatei neu.alg möchte ich gegen eine Datenbank 
(cat*.ald) laufen lassen, um eine Art erweiterten Dublettenabgleichs 
durchzuführen, der in folgender Weise von einem strengen 
Dublettenabgleich abweicht:

a)
Es wird eine Aufnahme aus neu.alg hergenommen und in der Datenbank cat 
nachgeschaut: wenn ISBN in der Datenbank cat vorhanden, dann ist alles 
fertig, es liegt eine Dublette vor. (Das wäre der "strenge" 
Dublettenabgleich).

b)
Bei nicht existierender ISBN oder einer ISBN, die sich nicht in der 
Datenbank cat findet, soll unter allen Werken des Autors xyz (der 
Aufnahme aus neu.alg), die es in der Datenbank cat gibt, nach dem 
gesucht werden, das es zu dem Ausgangswerk aus neu.alg womöglich doch 
als Dublette in weiterem Sinne (als andere Auflage oder in anderem 
Verlag) gibt.

###

Klar, diese Aufweichung der Dublettenprüfung nach b) macht Interaktion 
mit dem Anwender nötig, das geht nicht maschinell.

Aber _wie_ kann diese Interaktion außerhalb der Maschine flexgestützt 
ablaufen?

Mir kommen drei Möglichkeiten in den Sinn:


aa)

Mit 

var "PER xyz?"\Find

wird ein Ergebnismengenfenster aufgeblättert und der Anwender kann 
gemütlich durchblättern, ob der Titel, der über neu.alg auf ihn kommt, 
in der Ergebnismengenkurzliste auftaucht.

Hilft aber nichts, weil mit "Find" die Abarbeitung der Flexdatei 
abgebrochen wird.  :-((


ab)

Mit 

var "PER xyz?"\choose

wird zwar ein Ergebnismengenfenster aufgeblättert, aber der Anwender 
kann dieses nicht so recht durchblättern, da die jeweils angesprochenen 
Titel _nicht angezeigt_ werden.

Hilft also auch nichts, obwohl mit "choose" die Abarbeitung der 
Flexdatei _nicht_ abgebrochen wird.


ac)

Ich ließ die sich bei 

var "PER xyz?"\find

('find' statt 'Find', d.h. die Flexdatei wird weiter abgearbeitet!) 
ergebende Ergebnismenge in eine rtf-Datei xyz.rtf schreiben, die ich im 
Anschluß mit

h xyz

anzeigen lasse, um dem Anwender die Möglichkeit zu geben, die Liste 
daraufhin zu sichten, ob der Ausgangstitel aus neu.alg des Autors xyz 
in anderer Ausgabe in der Datenbank cat sich befindet.

Aber auch hier lande ich in einer Sackgasse: die Abarbeitung der 
Flexdatei stoppt ja nicht mit 

h xyz

sondern wird fortgesetzt. Das heißt, um die Chance zur Durchsicht von 
und zum Blättern in xyz.rtf zu geben, muß ich dafür sorgen, daß nach 
dem Befehl

h xyz

die Abarbeitung der Flexdatei unter- oder abgebrochen wird.- Das heißt, 
letztlich lande ich da, wo ich schon bei Variante aa) steckengeblieben 
bin.

###

Ich hoffe, es ist klar geworden, wo ich das Problem sehe.

Um es noch deutlicher zu machen:

Wenn 'Find' nicht zum Abbruch der Flexdatei führen würde, wäre ich 
gerettet.

Ebenso, wenn nach 'choose' man in der Ergebnismenge blättern könnte und 
die Aufnahmen auch angezeigt sähe.

Ebenso, wenn man im Ablauf einer Flexdatei eine rtf-Datei anzeigen 
könnte und nicht gleichzeitig auf die Ebene der weiteren Abarbeitung 
der Flexdatei zurückgeworfen würde.

###

Kennt jemand einen Ausweg aus dieser Aporie?


Mit besten Grüßen:

Heinrich Allers

-- allers at t-online.de * http://www.allers.privat.t-online.de
-- Die Türkei? In die Europäische Union aufnehmen, jetzt!
-- ¿Turquía? ¡Integrar en la Unión Europea, ahoramismo!






Mehr Informationen über die Mailingliste Allegro