Vb.93: PV-Verbesserungen

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Mo Jun 2 09:20:20 CEST 1997


Verlautbarung 93 der Entwicklungsabteilung                        970521
------------------------------------------

Verfeinerungen im Editing-Bereich
---------------------------------

Waehrend einer bibliothekartags- und urlaubsbedingten Denkpause (zum,
nicht vom Denken) konnten einige Probleme und Problemchen geloest werden, 
fuer die sonst die Musse fehlte. 
(Das Wort "Musse" ist offensichtlich ein Beispiel, warum die
Abschaffung des scharfen s ein unbedachter Akt waere. Noch schlimmer
freilich das "in Massen" getrunkene Bier, wo die Aussageabsicht ja
geradezu in ihr Gegenteil verkehrt wird. Die Schweizer leben damit,
gewiss, doch die trinken nicht in Massen und goennen sich keine Musse.
Aber das nur am Rande. Zur Sache jetzt:) 

Erweiterte PV-Methoden
----------------------

Von den Vorschlaegen, die Frau Koczian und Herr Berger zu machen wussten,
konnten einige in die Tat umgesetzt werden. Allerdings:
Ein flexibel programmierbares und zuverlaessig arbeitendes Teilfeld-Prompting,
das genau die erwarteten Dinge tut, konnte nicht eingerichtet werden.
Aber einige andere Erweiterungen gibt es jetzt:

Der Hilfsabschnitt H in der Index-Parameterdatei wird jetzt nicht mehr
nur NACH Einordnen einer Kategorie angesprungen, sondern auch noch in
anderen Faellen:
Damit man die Faelle auseinanderhalten kann, ist dann jeweils die Sonder-
Kategorie #u2 mit einem speziellen Wert belegt.


0. Eingabe stammt aus Abfrageliste, d.h. Ausfuehrung 
   direkt nach [Enter], also BEVOR die Kategorie im Arbeitsspeicher in
   den aktuellen Datensatz eingeordnet wird.
   #u2 = 0,  in diesem Fall ist:
   #u1 = Eingegebene Kategorie, incl. Nummer
         also z.B.  #u1 #40 Name, Vorname

1. Eingabe stammt aus Direkteingabe (am Promptzeichen)
   #u2 = 1, ansonsten wie 0

2. Eingabe stammt aus Bearbeitungsfenster (Befehl #b)
   #u2 = 2, ansonsten wie 0
  
3. Sofort nach Beendigung der Abfrageliste (Beantwortung der letzten Frage)
   #u2 = e

4. Vor dem Speichern (F10 oder #rj)
   #u2 = s

Damit hat man nun einige zusaetzliche Moeglichkeiten, die eingegebenen
Daten zu pruefen, zu manipulieren und Fehlerausschriften zu produzieren.

Folgende Einzelheiten sind zu beachten:

Faelle 0,1,2
   Die Kategorie ist zu diesem Zeitpunkt noch nicht im Aufnahmespeicher.
   Wenn sie dort mit einer Veraenderung landen soll, muss man im Hilfs-
   abschnitt einen output produzieren, der dann als Kategorie ueber-
   nommen wird, anstelle der Eingabe. Dieser output muss die Kategorienummer
   mit enthalten! Also kann man auch eine andere Kategorienummer einsetzen,
   wenn das so gewuenscht wird.
   ACHTUNG: mit extrem langen Kategorien kann man das nicht machen; die
   Grenze fuer den output liegt bei 300 Zeichen.
   Wenn man keinen output produziert, oder kein Hilfsabschnitt vorhanden ist, 
   wird die Kategorie unveraendert uebernommen (auch wenn sie sehr lang ist).

Fall e
   geeignet, um fehlende Kategorien zu entdecken. Z.B. kann man eine
   fehlende Kategorie dann mit einer Standardangabe belegen. Oder mit "????",
   das wird dann gleich anschliessend sichtbar, da ja der Satz nach Schluss
   der Abfrageliste in Kategorieform angezeigt wird.

Faelle e und s
   Wenn man in diesen Faellen einen output produziert, wird er
   als Fehlermeldung angezeigt. Im Falle  s  wird das Speichern nicht
   ausgefuehrt, denn ein Fehler wird i.a. erst korrigiert werden sollen,
   bevor man speichert. Hier koennen also fehlende Kategorien oder
   Teilfelder angemahnt werden. Natuerlich kann man fuer beide Faelle
   denselben Abschnitt abarbeiten lassen.

Die bisherige PV-Methodik bleibt unberuehrt. Sie reagiert auf Kategorien,
die soeben bereits in den Aufnahmespeicher eingeordnet WURDEN. 
Soll beides kombiniert werden, beginnt der Hilfsabschnitt am besten so:

H    Hilfsabschnitt
     Ausfuehrung erfolgt, nachdem 
     - Abfrage beantwortet wurde (dann ist #u2 belegt), und nachdem
     - eingegebene Kategorie eingemischt wurde (#u2 nicht belegt)

#u2 +0 c"0" e0     Abfragezeile wurde beantwortet (Text ist in #u1)
#u2 +1 c"1" e0     Neue Kat. wurde eingegeben (Text ist in #u1)
#u2 +2 c"2" e0     Kat. wurde mit #b bearbeitet (Text ist in #u1)
#u2 +e c"e" e0     Abfrageliste ist zu Ende
#u2 +s c"s" e0     F10 wurde gegeben
  ... bisheriger PV-Abschnitt (#u2 nicht belegt), oder aber
 #+-   wenn NACH dem Einordnen der Kategorie keine Pruefung mehr folgen soll

#+#
#-0   Abschnitt fuer Fall 0
...   Vermutlich wird man meistens auch in den Faellen 1 und 2 nach #-0
      verzweigen, statt dafuer getrennte Behandlungen vorzusehen!

Empfehlung:
Wenn die bisherigen PV-Methoden ausreichen, setzt man am besten am Anfang
des Hilfsabschnitts zur Sicherheit den Befehl
#u2 +- e0
ein. Dann braucht weiter nichts geaendert zu werden.

Zur Erinnerung: die Sprungmarken im Hilfsabschnitt sind unabhaengig von
denen im Hauptteil, d.h. man braucht auf letztere keine Ruecksicht zu nehmen,
aber die Teile des Hilfsabschnitts koennen nicht vom Hauptteil aus
angesprungen werden (ist auch nicht noetig).


Kleinigkeiten
-------------
Auch kleinere Unerfreulichkeiten sollen fuer die definitive V15 endlich
einmal ausgerottet werden.

a)
Ein sehr selten auftretender Fehler: wenn man waehrend der Abfrage
mit dem Cursor nach oben geht und eine der schon eingegebenen 
Kategorien loescht, dann Enter drueckt, kann es nachfolgend zu einem
ploetzlichen "Wegrutschen" des gesamten Bildschirms nach oben kommen.
Das Programm ist dann in einer Endlos-Schleife, welche nur noch durch 
Warmstart zu beenden ist. Auch dieses Problem konnte beseitigt werden.

b)
Wenn eine Kategorie neu eingegeben wird, verschwindet eine schon vorhandene
mit gleicher Nummer, d.h. sie wird ueberschrieben. Einerseits sehr bequem,
andererseits manchmal unerwuenscht, z.B. wenn man irrtuemlich die
falsche Nummer gegeben hat. Nun wird die bereits vorhandene Kategorie vor 
dem Ueberschreiben in den Hintergrundspeicher kopiert. Mit #a kann man sie 
also wieder sichtbar machen und zurueckholen.

c)
Noch immer konnte man eine Kategorie dadurch loeschen, dass man schlicht
nur die Kategorienummer eingab, ohne Text. Genauer gesagt, das ging noch bei
den Kategorienummern ohne Wiederholungszeichen, also z.B. #31, aber nicht
#31a oder #31p etc. Dies wurde jetzt behoben. Loeschen ist jetzt nur noch
mit #v moeglich, und beim Fenster-Editor (#b) dadurch, dass man den
gesamten Text loescht, die Kategorienummer aber stehenlaesst.


Bereitstellung:
Zunaechst ist PRESTO.LZH bereitgestellt. Wenn weitere Tests abgeschlossen
sind, folgen ALFA, REF, MENUED.

MfG  B.E.





Mehr Informationen über die Mailingliste Allegro