WordPerfect 5.1-Datei PostScript-Datei

allegro-C Logo

allegro news Nr.47

Ausgabe 97/3, 22. Juli 1997
Diese Ausgabe hat 12 Seiten

Universitätsbibliothek der Technischen Universität Braunschweig, Pockelsstr. 13, D-38106 Braunschweig, Tel. (0531) 391-5011, -5026, FAX -5836


www.biblio.tu-bs.de/allegro/

Show me the gates to the Promised Land
or at least the windows to view it!
Where are we led
on the road ahead?
And what if too many lights are red?
Before we do it, better we knew it ...

Grüne Welle für Pragmatismus

V15 - wieder nur ein Meilenstein oder eine Zäsur, Gipfel- oder Wendepunkt, nur eine weitere Zwischen- oder doch die Endstation? Nun, die liegt noch immer in einiger Ferne, aber die Richtung ist jetzt immerhin bekannt, deshalb konnte endlich die voraussichtlich günstigste Fahrtroute abgesteckt werden. Das Warten auf "die Windows-Version" dauert ja schon geraume Zeit. Das ist jedoch gut so, denn wäre man schon vor zwei Jahren auf den "Zug der Zeit" aufgesprungen, dann wäre jetzt bereits wieder eine grundlegende Revision nötig, man hätte die DOS/UNIX-Programme viel zu früh einfrieren müssen, und es gäbe wohl den avanti-Server und damit das WWW-Potential noch nicht. In der Nummer 46 wurde schon knapp umrissen, in welche Richtungen nach V15 weitergearbeitet werden kann. Die Umfrage half dann bei der Klärung, wo entlang die Reise denn nun wirklich gehen soll. Auf dieser Seite geben wir einen knappen Überblick, auf den folgenden Seiten werden die neueren Erkenntnisse und Arbeitsansätze dann genauer dargestellt.

Auf dem vor uns liegenden Weg waren noch drei Voraussetzungen zu schaffen, bevor auf ganzer Strecke grünes Licht für die Windows-Entwicklung geschaltet werden konnte:

  1. Eine Zäsur : Logischer Abschluß der DOS-Entwicklung
    Eine größere Zahl von Anwendern ist noch mindestens zwei Jahre, wenn nicht länger, auf DOS-Programme wenigstens teilweise angewiesen, z.B. im OPAC-Bereich. Die Umfrage aus Nummer 46 hat das nochmals bestätigt. Eines mußte unbedingt erreicht werden: der Übergang auf Windows darf nicht mit einem Bruch der Kontinuität verbunden sein, d.h. allegro-Datenbanken sollen auf Dauer von DOS-, UNIX- und Windows-Programmen gleichzeitig benutzt werden können. Dazu aber war die DOS-Software noch um wichtige Datenbank-Kernfunktionen (die auf allen Platt- formen vorhanden sein müssen) abzurunden. Die letzten solchen Funktionen wurden in Nummer 46 vorgestellt und V15.0 enthielt sie bereits; anschließend waren noch einige Verfeinerungen und Absicherungen nötig. Mit der nun ausgelieferten V15cd ist der Punkt erreicht, daß man von einem "logischen Abschluß" reden kann. (Mehr dazu weiter unten)
  2. Ein Wendepunkt : Entscheidung für ein Entwicklungssystem
    Windows-Software ist unter der Oberfläche so enorm komplex, daß man mit begrenzter Personaldecke nur dann solche Software entwickeln kann, wenn man mächtige Werkzeuge einsetzt. Ein Compiler allein tut es nicht, man braucht eine ausgereifte und ausgefeilte Entwicklungsumgebung. In Betracht kommen die Systeme von Microsoft (Visual C ++), Watcom Version 11, und Borland C++ Version 5. Will man völlig plattformunabhängig (sprich zugleich für UNIX) programmieren, so genügt das noch nicht. Die Erkenntnisse der jüngsten Zeit, vor allem die Ergebnisse der Umfrage, haben aber gezeigt, daß die plattformunabhängige Konstruktion von Oberflächenfunktionen wohl reiner Luxus wäre: fast niemand im Bibliothekswesen setzt X-Terminals oder UNIX-Workstations als Endgeräte ein. Wenn aber Endgeräte so gut wie ausschließlich PCs sind, bietet sich folgendes Vorgehen an: Weiterentwicklung der Kern- und Serverfunktionen für alle Plattformen (das ist mit Klassenbibliothek und avanti-Server schon erreicht!), Entwicklung einer Editor-Oberfläche aber zunächst nur für Windows. Daneben erlaubt der avanti-Server es, OPAC- und andere Oberflächen in jeder anderen Sprache zu schreiben. Exemplarisch ist das im WWW-Kontext mit HTML und Perl vorexerziert und inzwischen vielfach mit Erfolg nachgemacht worden. Wer immer dazu in der Lage ist, hat freie Hand, Clients für den avanti-Server zu schreiben, z.B. auch - plattformunabhängig! - in JAVA. Aus dieser Sichtweise konnte sich die Entwicklungsabteilung dann für eines der genannten Compilersysteme entscheiden. Es heißt: Visual C++ 5. Das aber bedeutet: reine 32bit-Programme, konsequente Orientierung auf Win'95 und NT - Windows 3 bleibt auf der Strecke!
  3. Eine Zwischenstation : Entwicklung eines neuen Editor-Konzepts
    Das DOS-Editiersystem konnte nicht in ein Windows-Fenster übertragen werden. Zwar hat es sich in der Praxis, eine gewisse Einarbeitungszeit vorausgesetzt, als schnelles, komfortables und zuverlässiges Eingabe- und Bearbeitungssystem durchaus bewährt. Es gibt aber zweifellos Verbesserungswünsche: der Lernbedarf sollte reduziert werden, allzu eigenwillige Funktionsweisen müssen auf Windows- übliche Konventionen umkonzipiert werden. Zu den plattformunabhängigen (also auch unter Windows lauffähigen) Kernfunktionen und den schon erarbeiteten Zugriffs- und Anzeigefunktionen (realisiert in Presto-W, VPW und dem Windows- Client für den avanti-Server) muß als ganz neues Modul ein Editor treten, welcher den Baukasten "Klassenbibliothek" komplettiert, so daß dann damit vollständige Anwendungen erstellt werden können, also u.a. ein verbessertes Presto-W.
    Ein Editorsystem ist mehr als alle anderen Komponenten auf ein gutes Entwicklungswerkzeug angewiesen, und diese Werkzeuge unterscheiden sich am stärksten gerade auf dem Sektor der Gestaltung von Oberflächen. Die unter Punkt 2. genannte Entscheidung mußte also zuerst feststehen, bevor es sinnvoll war, nennenswerten Aufwand in die Programmierung eines Editorsystems zu investieren. Ein Konzept war durchaus schon in einer (virtuellen) Schublade herangereift, nur programmiert war noch nichts. Nachdem aber die Entscheidung für die Entwicklungsplattform gefallen war, konnte das Konzept recht schnell und fast schon vollständig als Klasse in C++ programmiert werden. Dieses Modul kann zur Zeit schon getestet werden, wenn auch noch ohne Verbindung mit einer Datenbank. Es ist nach weiterer Verfeinerung kein großes Problem, es in alle Programme einzubauen, die auf der Klassenbibliothek basieren.

Entwicklungsplattform

In der Nummer 46 und in der E-Mail-Liste hatten wir eine Umfrage veranstaltet, um einen Überblick über Situation und Bedarf der Praxis zu gewinnen. Uns erreichten 60 Rücksendungen. Die aus der Sicht der Entwicklung wichtigen Ergebnisse sehen so aus:
Betriebssystem Sehr wichtig Auch wichtig Summe Nicht wichtig / k.A.
DOS 34 14 48 12
Win 3.x 21 15 36 24
Win 95/NT 29 19 48 12
UNIX 12 7 19 41
X-Terminal 2 3 5 55
Browser 24 9 33 27

Die 32bit-Systeme Windows 95 und NT sind hier zusammengefaßt, weil sie für die Entwicklung nicht unterschieden werden müssen. Win 3.x dagegen, als 16bit-System, muß man getrennt sehen.

Drei Beobachtungen sind hier sehr wichtig:

  1. DOS wird wohl erst nach der Jahrtausendwende aussterben.
    Konsequenz: Die Unterstützung darf vorerst nicht eingestellt werden und die Kontinuität nicht abreißen.
  2. Kaum jemand setzt X-Terminals ein.
    Konsequenz: Die Entwicklung einer zwischen Windows und UNIX portablen Oberfläche wäre Luxus.
  3. Windows 3.x-Anwender sind schon jetzt in der Minderheit gegenüber '95 und NT.
    Konsequenz: Es ist kritisch zu prüfen, ob Win 3.x noch als Zielplattform einzubeziehen ist.

Zum Thema DOS dürfen keine Mißverständnisse aufkommen: man wird auf DOS ohnehin erst dann ganz verzichten können, wenn jede der Komponenten eine graphische Entsprechung gefunden hat. Zumindest die Programme INDEX, QRIX und SRCH sind hier zu nennen, aber besonders auch aLF, ORDER, REF und das CockPit. Sie alle haben wichtige Aufgaben im Gesamtsystem und können unmöglich in einem Rundumschlag alle ersetzt werden. "Logischer Abschluß" heißt nur: neue Kernfunktionen und größere Oberflächenverbesserungen für DOS wird es nicht mehr geben, wohl aber Verbesserungen z.B. an aLF und ORDER. Man muß aber betonen: wir schleppen hier keinen Ballast mit, indem wir DOS weiter unterstützen und kompatibel halten, denn Oberflächen- und Kernfunktionen sind jetzt streng getrennt!

Zwar liegen die UNIX-Interessenten rein zahlenmäßig hinter den Win 3.x- Interessenten, doch ist es keine Frage, daß UNIX als Server-Plattform weiter unterstützt werden muß. Das ist auch kein Problem, da die Kernbestandteile, die Klassenbibliothek und darauf aufbauende Produkte wie der für Web-Anwendungen sehr wichtige avanti-Server, plattformunabhängig programmiert sind. Fast niemand arbeitet jedoch nur unter UNIX mit allegro (Beobachtung 2)! Das bislang anvisierte Ziel einer ebenfalls plattformunabhängigen Oberflächen-Programmierung kann deshalb in Frage gestellt werden. Wenn man berücksichtigt, daß UNIX-basierte Datenbanken mehr und mehr über Internet und Browser benutzt werden, muß ein Schwerpunkt jetzt auf Web-Entwicklungen gelegt werden - was de facto schon geschehen ist. Die im Paket ACWWW25 zusammengefaßten HTML- und Perl-Skripte haben sich schon sehr verbreitet, laufen auf allen gängigen Web-Servern (UNIX, Linux und Windows) und sind offen für lokale Erweiterungen.

Nun aber nochmals zu Windows! Schon seit einer Weile wird Windows 3.1 vom Hersteller nicht mehr vertrieben, und neue Rechner werden durchweg mit Win'95 oder NT ausgeliefert und sind dafür auch genügend mächtig. Für Entwickler ganz entscheidend ist aber dies: wenn man so entwickelt, daß die Programme unter Win 3.x laufen (und dann automatisch auch unter 95/NT), dann nutzt man die Leistung der 32bit-Systeme mit solchen Programmen nicht aus, man verzichtet auch auf die effizienten Möglichkeiten, welche die neuen Compilersysteme bieten. Daß augenscheinlich niemand mehr kommerziell Win 3.x-Software entwickelt, liegt einfach daran, daß es sich keine Firma leisten kann, mit hohem Aufwand diesen schrumpfenden Markt noch zu bedienen. Für allegro ist das keine Entscheidung über Leben und Tod: weil die DOS-Unterstützung weitergehen muß, profitieren auch die Win 3.x-Anwender davon mit und sind nicht abgeschnitten, denn die DOS-Programme laufen ohne Einschränkung in der DOS-Box von Windows 3.x. Und solange es NetScape für Win 3.x gibt, können solche Rechner auch als Inter- und Intranet-Clients arbeiten. Einige der Rechner, die momentan noch mit Win 3.x arbeiten, können im übrigen auch auf Win'95 aufgerüstet werden. Wenn nicht, nun ja, dann wäre ein monolithisches Windows-allegro darauf wohl nur zum Kriechen, aber nicht zum Laufen zu bringen. Für das bisherige, noch unvollständige Presto-W mußte ja bereits der Win32s-Zusatz herangezogen werden, aber auch das hat seine Grenzen.

Realistisch gesehen wäre es so, daß eine als vollwertiger Ersatz für PRESTO einsetzbare Windows-Anwendung erst irgendwann nach 1998 erwartet werden könnte, wenn man Win 3.x mit berücksichtigen wollte. In dem Zeitraum wird aber mit Sicherheit die Basis von Win 3.x weiter schrumpfen, die der 32bit-Systeme stark expandieren.

Das neue Editor-Konzept

Das konventionelle Konzept mit Abfrageliste(n), Hintergrund- und Phrasenspeicher, Eingabe ohne Formular oder Maske, wird von Einsteigern regelmäßig als "eigenwillig", "sehr gewöhnungsbedürftig", "spartanisch" und "nicht benutzer- freundlich" abqualifiziert. Das steht in krassem Gegensatz zu dem Urteil derjenigen, die sich einige Zeit damit eingearbeitet haben: diese finden es "sehr flexibel", "durchdacht und zweckmäßig", "konkurrenzlos schnell" oder einfach "optimal", den Lernaufwand "eigentlich nicht zu hoch". Hier soll nun nicht disku- tiert werden, ob die einen oder die anderen mehr recht haben, es soll aber klar werden, daß der Weg zu einem neuen Konzept keineswegs deutlich vorgezeichnet war und ungeteilte Zustimmung für eine Windows-Lösung nicht von vornherein als gesichert gelten konnte. Aber ein neues Konzept mußte dennoch her! Das alte mochte noch so bewährt sein - man konnte es nicht komplett unter Windows nachbilden, und berechtigte Kritik und Unzufriedenheit sollten natürlich nicht ungehört verhallen.

Die angesammelten Erfahrungen konnten zunächst einmal zu sechs grundlegenden Forderungen verdichtet werden:

  1. Das neue Konzept muß (wie das alte) für jedes Kategoriesystem (jede CFG) funktionieren: jede vorhandene Datenbank muß unmittelbar, ohne vorbereitende Eingriffe, ohne zusätzliche Parametrierungsarbeiten damit bearbeitbar sein. Gebraucht wird ein neutrales Editorsystem, das mit jeder CFG arbeitet. Spezifische Editoren für ganz bestimmte Kategoriesysteme und Aufgaben können dagegen jetzt, wie gesagt, auch extern entwickelt werden.
  2. Für Einsteiger müssen die Abläufe in einer plausiblen, übersichtlichen Strukturierung ablaufen und wenige Kenntnisse voraussetzen; für Eingearbeitete muß es Abkürzungen geben.
  3. In Komfort und Funktionsumfang darf das neue Konzept an keiner Stelle hinter dem konventionellen zurückbleiben.
  4. Soviel Konformität zu den heute gängigen Standards wie möglich und möglichst wenig allegro-typische Besonderheiten.
  5. Definition neuer Felder und Teilfelder an jeder Stelle des Schemas muß jederzeit leicht möglich sein.
  6. Ein Datensatz sollte normalerweise vollständig auf den Bildschirm (oder in das Bearbeitungsfenster) passen.

Die letzten zwei Forderungen erscheinen gegenüber den anderen ein wenig speziell, doch stecken gerade in diesen wichtige Ergebnisse der Erfahrung mit dem konventionellen System.

Auf dieser Basis ist jeder neue Ansatz zunächst einmal in seinen Grundlinien zu bewerten. Manche Ansätze fallen diesen Kriterien schnell zum Opfer. Zum Beispiel jede Art von Masken- oder Formularsystem: Forderungen 1, 5 und 6 sind damit nicht oder kaum erfüllbar, weil die meisten Konfigurationen zuviele Felder haben (bis zu mehr als 1000!) und z.B. Wiederholungsfelder und Felder mit großer Länge dann nicht elegant realisierbar sind. Gleichfalls abzulehnen ist das andere Extrem: ein Entwurf mit einem einzigen, großen Text-Eingabefeld für die freie Eingabe aller Kategorien; so etwas würde gegen 2, 3 und 4 verstoßen (und wäre nun wirklich antiquiert).

Wenn man mehr ins Detail geht, kommt eine viel größere Zahl von Forderungen zusammen, und leider kann man kaum eine davon als weniger wichtig oder verzichtbar abtun, will man nicht Grundforderung 3 verletzen:

[a] DOS-Datenbanken müssen ohne Änderung der Struktur auch unter Windows bearbeitbar sein, und zwar gleichzeitig von DOS und Windows aus. Intern darf sich also nichts ändern, was aber nicht heißt, daß eine Datenbank unter Windows genauso aussehen muß! Die Daten können gänzlich anders präsentiert werden.
[b] Plausibilitätsprüfung sofort bei Eingabe eines Feldes, nicht erst beim Abspeichern des ganzen Satzes (s.a. [i]).
[c] Variable Länge für alle Felder (die für manche Datenbanken typische Grenze von 255 Zeichen ist zu knapp); es darf keine Notwendigkeit geben, Längenbeschränkungen vorzugeben.
[d] Mehrfachfelder: im Prinzip muß jedes Feld wiederholbar sein; auch wenn es zunächst nicht so definiert wurde, muß dies leicht zu ändern sein.
[e] Kopieren einzelner Felder von einem Satz zum anderen. Dies leistet der konventionelle Hintergrundspeicher. Er sollte im Prinzip erhalten bleiben, aber in einem Auswahlfenster übersichtlicher als bisher angeboten werden.
[f] Phrasenspeicher: vorbereitete Zeichenketten zur Einfügung an jeder beliebigen Stelle. Zusätzlich muß es im neuen Konzept auch die (zwar umständlichere aber) Windows-übliche Cut-and-Paste-Methode geben.
[g] Abhängigkeiten zwischen Feldern sollten schon bei der Erfassung zum Ausdruck kommen. Die Abfragelisten realisieren das mit Sprungbefehlen: Wenn Feld A eingegeben wurde, springe nach X, wenn nicht, dann nach Y.
[h] Pflichtfelder: gleich bei der Eingabe muß erkennbar sein, wo man etwas eingeben muß.
[i] Programmierbare Prüfroutinen: die parametrierbaren, anwendungsspezifischen Feldprüfungen (PV-Routinen) des DOS-Systems müssen voll einsetzbar sein (Handbuch 10.2.8 und S.5-7 in diesen news). Neben strengen Prüfungen, die zur Zurückweisung einer Eingabe führen, muß es unverbindliche Hinweise auf mögliche Irrtümer geben.
[j] Hierarchische und verknüpfte Sätze: für mehrteilige Veröffentlichungen müssen nach wie vor beide Konzepte realisierbar sein.
[k] Satztypen: anwendungsspezifisch müssen in einer Datenbank mehrere Typen von Datensätzen existieren können, und das Erfassungssystem muß das unterstützen. Die konventionellen Abfragelisten haben sich hier sehr bewährt und werden geschätzt, sie müssen deshalb durch etwas mindestens Gleichwertiges ersetzt werden.
[l] Zusätzliche Felder müssen frei eingebbar sein. Das konventionelle System setzt hierfür die Kenntnis des Kategorienschemas voraus, hier sollte das neue Konzept die Feldliste (aus der .CFG) als Hilfe anbieten.
[m] Externe Bearbeitung eines Satzes sollte ermöglicht werden (z.B. mit X-Editor oder Notepad). Konventionell ging das bereits mit dem Programm PRESTOG, aber nur für einzelne Felder.
[n] Visuelle Kontrolle des in Bearbeitung befindlichen Satzes. Konventionell kann man sich mit dem D-Befehl jederzeit die Anzeigeform ansehen. Das neue Konzept könnte eine aufbereitete Form oder auch verschiedene Formen des Satzes ständig in einem Fenster zeigen, in welchem jede Eingabe sofort im Kontext sichtbar werden sollte.
[o] Übersichtlichkeit: Der Bildschirm darf nicht mit Fenstern und Kontrollelementen überfrachtet sein. Anders sind die Forderungen 6. und [n] kaum erfüllbar.
[p] Stammsätze: Wird z.B. während der Eingabe eines Titelsatzes festgestellt, daß ein Stammsatz noch fehlt und zuerst erfaßt werden sollte, muß man diesen unmittelbar eingeben können, bevor man mit dem Titelsatz fortfährt. Diese Möglichkeit und auch der ständige Registereinblick während der Erfassung ergeben sich aber aus der Tatsache, daß man in Windows-Programmen jederzeit neue Fenster aufmachen kann. (Ein Tip: Unter Win'95 kann man eine Datenbank im Mehrplatzmodus betreiben und sie dann in zwei oder mehr DOS-Fenstern gleichzeitig benutzen.)

Soviel wird (hoffentlich) klar: Es kann nicht unter Windows automatisch ein ganz einfaches Erfassungssystem geben, das keine Fehleingaben mehr zuläßt und von jedermann sofort intuitiv beherrschbar ist. Bibliotheks- und zumal Katalogdaten sind nun einmal nicht so einfach wie Adressen-, Warenlager- oder Rechnungsdaten. Versuche, sie drastisch zu vereinfachen, laufen immer auf drastische Kompromisse hinaus, die nur leider nicht sofort ins Auge stechen.

Was Sie unten sehen, ist die EBOX - die Editor Box oder das Bearbeitungsfenster. Diese Box soll immer dann erscheinen, wenn ein Datensatz zu bearbeiten oder einzugeben ist. Da sich dieser Entwurf noch in der Erprobungsphase befindet und funktional noch nicht voll ausgereift ist, kann sich das Erscheinungsbild noch ändern. Noch nicht realisiert sind die Forderungen [f] und [i], auch ein paar andere Punkte können noch verbessert werden.

Die Situation im Bild ist diese: Links als Auswahlliste die Übersicht eines hierarchischen Datensatzes (altmodisch, aber man soll sehen, daß es geht), rechts im Displayfeld seine Darstellung mit Hilfe der Anzeigeparameter (hier D-W.APR). Die Kategorie #19 des ersten Untersatzes wurde ausgewählt und steht zum Bearbeiten unten im Eingabefeld.

Ebox

Die EBOX hat nur vier Bereiche: [o]

(in eckigen Klammern sind die Buchstaben der oben aufgezählten Forderungen angegeben.)

  1. Die Auswahlliste (linke Seite)
    Dazu gehören die links ausgerichteten Buttons, an denen man einstellt, was in der Liste zu sehen und auszuwählen ist:
  2. Das Display (rechts)
    Hier zeigt das Programm ständig den aktuellen Inhalt des Aufnahmespeichers, aufbereitet als ISBD-Anzeige. Als Default wird zur Anzeige die Parameterdatei d-w.apr benutzt. Wenn diese einen Abschnitt #-( hat, kann man mit Druck auf den [Display]-Knopf auf diesen Abschnitt umschalten und eine alternative Anzeigeform sehen. [n]
    Links davon sind Knöpfe, die sich auf das Display beziehen: mit [Edit] wird der aktuelle Satz in eine Datei E.DAT geschrieben, die dann in einem DOS- Fenster mit dem X-Editor zum externen Bearbeiten präsentiert wird. Das ist nur als Beispiel zu sehen, selbstverständlich wird man jeden anderen Editor einsetzen können. [m]
    Mit dem Knopf [Get] kann hernach der extern bearbeitete Satz (d.h. die Datei E.DAT) wieder in den Aufnahmespeicher geladen werden. Die externe Bearbeitung wird man besonders bei sehr langen Datensätzen gern einsetzen. Man kann mit der Maus den Cursor in das Display setzen und sogar darin editieren, das wirkt sich aber nicht auf den Aufnahmespeicher aus, sondern nur auf das Display. Mit Druck auf [Drucken] (geplant) kann aber dann das editierte Displayfeld ausgedruckt werden! Das ist eine Möglichkeit, die es beim ganz alten allegro84 schon gab (auf den legendären Commodore-Rechnern) und die unter DOS nicht wieder realisiert werden konnte.
  3. Das Eingabefeld (unten)
    Darin kann man beliebige Eingaben bis zu einer Länge von 3000 Zeichen vornehmen [c]. Wenn man einfach Text eingibt, kommt dieser in die Kategorie, die man in der Auswahlliste ausgewählt hatte. Diese Kategorie steht als Hinweis auch über dem Eingabefeld, damit man es immer sieht. Wenn man aber eine Kategorienummer (mit '#') an den Anfang der Eingabe setzt, kommt der Inhalt des Eingabefeldes in diese Kategorie. Einsteiger und Unsichere werden somit zwanglos und sicher geführt, Eingearbeitete können ohne Umstände auch freie Eingaben tätigen. [d,l] Nach Eingabe eines Kategorietextes wird dieser sofort geprüft: sowohl die in der CFG festgelegten Eigenschaften werden kontrolliert, wie auch die PV- Routinen ausgeführt (letzteres ist noch nicht realisiert). [b,i]
    Wenn gerade ein Pflichtfeld einzugeben ist, kann man es nicht leer wegdrücken. [h]
    Mit [Tab] kann man zwischen Auswahlliste und Eingabefeld hin- und her springen! [2]
  4. Die "Buttons" (Mitte) [o]
    Diese sind zentral angeordnet, um leicht erreichbar zu sein, aber entsprechend ihrer Zugehörigkeit nach links bzw. rechts versetzt, damit optisch sofort erkennbar wird, auf welcher Seite sie wirken. Einige dieser Knöpfe ändern ihre Beschriftung, je nach Inhalt der Auswahlliste. Die Knöpfe können auch mit Alt+Buchstabe aktiviert werden.

Bei der Anzeige werden alle Daten intern zwischen ASCII und ANSI über Tabellen gewandelt. Diese Tabellen sind anwendungsspezifisch modifizierbar und für jedes Kategoriesystem verwendbar (Dateien d.apt und o.apt). [a]

Ein Testprogramm namens EBOX.EXE für Win'95/NT liegt auf dem FTP-Server bereit. Wer will, kann es ausprobieren. Es hat noch keine Verbindung mit einer Datenbank, sondern ist nur zum Testen des neuen Konzepts gedacht. Noch nicht alle oben im Konzept erwähnten Funktionen sind implementiert. Es wird also in absehbarer Zeit eine erweiterte Version geben, bevor dann EBOX als Teil eines weiterentwickelten Presto-W erscheinen kann, oder auch als Bestandteil in neuen Programmen. Andere, speziellere Editormodelle können bei Bedarf hinzukommen.

PRESTO

Kontrolle ist gut, noch mehr Kontrolle ist besser

Der Hilfsabschnitt H in der Index-Parameterdatei, zuständig für die Programmierbaren Validierungen, wird jetzt nicht mehr nur NACH Einordnen einer Kategorie angesprungen, sondern auch noch in anderen Fällen.

Damit man die Fälle auseinanderhalten kann, ist dann jeweils die Sonderkategorie #u2 mit einem speziellen Wert belegt. Diesen kann man am besten mit einem Befehl wie #u2 +X c"y" e0 prüfen: wenn in #u2 ein 'y' steht, wird zum Abschnitt #-X gesprungen. #u1 enthält den Eingabetext einschließlich seiner Kategorienummer.
0 Die Eingabe stammt aus der Abfrageliste, d.h. es wurde soeben [Enter] gedrückt, und die Kategorie ist noch nicht in den aktuellen Datensatz eingeordnet. (Wird die Abfrage leer weggedrückt, passiert nichts.) #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
e Sofort nach Beendigung der Abfrageliste (nach Beantwortung der letzten Frage) #u2 e , #u1 ist nicht besetzt, auch bei den noch folgenden Fällen nicht:
s Vor dem Speichern (es wurde [F10] oder #rj gegeben)
s Vor dem Speichern (es wurde [F10] oder #rj gegeben) #u2 s
E Vor Freigabe des Satzes zum Bearbeiten ('E' wurde auf dem Anzeigemenü gedrückt) #u2 E
C Vor Freigabe des kopierten Satzes ('C' auf Anzeigemenü) #u2 C
I Vor Einstieg in die Abfrageliste ('I' auf Anzeigemenü) #u2 I

Damit hat man nun viele zusätzliche Möglichkeiten, die eingegebenen Daten zu prüfen, zu manipulieren und Fehlerausschriften zu produzieren.

Folgende Einzelheiten sind zu beachten:

Fälle 0,1,2
Die Kategorie ist zu diesem Zeitpunkt noch nicht im Aufnahmespeicher. Wenn sie dort mit einer Veränderung landen soll, muß man im Hilfsabschnitt einen output produzieren; dieser wird dann als Kategorie übernommen, anstelle der Eingabe. Der output muß die Kategorienummer mit enthalten! Also kann man auch eine andere Kategorienummer einsetzen, wenn das so gewünscht wird.
Achtung: mit extrem langen Kategorien kann man das nicht machen; die Grenze für den output liegt bei 300 Zeichen.
Wenn man keinen output produziert, oder kein Hilfsabschnitt vorhanden ist, wird die Kategorie unverändert übernommen (auch wenn sie sehr lang ist). Statt einen output zu produzieren, kann man eine Kategorienummer vor den Text von #u1 setzen und diese Kategorie dann mit M einordnen lassen. Auch das geht bei beliebiger Länge.
Fall e
ist geeignet, um fehlende Kategorien gleich am Ende der Abfrage zu entdecken. Z.B. kann man eine fehlende Kategorie dann mit einer Standardangabe belegen. Oder mit "????", das wird dann gleich anschließend sichtbar, da ja der Satz nach Schluß der Abfrageliste in Kategorieform angezeigt wird. Wenn die Abfrage mit [x] verlassen wird, greift dieser Fall nicht! Wichtiger ist sicher auch deshalb der Fall 's'.
Fälle e, s und E
Wenn man in diesen Fällen einen output produziert, wird er als Fehlermeldung angezeigt. Im Falle s wird das Speichern nicht ausgeführt, denn man wird einen Fehler noch korrigieren werden sollen, bevor man speichert. Hier können also fehlende Kategorien oder Teilfelder angemahnt werden. Natürlich kann man für die beiden Fälle e und s denselben Abschnitt abarbeiten lassen.
Fälle E und C
sind geeignet, um vor dem Bearbeiten schon gewisse Veränderungen an einzelnen Kategorien vorzunehmen, die man im Abschnitt s auch wieder rückgängig machen kann. Z.B. kann man ein bestimmtes Teilfeld aus einer Kategorie in eine andere (Hilfs-)katagorie schreiben lassen. Diese läßt sich dann leichter bearbeiten. Hinterher (Fall s) hängt man diese Kategorie eieder als Teilfeld an die Ausgangskategorie und beseitigt die Hilfskategorie.
Oder: man "hinterlegt" eine Kategorie, die nicht verändert werden soll, als Kopie in einer Anwendervariablen und sortiert sie hinterher vor dem Speichern (Fall s) wieder ein.

Beispiel:

Wenn [E] gedrückt ist, soll aus Kategorie #90 das Teilfeld $P hilfsweise in #90z kopiert werden. Diese kann somit getrennt bearbeitet werden. Vor dem Speichern soll #90z wieder als $P an die #90 angehängt werden.


H   Hilfsabschnitt
#u2 +a c"E" e0           Vorbearbeitung (es wurde 'E' gedrückt)
#u2 +a c"C" e0           mit kopierten Sätzen soll dasselbe passieren
#u2 +b c"s" e0           vor dem Speichern (F10 wurde gegeben)
#+-    Andere Fälle: nichts machen         #-a
#90 $P p"#90z" M         $P als #90z speichern
#90 ~P p"#90 " M         $P aus #90 löschen, #90 wieder einordnen
#+#
#-b    F10
#90 dc9 ac9              #90 und #90z in #uc9 zusammenbauen
#90z p"$P" Ac9
#uc9 p"#90 " M           Inhalt von #uc9 als #90 wieder einmischen
#90z p"#90z" y0 e4 M     #90z wieder löschen
#+#

Zum guten Schluß

Die bisherige PV-Methodik bleibt unberührt. Sie reagiert auf Kategorien, die soeben bereits in den Aufnahmespeicher eingeordnet WURDEN. (Mit Befehl M kann man sie trotzdem verändern oder auch löschen (Handbuch S. 200).)

Soll beides kombiniert werden, beginnt der Hilfsabschnitt am besten so:

H    Hilfsabschnitt
     Ausführung 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 (Eingabe ist in #u1)
#u2 +1 c"1" e0     Neue Kategorie wurde eingegeben (Eingabe ist in #u1)
#u2 +2 c"2" e0     Kategorie wurde mit #b bearbeitet (Eingabe ist in #u1)
#u2 +e c"e" e0     Abfrageliste ist zu Ende
#u2 +s c"s" e0     F10 wurde gegeben
#u2 +E c"E" e0     E wurde gegeben zum Bearbeiten
#u2 +C c"C" e0     C wurde gegeben: Kopie des aktuellen Satzes bearbeiten         #u2 +I c"I" e0     I wurde gegeben: neuen Datensatz per Abfrageliste eingeben
... bisheriger PV-Abschnitt (#u2 nicht belegt), oder aber

 #+-   wenn NACH dem Einordnen der Kategorie keine Prüfung mehr folgen soll

#+#
#-0   Abschnitt für Fall 0
...   Vermutlich wird man meistens auch in den Fällen 1 und 2 nach #-0
      verzweigen, statt dafür getrennte Behandlungen vorzusehen!

Empfehlung:

Wenn die bisherigen PV-Methoden ausreichen, die man sich eingerichtet hat, setzt man am besten am Anfang des Hilfsabschnitts zur Sicherheit den Befehl

#u2 +- e0      In den neuen PV-Fällen soll nichts passieren

ein. Dann braucht weiter nichts geändert zu werden.

Zur Erinnerung: die Sprungmarken im Hilfsabschnitt sind unabhängig von denen im Hauptteil, d.h. man braucht auf letztere keine Rücksicht zu nehmen, aber die Teile des Hilfsabschnitts können nicht vom Hauptteil aus angesprungen werden (ist auch nicht nötig).

UPDATE

Sicherheitslücken gestopft

Es konnte passieren (aber nur bei simultanen Updates mit schnellen PCs auf langsamen Servern), daß IdNummern (per cg/ci-Befehl in der CFG) doppelt vergeben wurden oder .LOG-Sätze nicht stimmten. Diese und andere sehr selten auftretende Randprobleme (auch bei zwei oder mehr simultanen globalen Ersetzungen/Manipulationen) wurden ausgeräumt.

Kleinere Verbesserungen in PRESTO

Die nachfolgend beschriebenen und allesamt beseitigten Probleme waren zwar manchmal irritierend oder unangenehm, aber alle harmlos, d.h. es wurden keine Daten verfälscht.

Abrupte Verdunkelung

Ein sehr selten auftretender Fehler: wenn man während der Abfrage mit dem Cursor nach oben geht und eine der schon eingegebenen Kategorien löscht, dann [Enter] drückt, kann es nachfolgend zu einem plötzlichen "Wegrutschen" des gesamten Schirminhalts nach oben kommen, dann bleibt es finster und nichts geht mehr. Das Programm ist dann in einer Endlos-Schleife, welche nur noch durch Warmstart zu beenden ist. Der gerade bearbeitete Satz ist gesperrt, wenn man mit 'E' hineingegangen war (Freigabe: Satz aufrufen und [Strg+z]).

Stillschweigendes Überschreiben

Wenn eine Kategorie neu eingegeben wird, verschwindet eine schon vorhandene mit gleicher Nummer, d.h. sie wird überschrieben. Einerseits sehr bequem, andererseits manchmal unerwünscht, z.B. wenn man irrtümlich die falsche Nummer eingegeben hat. Nun wird die bereits vorhandene Kategorie vor dem Überschreiben in den Hintergrundspeicher kopiert. Mit #a kann man sie also wieder sichtbar machen und zurückholen.

Kommentarloses Löschen

Noch immer konnte man eine Kategorie dadurch löschen, daß man schlicht nur die Kategorienummer eingab, ohne Text. Genauer gesagt, das ging noch bei den Kategorienummern ohne Wiederholungszeichen, also z.B. #31, aber nicht bei #31a oder #31p etc. Dies wurde jetzt behoben. Löschen ist jetzt nur noch mit #v möglich, und beim Fenster-Editor (#b) dadurch, daß man den gesamten Text löscht, die Kategorienummer aber stehenläßt.

Hemmungsloses Tilgen

Das Löschen von Ergebnismengen geht jetzt schneller. Bisher wurde jeder gelöschte Satz nochmals angezeigt. Bei sehr langen Sätzen hemmte das leider den Vorgang; es mußte dann erst [x] gedrückt werden, um aus der Anzeigeschleife herauszukommen. Jetzt läuft alles ohne Anzeige durch.

Unerwünschte Sperre

Wenn innerhalb einer Ergebnismengen-Löschung die Löschkontrolle das Löschen eines Satzes verhinderte, blieb dieser gesperrt zurück! Das wurde ausgemerzt, aber gelöscht werden solche Sätze nicht. Auch -a3 nützt da nichts, während das Einzel- Löschen damit jetzt möglich ist:

Lästige Löschkontrolle

Da im Bibliothekswesen das Vorkommen von Ausnahmen eine verläßliche Regel ist, bleibt es nicht aus, daß auch mal ein Satz gelöscht werden muß, der durch die Löschkontrolle nicht durchkommt (Kap. 10.2.6.8, S. 216). Z.B. wenn ein Stammsatz aus Versehen verdoppelt wurde. Zwar gab es da einen Trick, aber die logische Lösung war, das Löschen wenigstens bei der begehrten Berechtigung -a3 zu gestatten. Der Hinweis "Keine Löschung, da verknüpft" kommt zwar, aber auch die Frage "tilgen? j/n", und die Antwort 'j' bewirkt dann die Löschung, wie sonst auch.

Säumiges Drucken

Unter dem Betriebssystem Windows NT bequemt sich in der Regel der Drucker erst dann, wenn das Programm den Druckerkanal schließt. Das tat PRESTO aber nur, wenn man die Sitzung beendete. Also kamen die Karten nicht sofort bei Druck auf [F2] heraus, sondern eben erst beim Verlassen des Programms. Jetzt wird intern der Druckerkanal nach jedem [F2] geschlossen und gleich wieder geöffnet. Der Effekt: alles kommt sofort raus, wie erwartet.

Gehobene Standards

Die Standard-Indexparameter CAT.API wurden überarbeitet. Einerseits sind Beispiele für Restriktionen eingebaut worden (erkennbar am Kommentar "RESTR"), Vorkehrungen für die satzübergreifende Suche getroffen (Kommentar "SR"), aber es wurden auch die Zeitschriften und Serienkürzel (Kategorie #8na) in die V14-Ersetzungen einbezogen. Das bedeutet: wenn in #70 jetzt ein Kürzel mit '_' davor steht, braucht nicht mehr nachgeladen zu werden, sondern der Serientitel wird per V14- Methode eingesetzt. Dadurch vereinfachten sich die Anzeigeparameter D-1.APR. Es verbesserte sich aber auch das Register 5: die Stücktitel oder Aufsätze sind jetzt direkt unter dem Titel zu finden, nicht mehr unter dem Kürzel.

Endlich Einzelkarten!

Mit verknüpften Untersätzen hatten Kartenfans ihre Not: per [F3] und [d] gelang es seit einer Weile nicht mehr, ausgewählte Einzelkarten auszudrucken. Jetzt geht das wieder; die unbeliebte Meldung "Anzeige verschieben ..." unterbleibt. Soll für jeden Untersatz (Band) eine separate Karte entstehen, muß ein Befehl #t{ N } (Handbuch S. 170) dort stehen, wo die Verarbeitung eines nachgeladenen Untersatzes beginnt. In die Datei P-KARTE.APR ist das eingebaut.

Flip-Flap

Die beliebten Flips holen sofort einen anderen Datensatz oder einen Registerabschnitt auf den Bildschirm. Jetzt kann mit der Taste [Bild[hoch]] gleich zurück zum Ausgangssatz geschaltet werden, wobei sich das Programm bis zu 32 Sätze merkt, die man mit [Bild[hoch]] und [Bild[runter]] durchblättern kann. Also: man kann ruhig schnell mal eben eine Fliptaste drücken und schauen, was dann kommt. Mit [Bild[hoch]] (= Flap) ist der Ausgangssatz dann sofort wieder da. Mit [L] erhält man, wie schon in Nummer 45 berichtet, die Liste der 32 gemerkten Sätze als Ergebnismenge.

Die erste selbstgemachte Datenbank

Ist das allegro-System zu umfangreich geworden? Einsteiger haben schnell das Gefühl, den sprichwörtlichen Wald vor lauter Bäumen und Gestrüpp nicht sehen zu können. Nun gibt es zwar die neue Ouvertüre mit einem umfassenden und aktuellen Glossar, das viele Fragen beantwortet. Jedoch beschränkt sie sich im praktischen Teil auf das Arbeiten mit schon existierenden Datenbanken. Wie aber fängt einer mit null Ahnung an, eine ganz neue Datenbank zu entwickeln?

Lehrbücher für Programmiersprachen fangen heute meistens so an, daß ein ganz kleines Programm, praktisch das einfachste überhaupt mögliche arbeitsfähige Programm, vorgestellt wird, und dann zum sofortigen Nachmachen gezeigt wird, wie man dieses eingibt und dann zum Laufen bringt. So einfach das Programm auch ist (meistens tut es nichts anderes als die Meldung "Hello World!" auf dem Bildschirm auszugeben), man lernt dabei doch schon etliche der wichtigsten Handgriffe und Denkschritte. Eben diejenigen Dinge, darauf kommt's an, die bei jedem Programm immer wieder zu tun sind. Diese beliebte Methode kann man auch einmal für allegro versuchen. Die erste Lektion muß dann natürlich heißen: "Wir machen die einfachste mögliche Datenbank." Es wird sogar ein klein wenig mehr als das, aber mit zwei Seiten ist die Lektion gar nicht mal lang.

OK, was brauchen wir für eine Datenbank? Nur ein Unterverzeichnis und drei kleine Dateien!

Am einfachsten geht es, und lehrreich ist es, wenn wir uns auf DOS-Ebene begeben, und zwar ohne Norton-Commander oder XTREE-GOLD, auch ohne CockPit. (Gewiß, diese Programme sind ihr Geld wert, aber hierbei stören sie. Sie machen eigentlich unmündig: man kennt irgendwann die einfachsten Befehle nicht mehr, oder lernt sie gar nicht.)

Es sind vier Schritte zu tun, und zwar alle ausgehend vom Verzeichnis C:\ALLEGRO, dem Programmverzeichnis.

1. Ein Unterverzeichnis anlegen: das kann heißen, wie es will, also sagen wir mal TESTBANK. Wir geben ein:

md testbank (vorher mit cd C:\ALLEGRO auf das Programmverzeichnis wechseln)

Jetzt müssen die drei Dateien geschrieben werden. Wir zeigen hier, wie es "zu Fuß" mit dem X-Editor geht. Jeder andere Editor tut es auch, aber eine Antipathie gegen den X-Editor ist eigentlich irrational. Wie auch immer: ersetzen Sie den Aufruf X durch den Namen Ihres eigenen Editors, wenn Sie wollen. (Anhang D erklärt auf 1 Seite (!), was man über den X-Editor wissen muß: Zwei Minuten, die sich lohnen. Noch nicht gelesen? Soviel Zeit muß sein.)

Die drei Dateien legen wir alle auf dem neuen Unterverzeichnis TESTBANK an. Dann haben wir hinterher alles hübsch beisammen, was zur Datenbank gehört. Und können später alles leicht wieder löschen.

2. Erste Datei: Die Konfigurationsdatei (Handuch: Anhang A+B)

Wofür? In ihr steht, was für Felder (Kategorien) die Datenbank haben soll. Im einfachsten Fall ist das nur ein Feld!

Name: Frei wählbar, Typ muß .CFG sein. Die Programme erwarten, wenn man nichts anderes sagt, daß die Konfiguration $A.CFG heißt. Wir nennen unsere Konfiguration aber B.CFG, damit man sieht, was dann zu beachten ist, und wie die anderen Dateinamen beeinflußt werden.

Befehl: x testbank\b.cfg Dann [Einfg] drücken (Schreibmodus einschalten) und folgendes eingeben: (Sie sind schreibfaul? Was kursiv gedruckt ist, brauchen Sie nicht einzugeben, das sind nur Kommentare)


        Einfachste mögliche Konfigurationsdatei
       B.CFG                                                      970630

t2      2stellige Feldnummern

#u1     Die 8 Zeilen muss es immer geben
#u2
#00
#00
#00
#00
#00
#00

    Es gibt nur 1 echte Kategorie: (Definitionszeile, mit '#' am Anfang)

#20"Titel"

   Abfrageliste: auch nur diese eine Kategorie
                 (ohne '#' am Anfang! und blank hinter 20
20 "     Titel: "

Wenn fertig eingegeben : [Esc][q][s] zum Speichern (jedenfalls beim X-Editor)

3. Zweite Datei: Die Index-Parameter. Handbuch: Kap. 7 + 10

Wofür? Darin steht, was für Register angelegt werden sollen, und auf welche Weise.

Name: Frei wählbar, aber nur bis zu 4 Zeichen lang. Wählen wir den Namen DAT. An den Namen ist die Typbezeichnung .BPI anzuhängen (das 'B' kommt von B.CFG). Die Datei heißt also dann DAT.BPI.

Befehl: x testbank\dat.bpi dann [Einfg] um den Schreibmodus einzuschalten, dann eingeben:


   Parameter fuer die Indexerstellung : Fast minimales Grundgerüst
   ( zwei Register: Titelanfänge und Stichwörter)
   DAT.BPI                                                       970630

   ***  1. Grundparameter: (nicht ändern) ***
zl=0
zm=0
ad=0
ag=0

   *** 2. Überschriften der Register: *******

|1="1 : Stichwörter"
|2="2 : Titelanfänge"
|a="    ... Titel Ihrer Datenbank ..."

   *** 3. Befehle zur Schlüsselgenerierung **

ak=20+A        nimm #20 und verarbeite es bei Sprungmarke #-A

ak=20"[ ¶] "+B      zerlege #20 bei Leerzeichen und ¶, dann Sprungmarke #-B


   *** 4. Abschnitte fuer die Ausführung ***

#-A
!u1 u p"|2"    Titelanfänge: Reg. 2 (#u1 enthält den Inhalt von #20)
#+#            (Der Befehl u beseitigt den Artikel am Anfang)

#-B
!u1 p"|1"      Stichwörter: Reg. 1 (#u1 enthält ein Stichwort aus #20)
#+#

Wenn fertig eingegeben: [Esc][q][s] zum Speichern geben (X-Editor) Damit das klappt, Kopien machen: copy i.apt i.bpt (Tabelle der Zeichenumwandlungen für die Register, z.B. ä -> ae) und copy swl1.apt swl1.bpt (Stoppwortliste).

4. Dritte Datei: Die Anzeige-Parameter. Handbuch: Kap. 10

Wofür? Sie sagt dem Programm, wie ein Datensatz auf dem Bildschirm angezeigt werden soll.

Name: Frei wählbar, Typ muß .BPR sein (auch hier 'B' wegen B.CFG). Die Programme erwarten, wenn man nichts anderes sagt, daß die Datei D-1.BPR heißt, wenn man B.CFG verwendet, also nennen wir sie so.

Befehl: x testbank\d-1.bpr, [Einfg] für Schreibmodus. Hinterher wieder [Esc] q s zum Speichern


     Anzeigeparameter : fast einfachste mögliche Ausführung
      D-1.BPR                                                        970630
#20        Kategorie #20 anzeigen
           und als kleine Zugabe:
p ¶ 255    Zeilenumbruch beim Zeichen ¶ ( = Strg+t )

Und jetzt? Die drei Dateien sind da, aber wo ist die Datenbank? Die legen wir an mit folgendem Aufruf von PRESTO:

presto -kb -dc:\allegro\testbank -idat -S -n1 -a3

Eine leere Datenbank macht keinen Sinn, deshalb fordert das Programm PRESTO dann sofort dazu auf, einen Titel einzugeben (die Abfrageliste in der Konfiguration B.CFG wird aktiviert). Geben Sie also einen Titel ein. Danach [F10][j], und die minimale Datenbank mit nur einem Satz ist komplett. Sie sehen (mit NC, wenn Sie wollen) auf dem Unterverzeichnis, welche Dateien neu entstanden sind. Lesen Sie Handbuch-Kap. 0.8, um zu erfahren, was diese Dateien bedeuten und enthalten. Die neue Datenbank kann später wieder angewählt werden, indem man per CockPit Optionen / Datenverzeichnis das Verzeichnis TESTBANK anwählt und dann über Routinen/Benutzen einsteigt.

Ende der Lektion! Hiermit ist der gesamte Vorgang "Neue Datenbank erstellen" beschrieben. Grundsätzlich sind das die Schritte, die man immer machen muß, nur wird man in der Praxis sich mit viel mehr Einzelheiten herumzuschlagen haben. D.h. die drei Dateien werden viel größer. Aber das Strickmuster ist dasselbe. Zuerst kann man immer einen Anfang mit den allerwichtigsten Dingen machen und die drei Dateien dann Schritt für Schritt erweitern und verbessern.

Das andere Extrem zu diesem Minimalmodell sind die drei Dateien B.CFG, DAT.BPI und D-1.BPR auf dem Programmverzeichnis, die für die Demo-Datenbank benutzt werden. Wenn Sie eine neue Datenbank entwerfen wollen, die zwischen diesen Extremen liegt: starten Sie das Hilfsprogramm PRONTO (news Nr.42, S.6-7; Handbuch Kap.1.1.2). Es legt Ihnen eine Reihe von Fragen vor, und am Ende baut es die drei bewußten Dateien für Sie zusammen. Das ist dann der Rohbau, den Sie weiter ausgestalten können. (Genaue Anleitung in der Datei PRONTO.TXT auf C:\ALLEGRO)

Zugabe zur ersten Lektion: Daten umwandeln und einspeisen

Wenn wir aber schon Daten aus einer anderen Anwendung haben, und diese in unsere neue allegro-Datenbank überführen wollen? Auch dafür gibt es ein Minimalmodell. Sie müssen nur zwei Dinge tun:

  1. Die Daten in einer bestimmten Form als Textdatei (ASCII-Datei) bereitstellen. Dazu gleich noch mehr.
  2. Grundsätzlich müssen Daten, die aus anderen Quellen kommen, erst umgewandelt werden. Das besorgt das Programm IMPORT (Handbuch Kap. 5). Dann müssen die Daten in die eigene Datenbank eingespeist werden. Das macht das Programm UPDATE (Kap. ,9). Nehmen wir z.B. an, daß unsere Daten in der richtigen ASCII-Form vorliegen, und daß die Datei ROHDATEN.TXT heißt. Dann sind diese zwei Aufrufe zu geben (wieder auf C:\ALLEGRO): [s.a. Kap.12]
import -f5 -kb -drohdaten.txt -ikat -ei-1/roh.blg -m0 -v0 -s0 Datei ROH.BLG entsteht
update -fm01 -kb -d testbank -u roh.blg -n1 Datei ROH.BLG wird eingespeist

Das Programm IMPORT braucht hier die Datei KAT.BIM. Sie enthält die Beschreibung (geschrieben in der "Importsprache", siehe Kap. 5 und 11), was mit den Fremddaten zu machen ist. Viel steht da nicht drin:


  ASCII-Datei mit Kategorienummern einlesen 
  KAT.BIM    Anwendbar für alle Kategoriesysteme!              970630
             (Kopie von KAT.AIM)

re=13 10 13 10  Satzende: 2x Zeilenumbruch  13 10 13 10         (das
fe=13 10        Feldende: 1x Zeilenumbruch  (beides evtl. ändern)

_ 13 10 "    "  ersetze den Zeilenumbruch innerhalb von Feldern
_ " "           durch ein Leerzeichen         T   )

Damit das umwandeln (das Programm IMPORT) aber klappt, muß unsere Rohdatei schon eine bestimmte Form haben:

Beispiel: Hier sehen Sie eine kleine Datei (ROHDATEN.TXT) mit drei Datensätzen, jeder hat nur eine Kategorie. In Wirklichkeit ist eine Datei kein bedrucktes Blatt Papier, sondern eine lange Zeichenkette. Die Zeilen sind durch die Codes 13 10 begrenzt; beim Betrachten im Texteditor sieht man die nicht, man sieht nur, daß eine neue Zeile anfängt.

#20 Der Name der Rose13 10                                                   1.Datensatz
13 10
#20 Die Entwicklung von Gedächtnis- und Metagedächtnisleistungen13 10        2.Datensatz
    in Abhängigkeit von bereichsspezifischen Vorkenntnissen13 10
13 10
#20 Wir amüsieren uns zu Tode                                               3.Datensatz

V15cd : Installation

Die CD-ROM erfüllt mehrere Zwecke:

  1. Neu-Installation oder Update-Installation von V15 Kernsystem und Zusatzprogrammen (nur für Abonnenten; Schlüsselzahl erforderlich, die den registrierten Anwendern mit der CD zugesandt wird)
  2. Erstellen von zwei normalen Installationsdisketten, um damit V15-DOS auf Rechnern ohne CD-Laufwerk installieren zu können. Auch hierfür wird die Schlüsselzahl gebraucht.
  3. Benutzen der Datenbanken: OPAC der UB Braunschweig (430.000 Titel), Braunschweiger Forschungsbibliographie (52.000), USMARC-Beispieldatenbank (Musikalien, 40.000), bolero-Beispieldatenbank (2.500), Formate-Datenbank, Pica-Beispieldatenbank, Datenbank Tips&Tricks mit dem neuen Glossar. Zugaben: alle Dissertationen der TU, Datenbank mit Frauenliteratur.
    Die CD wird an Benutzer der UB für DM 5.- abgegeben und kann auf dem eigenen PC als Katalog benutzt werden, außerdem ist sie auch als allegro-Demo-Disk brauchbar (DM 10.- ).
  4. Verbreitung von Materialien, z.B. die Textdateien der news ab Nummer 20, der Mail-Archivdateien, sowie der HTML- und Perl-Skripte für die WWW- Schnittstelle. Die HTML-Texte des Web-Servers der UB können mit Hilfe eines beigelegten Browsers benutzt werden, auch wenn man keinen Internet-Anschluß hat.

Während Funktion 3 auf jedem Windows-PC mit CD-Laufwerk ohne Umstände (d.h. ohne Installation von Software auf dem PC) sofort genutzt werden kann, ist für 1. und 2. eine Schlüsselzahl notwendig, die jeder 97er Anwender individuell mitgeteilt bekommt. allegro ist keine Freeware, deshalb geht es nicht ohne jeden Kopierschutz. Wer die CD weitergibt, muß auch die Schlüsselzahl mitgeben, und anhand dieser läßt sich feststellen, wer der freizügige Weitergeber war. Wer den Katalog der UB Braunschweig als Fremddatenquelle nutzen will (vorausgesetzt, man arbeitet mit dem konsolidierten Format), braucht nur dieses zu tun: wenn das CD-Laufwerk z.B. E: ist, ergänzt man in der eigenen CP.OPT die Zeile d e:\katalog\kat, oder erweitert PRESTO-Aufrufe durch die Option -de:\katalog\kat.

Wer Windows'95 hat, braucht die CD nur einzulegen und einen Moment zu warten, dann erscheint ein Auswahlmenü, mit dem sich die wichtigsten Programme (1. bis 3.) direkt von der CD starten lassen. Falls die AUTORUN-Option Ihres CD-Laufwerks deaktiviert ist, müssen Sie das Programm AUTORUN32 manuell starten. Unter Windows 3.1 muß man das gleichwertige Programm START16 aufrufen. Beide Programme liegen im Wurzelverzeichnis der CD. Ganz ohne Windows kann man nicht von der CD installieren. In diesem Fall kann man jedoch auf einem Windows-Rechner die Installationsdisketten herstellen (siehe 2.) und diese dann auf jedem Nicht- Windows-PC benutzen.

Druckfehler im Handbuch

S. 49 Vergessen wurde die Erwähnung der Option -M für APAC: wird sie gesetzt, erscheint nach dem ersten Tastendruck erst einmal das Esc-Menü, wird sie nicht gesetzt, kommt das Menü nur dann, wenn [Esc] gedrückt wird. Das bezieht sich nur auf die Situation gleich nach dem Start, wo vorher immer sofort das Menü kam. Das jedoch hatten einige wieder nicht gewollt. Auch vergessen: wenn man APAC mit zwei Datenbanken startet, muß man -a01 geben, sonst kann man nicht mit [Alt+a] umschalten auf die zweite Datenbank. Die Einstellung -a00 ist sinnvoll, wenn aus dieser nur nachgeladen werden, der Benutzer aber keinen Einblick nehmen soll.
S. 156 Mit dem Befehl log2alg katalog a:cat erhält man nichts Brauchbares. Man muß auf das Datenverzeichnis wechseln, dort log2alg cat geben, dann entsteht cat.alg, die man sich auf eine Diskette kopieren kann. Anders geht's zur Zeit nicht.
S. 333 Der Code für den diakritischen Unterstrich ist nicht 233, sondern 223.
Neue Codes im OSTWEST.FON: 215 für das große dänische Ø und 221 für das (leider noch nicht druckbare) Euro-Währungssymbol (vorher standen dort die Zeichen ® bzw. (ungleich), die unseres Wissens niemand brauchte.

Termine

AnwenderInnen-Treffen allegro-Nordwest
Das dritte Treffen dieses rührigen regionalen Interessenverbandes am 24.10.1996 in Stade wurde von 60 Teilnehmern aus dem gesamten Bundesgebiet besucht.
Das vierte Jahrestreffen ist geplant für den 2.10.1997 im malerischen Malente. Interessenten wenden sich an Doris Gerlach oder Wolfram Hartwich, Polizeidirektion für Aus- und Weiterbildung, SB 47 (Fachbücherei), Kiebitzhörn, 23714 Malente. Tel. 04523-209-151 oder -150.

E-mail-Liste

Die Eintragung in diese Liste geht so: Sie senden nichts als die Meldung subscribe allegro an die Adresse maiser@buch.biblio.etc.tu-bs.de. Sie erfahren dann alles Weitere.

Abmelden: unsubscribe allegro senden, aber gleichfalls an maiser@..., nicht an die Liste !


WordPerfect 5.1-Datei PostScript-Datei

© 22.07.1997 UB Braunschweig, Bernhard Eversberg (b.eversberg@tu-bs.de)

Fragen bitte an:

ub@tu-bs.de