[Allegro] f1nd
Hilger Weisweiler
hilger.weisweiler at ub.uni-tuebingen.de
Do Mär 10 10:33:12 CET 2005
Liebe Kolleginnen und Kollegen,
mit untenstehendem Flex moechte ich unsere Datenbank auf fehlende
Schlagwortstammsaetze durchsuchen. Dazu soll der Flex eine vom
Anzeigeparameter uebergebene Variable (#ugc) Stueck fuer Stueck in
einer Schleife abarbeiten. Mit "f1nd" soll er den jeweils
zugehoerigen Stammsatz finden. Wenn er keinen Stammsatz findet, soll
er den Text exportieren, nach dem jeweils gesucht wurde (die ad hoc
gebildete Variable #ugd).
Die Sache funktioniert dann einwandfrei, wenn der Flex direkt beim
ersten Durchlauf durch die Schleife das Fehlen eines Stammsatzes
bemerkt. Fehlt jedoch der Stammsatz zum ersten Glied der Variable
#ugc NICHT, so funktioniert die Sache auch fuer die weiteren Glieder
nicht: Das Fehlen des Stammsatzes wird dann NICHT bemerkt, es wird
nichts ausgegeben.
Das schrittweise Kappen der Variable und der Ruecksprung
funktionieren einwandfrei, was ich mittels der eingerueckten Passagen
getestet habe. Die Sache haengt also "irgendwie" an der Verwendung
von "f1nd". Kann mir jemand sagen, wo mein Denkfehler liegt?
Dankbar fuer Hinweise, gruesst
H. Weisweiler
---------------------
NOREFREC.FLX
Findet Schlagwoerter, zu denen kein Stammsatz existiert
H. Weisweiler: 07.03.2005
Letzte Aenderung: 09.03.2005
var ""
ins #ugd
var D
if "~t:" jump nixda
disp p d-wnoref
var M "sauber.bat"
xport f
write "if exist c:\\temp\\test.txt del c:\\temp\\test.txt" n "exit"
call
var "+C:\\TEMP\\TEST.TXT"
ins #uef
ask Buchstabe?=a
ascii
if "" end
if c end
ins #ult
var "swk " #ult "? not (typ schlagwort or notation or internet?)"
find
order 0
var last
Z=
ins #utn
var #utn " Datenstze werden geprft. - Weiter?"
ansi
yesno
if no end
if c end
first
deposit
:nochmal
var "Weiter?"
yesno
if no end
if c end
var #ugc(e"$")
ins #ugd
var #ugd(e";")
ins #ugd
var "swk '" #ugd " *'?"
f1nd
var "Weiter?"
yesno
if no end
if c end
if not #700 jump export
jump weiter
:export
var #uef
open x
var #ugd
ansi
write
var " * " n
write
:weiter
var #ugc(b"$")
ins #ugc
var #ugc
ansi
sho iV
var "Weiter?"
yesno
if no end
if c end
if not #ugc jump naechster
jump nochmal
:naechster
next
if no jump erledigt
deposit
jump nochmal
:erledigt
var "C:/TEMP/TEST.TXT"
fsize
if no jump keininhalt
var M "anzeige.bat"
xport f
write "start wordpad.exe " M "test.txt"
Call
:keininhalt
exec recdisp.flx
end
:nixda
mes Auf der Originaldatenbank? Sie sind ja wohl nicht zu retten!
end
---------------------
---------------------------------------------------
Dr. Hilger Weisweiler
Leiter der Theologischen Abteilung
Universitaetsbibliothek Tuebingen
Tel. +49 (0)7071/297 2835
Mehr Informationen über die Mailingliste Allegro