Register
Für acon hat der Befehl eine andere Wirkungsweise , siehe unten.
Spezielle Einlesefunktionen
read
read rec name
Datei E.ADT bzw. Datei name wird eingelesen. Diese kann eine Reihe von Kategorien enthalten, die dann alle in den aktuellen Satz eingefügt werden. (Erfassungshilfe; manuell mit ALt+ä oder Menü "Bearbeiten | Read")
Wenn name fehlt, wird der Inhalt der iV genommen.
Achtung: Einen kompletten Datensatz einlesen aus einer geöffneten Datei (Typ .ALG oder .ADT) geht auch, aber mit dem Befehl fetch rec .
read extern
Datei EXTERN.DAT wird als externe Datei eingelesen (wie über das Menü "Datei | Externe Datei laden").
Die Datei kann wahlweise die Grundstruktur (.ALG) haben oder die Externstruktur (.ADT), das erkennt das Programm automatisch.
Dies wird man hauptsächlich für Prozeduren nutzen, die mit ExFLEXen arbeiten, um Daten von außen anzuliefern.
read file name
Datei name wird als Externdatei eingelesen. Es muß sich um eine Datei vom Typ .ADT oder .ALG handeln. Sie wird den schon vorhandenen Offline-Daten hinzugefügt (wie über das Menü "Datei | Weitere Offline-Datei laden").
Vorher kann man mit erase off den Offline-Speicher leeren.
Mit if no ... kann man checken, ob es gelang und die Datei etwas enthielt, bevor man sie mit show list anzeigen läßt.
Hinweis: Im Dateinamen können normale Schrägstriche statt \ verwendet werden! Wenn man den \ nimmt, muß man ihn verdoppeln.
Alternative: Statt dieses etwas veralteten Befehls kann man auch schreiben, wenn z.B. der Name in der Variablen #una steht::
var "F" #una
var // Die Datei in die iV holen
insert // Den iV-Inhalt in den Dateisatz einsortieren
Eine Besonderheit sind die sog. externen Erg.Mengen, die z.B. bei einem Aufruf von PRESTO oder SRCH entstehen! Diese bestehen nur aus einer Liste interner Satznummern von Datensätzen, die bereits zur Datenbank gehören. Auch mit FLEXen kann man solche Dateien erstellen und an diese Stelle verwenden:
read set name acon [ab V29]
Datei name wird als PRESTO-Ergebnismenge eingelesen. Die Datei besteht nur aus einer Titelzeile und dann einer Liste von Satznummern in beliebiger Folge, je eine Nummer pro Zeile. (Eine solche Datei namens X.SET entsteht, wenn man vom Menü "Datei" aus PRESTO aufruft und dann eine Ergebnismenge exportiert. Dabei werden die Parameter RS.APR benutzt.) Es spielt aber keine Rolle, wie diese Datei entstanden ist. Mit if no ... kann man checken, ob das Einlesen gelang und die Datei etwas enthielt, bevor man sie mit show list anzeigen läßt.
Beispiel 1:
Der FLEX fts.flx ermöglicht eine Volltextsuche in der Datenbank und liest dann die Ergebnisse in a99 ein. Das Volltext-Suchprogramm SRCH.EXE wird gestartet (in einem DOS-Fenster), es führt die Suche aus und exportiert eine Datei mit den Nummern der gefundenen Datensätze. Ab V27.1 kann man statt dessen auch per FLEX eine Volltextsuche in der Gesamtbank machen, wobei der Befehl srx zum EInsatz kommt.
Beispiel 2:
Man kann das Anzeigefeld zum Editieren benutzen:
Zuerst mit F5 die Internform des Satzes anzeigen lassen, dann diese bearbeiten.
Und nun reicht ein ganz kurzer FLEX
x file xx\read rec xx
um das bearbeitete Anzeigefeld in die Datei xx zu speichern und diese dann wieder in den Datensatz einzulesen. Das klappt auch bei hierarchischen Sätzen! Tip: Wenn man das regelmäßig machen will, auf eine Flip-Taste legen oder auf F3 oder F4.
Aber Vorsicht: Wenn man V14-Verknüpfungen hat (Personen- und andere Stammsätze), dann diese Methode nicht benutzen! Für den Fall wurde eine andere entwickelt, die Sie mit dem folgenden Link einschalten können: Bearbeitung im Anzeigefeld aktivieren
Gestartet wird dann der FLEX dispedit.flx, der bei jedem Kategoriesystem funktioniert.
Tip:
Für das externe Bearbeiten von Daten im UTF8-Zeichensatz (Unicode) gibt es utf8edit.flx.
Beispiel 3:
Die aktuelle Ergebnismenge permanent speichern, um sie später neu einlesen zu können.
open x ABC // beliebiger Dateiname ABC
wri U n in // U = Erg.Mengenname, in = Liste der Satznummern der aktuellen Erg.Menge
close x
Das spätere Wiedereinlesen geht so:
read set ABC
***************************************************************
NUR acon
datafile sei eine Externdatei des Typs .ADT , eine Grunddatei der Struktur .ALG oder sogar eine Datenbankdatei des Typs .ALD. acon (genauer gesagt das Programm acon ) erkennt die Stuktur selbständig (bei .ALD-Dateien werden gelöschte Sätze übergangen)! Die Sätze sollen eingelesen und gespeichert werden. Dabei soll jeder Satz noch vorbearbeitet werden. Hier nur das Gerüst, damit es übersichtlich bleibt:
....
read datafile // QuellDatei wird geöffnet, erste Satz wird eingelesen
:loop
... // Vorbearbeitung durch beliebige Befehle
put // Satz wegschreiben
read // nächsten Satz einlesen
if ok jump loop // wenn noch einer da war, Sprung nach :loop
... // weitere Befehle oder Ende des Auftrags
Diese Arbeitsweise läuft bei a99 leider anders:
open datafile // QuellDatei wird geöffnet, noch nichts gelesen
fetch rec
:loop
... // Vorbearbeitung durch beliebige Befehle
put // Satz wegschreiben
fetch rec // nächsten Satz einlesen
if not cancel jump loop // wenn noch einer da war, Sprung nach :loop
... // weitere Befehle oder Ende des Auftrags