[Allegro] SRCH-Aufruf : Spatium im Suchbegriff oder in anderen Optionen
Bernhard Eversberg
ev at biblio.tu-bs.de
Mi Apr 15 08:39:48 CEST 2009
Wenig bekannt ist, daß man beim veralteten DOS-Programm SRCH.EXE
auch Spatien im Suchbegriff haben kann. In Kap.4.0 steht, daß
in der Datei S1.ASP diese Zeile vorkommt:
X Leerzeichen durch X ersetzen (hier 2 Spatien vor dem X)
die bewirkt, daß man also beim Aufruf zu geben hätte:
srch -f4 -d... -s"shakespeare,Xwilliam"
Was aber, wenn man eine -U-Option mitgeben will (s. Kap. 12), um
in den Exportparameter einen bestimmten Wert verfügbar zu haben,
und wenn dieser Wert seinerseits Spatien enthält?
Die -U-Option sieht ja so aus:
srch ... -UxyTEXT
damit steht dann innerhalb der Exportparameter das Feld #uxyTEXT
zur Verfügung.
Wenn nun der Text A B C lautet, was dann? Vielleicht -Uxy"A B C"?
Nein. Die Optionsauswertung ist eine systemische Sache, keine
allegro-proprietäre, und sie erwartet das " direkt hinter dem Options-
buchstaben. Man hat daher zu schreiben:
srch -f4 -s... -U"xyA B C"
so komisch das auch aussieht, aber es klappt. Auch mit PRESTO usw.
(Jaja, muß noch in Kap. 12 (h ac12) mit rein.)
Und bei SRCH.JOB? Wir erinnern: Mit SRCH.JOB kann man einen
konventionellen SRCH-Aufruf weitgehend mittels acon nachbilden.
(Siehe h acon )
Bisher wurde aber in SRCH.JOB keine Rücksicht auf Spatien im
Suchbegriff genommen. Jetzt haben wir es eingebaut, und zwar an
dieser Stelle:
// Suchbegriff fuer Befehl srx
var #ucl(b" -s" f" ")
// Achtung bei "..." (wenn Spatien im Suchbegr.)
if not ='"' var (e" ")
if ='"' var (1,0 e'"')
ins #u!!
Vorher stand da nur
// Suchbegriff fuer Befehl srx
var #ucl(b" -s" f" " e" ")
ins #u!!
Ein acon-Aufruf mit SRCH.JOB sieht dann so aus:
acon <srch.job -s"shakespeare, william" -ka -ddemo2\*.ald
Um die U-Optionen haben wir uns in SRCH.JOB aber nicht gekümmert. Die
bewirken nichts. Wenn Bedarf dafür artikuliert wird, dann muß das mal
auf den Zettel.
B.Eversberg
Mehr Informationen über die Mailingliste Allegro