[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