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