80-Bus Journal

  

Juli/Aug. 1983 · Ausgabe 7/8

Adreßverwaltung

von Günter Böhm

Im Journal 3 und 5/82 habe ich ein Dateiverwaltungsprogramm veröffentlicht, das die Grundlage zur hier beschriebenen Adreßverwaltung bildet. Durch die laufende Arbeit mit dem Programm für den Versand des Journals haben sich bestimmte Schwerpunkte ergeben, die die augenblickliche Gestaltung der Version 5.0 fixierten. Nach der Lektüre des letzten mc wurde mir klar, was ich über die Organisation von Dateien noch nicht weiß, aber trotz des einfachen Aufbaus meiner Dateien (Trennung der einzelnen Records durch das Beil-Zeichen) ohne jegliche Querverweise oder Suchbäume etc. scheint mein Programm (fast) jeden Luxus der beschriebenen teuren Adreß-Programme aufzuweisen, zumindest auf die relativ geringe Datenmenge bezogen, die ich mit dem Programm zu verwalten habe (im Augenblick exakt 555 Adressen).

Das Programm wird aus Platzgründen nur als Hexdump abgedruckt, nur die Programmteile „zweispaltiger Ausdruck“ und „Suchen mit beliebigen Buchstabenfolgen“ möchte ich für interessierte Leser als Assemblerlisting abdrucken. 90% des Programms wurden ja schon in oben erwähnten Heften im Assembler vorgestellt. Leser, die gerne das vollständige Assemblerlisting hätten, bekommen es gegen Einsendung einer Cassette mit Rückporto gerne zugesandt. Vielleicht legen sie noch ein paar Briefmarken für die Mühe bei; immerhin handelt es sich um 24 K Assemblertext. Fotokopien werden etwas länger dauern und auch nicht ganz billig sein, denn für eine Kopie muß ich DM .–20 bezahlen.

Hier nun zunächst auf Wunsch eine ausführliche Bedienungsanleitung.

Nach Start des Programms meldet sich das Menü (Bild1).

Adressenverwaltung
SUCHEN                   1
EINGEBEN                 2
ÄNDERN                   3
SORTIEREN                4
AUSGABE                  5
EINLESEN (Cass.)         6
ZÄHLEN                   7

Ich will nun zunächst Adressen eingeben und wähle die Ziffer 2. Das Programm schreibt „Data Input“ auf den Schirm und wartet auf die Eingabe, die sofort (ohne Verwendung zusätzlicher Tasten erfolgt). Die Eingabe wird normalerweise mit
Vorname Nachname       begonnen, (wobei der Zwischenraum vor dem Nachnamen später als Suchkriterium bei „Name“ wichtig ist). Mindestens ein Space ist erforderlich. Der letzte kennzeichnet den Nachnamen. So wäre die Eingabe „Herbert Holbein jun.“ ungeschickt, da als Nachname nur „jun.“ gefunden werden könnte. Durch Eingabe von „Graph+Space“, würde „Holbein“ und „jun.“ zusammengefaßt, und der Nachname kann richtig gefunden werden. Ähnlich ist auch bei den anderen Eingaben zu verfahren. (So ergeben sich oft zweizeilige „Straßennamen“, wie z.B.

Freiherr-vom-Stein-Gymnasium
Westerholder Weg 113

die durch „Shift/​Control/​Graph J“ anstelle von ENTER vom Programm als eine Zeile, vom Drucker aber zweizeilig interpretiert werden). Das Adressenformat sieht drei Zeilen vor:

  1. Vorname Nachname Enter
  2. Straße Hausnummer Enter
  3. PLZ Wohnort *Zusatzinformationen, die den ganzen Bildschirm füllen können

ESCAPE als Zeichen zum Abspeichern der Adresse.

Das Sternchen vor den Zusatzinformationen gilt als Endzeichen beim Ausdruck von Aufklebern, im einfachen Druckmodus werden die Records vollständig ausgedruckt. Wir verwenden z.B. *P für Probeheft und *3 für „ab März abonniert“.

Eine beliebige Taste läßt wieder „Data Input“ erscheinen, und das Eingabespiel kann von neuem beginnen. Soll die Eingabe abgeschlossen werden, wird nochmals ESCAPE gedrückt, und das Programm springt zum Menü zurück.

Nun möchte ich mir die eingegebenen Daten anschauen. Ich gebe die Ziffer 1 ein, und das Programm bietet die Auswahlmöglichkeiten nach Bild2.

NACHNAME                 N
PLZ/WOHNORT              P
ALLGEMEIN                A
MENU                     M

Hier ist nun ein gewaltiger Unterschied zur ursprünglichen Version des Programms: früher wurden die ganzen Records nach einem Suchbegriff durchforscht, sodaß die Suche nach „Michael Bach“ auch einen Herrn aus der „Bachwiesenstraße“ bescherte, und die Eingabe „Peter“ warf nicht nur „Christian Peter“ aus, sondern auch „Peter Brendel“. Die Möglichkeit „N“ durchsucht nur die Nachnamen, „P“ die Zeile mit Postleitzahl und Wohnort (Karl findet also Karlsruhe und nicht Karl Schulmeister). Wer das Programm noch etwas spezieller gestalten will, gibt in Adresse 1366 anstatt 0D den Wert 29 ein, und erhält dadurch beim Suchen von Postleitzahlen mit „70“ nur die Postleitzahlen 7000 bis 7099, und nicht etwa „1000 Berlin 70“, was ja nicht unbedingt wünschenswert ist.

Mit „A“ wird der ursprüngliche Modus gewählt, der den ganzen Record durchsucht. So können Vornamen, zusätzliche Informationen (wie unser *3) oder Straßennamen etc. gesucht werden.

Nach der Wahl des Suchmodus macht der Rechner je nach gespeicherter Datenmenge eine kleine Pause (in meinem Fall ca. 2 sec.), da, wie bei Sortieren oder Ändern von Records zunächst die ganze Datei auf fehlerhafte Eingabe untersucht wird (Spaces vorhanden? Max. 3 Zeilen?).

Nun wird aufgefordert: Suchbegriff eingeben.

Der Suchbegriff wird ohne zusätzliche Taste eingetippt. Hier nun der zweite große Unterschied zur ursprünglichen Version: Nun muß man die exakte Schreibweise des Namens nicht mehr kennen, ein „?“ kann für eine beliebige Zeichenfolge eingegeben werden. (Dabei gilt immer noch die UND/​ODER Verknüpfung, wobei Space UND und / ODER bedeutet).

Ralph (oder Ralf) Mayr (oder Maier oder Meyer oder, oder…) wird mit „Ral? M?r“ zweifelsfrei erkannt; selbst der Austausch von Groß-und Kleinbuchstaben spielt hier keine Rolle. Selbstverständlich gibt man dem Rechner dadurch einen großen Spielraum, auch ungewünschte Adressaten zu finden (M?r findet außer Maier auch Mertenheimer), aber die richtige Kombination mit möglichst wenig Ausschuß trotz unbekannter Schreibweise findet man schnell (Beispiel Bild3).

          WOLFGANG
          ANZAHL: 0021
          WOLFGANG M?R
          ANZAHL: 0003
          WOLFGANG M?R-GÜRR
          ANZAHL: 0001

Wird die gesuchte Adresse auf dem Bildschirm ausgegeben, dann zeigt eine beliebige Taste die nächste Adresse an, oder das Programm ist beendet; es bleibt allerdings im Suchmodus, bis man „M“ für „Menü“ drückt.

Seite 34 von 52