[Allegro] Diverse Bemerkungen (PROTOQ etc.)
Thomas Fischer
fischer at mail.sub.uni-goettingen.de
Mo Jul 30 17:43:53 CEST 2007
Liebe KollegInnen,
bei meinen Indextests bin ich entlang des Weges auf ein paar Kleinigkeiten
gestoßen:
1. Ich bekomme eine mir unverständliche Meldung in PROTOQ:
Ladefehler 58 in Reg. f2, fehlerhafter Schlüssel =><,
Satz#=1287 (voriger=>00079999<, Satz#=7332
Was soll ich tun?
(Mit F7 wird für Satz#=1287 kein Fehler gemeldet.)
Was ist "Ladefehler 58", und wo kann ich das nachschlagen?
2. Warum kommt PROTOQ eigentlich in so einem seltsamen Format daher:
Zeilenwechsel teils Unix, teils Windows, auch mal LF CR, viele Leerzeilen,
unnötiges ASCII 0 am Ende?
3. In PROTOQ stehen zwei Zeilen:
INDEX f2 enthält 7918 Einträge
INDEX f2 enthält 787416 Einträge
Ich vermute, dass die erste Zeile vom ersten Durchlauf stammt, aber ist das
sinnvoll?
4. Meine Indexanzeige fällt manchmal aus und meldet nur noch:
---------------------------
a99
---------------------------
Sorry, set is too large
---------------------------
OK
-------------------------
Normalerweise hilft dann Registerwechsel.
5. Der "Trick 47: Längsten/kürzesten Satz finden" liefert bei mir:
---------------------------
a99 [lang.flx]
---------------------------
Laengster Satz : , Laenge 25018Kuerzester Satz : , Laenge 0
---------------------------
OK
---------------------------
wenn ich den Flex-Vorschlag in eine Datei lang.flx schreibe.
Ich denke, dass das daran liegt dass
- var "Laengster Satz : " #uis ", Laenge " #ulg
eine nicht belegte Variable #uis benutzt (statt #uil),
- die Variable für die Länge des kürzesten Satzes mit
0 initiiert wird und nichts kürzeres auftritt,
- außerdem var jb noch ein Mal aufgerufen werden muss, wenn
ein größerer Satz gefunden wurde.
(Nebenbei: der Standard CMD-C für's kopieren geht bei Janas nicht.)
Ich hänge unten meine Version an.
Mit freundlichen Grüßen
Thomas Fischer
_______________
lang.flx:
#ulg 0
#uks 10000
first #
:loop
keycheck
Wurde [Esc] gedrückt?
Wenn ja und Nachfrage mit ja beantwortet, dann -> :exit
if yes jump exit
var jb
if >#ulg ins #ulg;var i;ins #uil;var jb
if <#uks ins #uks;var i;ins #uik
next #
if yes jump loop
:exit
Ende, jetzt den Satz noch zeigen
var "#" #uil
find
sho rec
disp
und Meldung:
var "Laengster Satz: " #uil ", Laenge " #ulg
var + 13 10 "Kuerzester Satz: " #uik ", Laenge " #uks
message
Mehr Informationen über die Mailingliste Allegro