Nascom Journal

  

März/April 1982 · Ausgabe 3/4

Durchschnitt berechnen usw. Für manche Fälle muß eine formatierte Eingabe vorhanden sein, bestimmte Datenwörter müssen durch alle Files mit Cursor leicht geändert werden können (nicht Eingabe mit freibeweglichem Cursor wie vorliegend, sondern mit Cursor auf bestimmtem Wort.) Interessant wäre auch eine einfache „Programmiersprache“ für die Verwaltung z.B. Suche X Y/Z PRINT NAME Telefon, eine Sortierroutine (schneller als BASIC!) und und und....

Hier sind Sie als Leser aufgefordert, noch weitere Ideen beizusteuern oder sogar auszuarbeiten.

Zur Orientierung ein kleiner Hinweis zum Programmaufbau, eine ausführliche Beschreibung ist hier nicht möglich, kann aber auf Wunsch nachgeliefert werden.

Um die Parameterübergabe bei den einzelnen Programmteilen zu erleichtern, wurde ein Speicher angelegt, der die benötigten Informationen enthält. Sie müssen bei den Programmen darauf achten, welche Informationen aus dem Speicher geholt oder darin abgelegt werden. Die Daten sind folgendermaßen verteilt: „DATEI“ enthält den Beginn des Speichers für die Parameter

„ASTFIL“ enthält die Anfangsadresse des gerade bearbeiteten Files

„ALEFIL“ enthält die File Länge (inclusive BELL als Endzeichen)

„DATEND“ zeigt auf das augenblickliche Ende der Datei

„RAMEND“ zeigt auf das Ende des verfügbaren Speicherplatzes (im Augenblick 5FFF)

„AUSGAB-1“ enthält C3 und wird aufgerufen, wenn eine Ausgabe (z.B. Bildschirm, Drucker oder auch Ändern! des Files)benötigt wird)

„AUSGAB“ enthält die jeweilige Adresse der Ausgaberoutine

Daran schließen sich die entsprechenden Parameter für die Formulare an; so entspricht „FORMPA“ dem Speicher DATEI, er enthält den Beginn der Formulardatei

An die 5 Formular-Parameter schließt sich eine Adresse an, die die Nummer des augenblicklich benötigten Formulars enthält

Die folgenden 10 Bytes dienen dazu, die Parameter der Filedatei aufzunehmen, wenn gerade mit Formularen gearbeitet wird. Nach erfolgter Manipulation werden die Formulardaten wieder nach FORMPA etc geschleust und die alten Parameter wieder aus dem „Rettungspuffer“ geholt. (Beachten Sie hier die Routinen RETTEN und NORMAL). Ein einfacher Trick mit großer Wirkung.

Ein zusätzlicher Puffer bei C80 nimmt die Suchbegriffe auf. Dabei enthält BUFFER den Beginn des Suchspeichers, ENDZ enthält das Zeichen, bis zu dem ein File durchsucht werden soll (im Augenblick BELL für File Ende), BUFWD1 enthält die Adresse des Wortes im Buffer, nach dem gerade gesucht wird, und SUCHAN enthält die Anzahl der zu suchenden Wörter.

Alle Routinen sind als Unterprogramme angelegt (auch wenn sie im Listing als Hauptprogramm bezeichnet werden), die entweder vom Menue aufgerufen werden, oder sich gegenseitig aufrufen. Zukünftige Routinen sollten ebenfalls mit Return abschließen, um die Flexibilität zu erhalten.

EINGAB (1000) Einlesen von Daten und Speichern in Datei; Abschluß durch ESCAPE. Frei beweglicher Cursor, NL erzeugt ASCII 09 auf dem Schirm, um das Abspeichern unnötiger Spaces zu verhindern.

INIT (114D) lädt Ausgangsparameter zum Anlegen neuer File- und Form-Dateien; ruft EINGAB auf

ISTEND (11E3) vergleicht Filebeginn mit Dateiende. Ist Dateiende erreicht:Message und Ret zum Menue

ALLFLS (120F) gibt alle Files aus, errechnet die jeweilige Filenummer und gibt sie (wie bei SUCHEN) auf dem Schirm aus.

SCREEN (10ED) lädt File von Speicher auf Bildschirm, Verwandelt #09 in New Line.

SEARCH (122C) durchsucht ein File. Es kehrt zurück mit B=0 , wenn alle Suchbedingungen erfüllt sind, sonst enthält B einen anderen Wert.

INITSE (1286) lädt die Suchbegriffe in den Puffer und errechnet die Anzahl aus der UND/​ODER Verknüpfung.

SUCHEN (12EC) ruft SEARCH so lange, bis alle Files gefunden oder Dateiende erreicht ist.

PRTALL (133b) gibt alle Files aus.

PRTNBR (1378) druckt das Wort, dessen Nummer in B steht (BCD-Code)

FORM (13AD) druckt ein Formular und darin die angegebenen Wörter aus den Files.

CHAFOR (141D) lädt die gewählte Ausgaberoutine in den Speicher AUSGAB.

EXTEND (14C0) ermöglicht das Anhängen von Files an bestehende Datei.

CHANGE (14C9) springt ins Suchprogramm und wählt als Ausgaberoutine AENDER zum Ändern

Seite 10 von 52