[Allegro] srch.job unter acon

Jörg Oberfell oberfell at wlb-stuttgart.de
Di Jul 8 15:35:40 CEST 2008


Lieber Herr Eversberg,
liebe Liste,

die neuen Möglichkeiten von acon, speziell unter Linux, finde ich sehr 
gut. Beim Testen des SRCH.JOB mit dem neuen acon sind mir allerdings ein 
paar Probleme und Fragen aufgefallen. Getestet habe ich die Beispiele 
nur unter Linux, ein Teil davon dürfte aber auch Windows-relevant sein 
(insb. Punkt 1 und 3).

Zunächst eine Kurzzusammenfassung:
1.) Vorsicht bei Verwendung von "-d xy" statt "-dxy".
2.) Kommentare in Befehlszeile mit var #uxy(b...)
3.) Problem bei read: #uod enthält nicht nur Dateiname, sondern auch 
Pfad, Pfad zusätzlich in #uoD
3a) Befehl T"/" schneidet zu wenig ab
4.) Frage zu read unter Linux-Avanti

Die Details:

1.) Für diejenigen, die Parameter mit Leerzeichen getrennt eingeben (z. 
B. "-d xy" statt "-dxy") sollte analog zum Einlesen der Parameter -e und 
-s in folgender Zeile noch ein f" " eingefügt werden:
   // Eingabedatei, Option -d<namensmuster>
   var #ucl(b" -d" f" " e" ")               // STATT   var #ucl(b" -d" e" ")


2.) Die Verwendung von Kommentaren mit "//" in solchen Zeilen scheint 
nicht möglich. Bsp.:
./acon -e irgendeinTeststring

var cl
ins #ucl
var #ucl(b" -e")                               // <-- gekuerzte Fassung 
mit Test-Kommentar
ins #uoe
write "Parameter -e = "  #uoe n

Ausgabe des Programms:
   Parameter -e = irgendeinTeststring//<--gav-x 
v28.5.10'allegro'-Demo-Datenbank


3.) In #uod steht/stehen die zu durchsuchenden Datei(en) einschließlich 
Pfad (stimmt das??), in #uoD nur der Pfad. Später wird vor dem 
read-Befehl der Dateiname aus #uoD und #uod zusammengesetzt, d. h. es 
wird versucht, aus Pfad\Pfad\Dateiname zu lesen. Korrekturvorschlag: Als 
letzte Befehle unter dem Win-/Unix-Bereich jeweils
   var #uod(T"\")
   ins #uod
bzw.
   var #uod(T"/")
   ins #uod
oder korrekterweise eigentlich (T"/" b"/"), s. Bemerkung 3a.


3a) Laut Handbuch 26, S. 197, sucht T"/" im Arbeitstext von rechts her 
das "/" und gibt den Rest des AT einschl. "/" zurück (Bsp.: abc/def/ghi 
--> /ghi). Beim Test

   var "abc/def/ghi"
   ins #uab
   var #uab(T"/")
   ins #uab
   write #uab n

erhält man aber   ghi   (ohne "/" !!!). Habe ich etwas falsch verstanden?


4.) Eine Frage zum Abschluss: Welche Varianten des read-Befehls 
funktionieren unter Linux-Avanti? Unter 
http://www.allegro-c.de/flex/flexikon.htm#xread sind leider keine roten 
Sternchen angegeben.
Im konkreten Fall liefert
   ./acon
   var "/wlb/avanti/databases/bfor/bfz1_0.bld"
   read
   if no write "NO" n
das Ergebnis NO. Muss ich die Kategorie mit angeben (d. h. -kb bei 
b.cfg) bzw. fehlt noch eine andere Angabe?

Viele Dank bereits im Voraus,
Jörg Oberfell


-- 
**********************************************************************
   Jörg Oberfell
   Württembergische Landesbibliothek
   - EDV-Abteilung -
   Konrad-Adenauer-Str. 8   D-70173 Stuttgart
   Postfach 105441          D-70047 Stuttgart
   Tel.: +49 (0)711 / 212 - 44 75
   Fax:  +49 (0)711 / 212 - 44 22
   Email: oberfell at wlb-stuttgart.de
**********************************************************************





Mehr Informationen über die Mailingliste Allegro