summaryrefslogtreecommitdiff
path: root/doc/eudas/eudas.ref.7
diff options
context:
space:
mode:
Diffstat (limited to 'doc/eudas/eudas.ref.7')
-rw-r--r--doc/eudas/eudas.ref.7447
1 files changed, 0 insertions, 447 deletions
diff --git a/doc/eudas/eudas.ref.7 b/doc/eudas/eudas.ref.7
deleted file mode 100644
index 31b3031..0000000
--- a/doc/eudas/eudas.ref.7
+++ /dev/null
@@ -1,447 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (71)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-7 Verwaltung der offenen Dateien
-
-
-Die in diesem Kapitel beschriebene Schnittstelle verbindet mehrere
-EUDAS-Dateien zu einem großen Dateimodell. Diese virtuelle Datei
-dient als Grundlage für die meisten EUDAS-Funktionen. Zuerst muß
-eine Datei als Bestandteil der virtuellen Datei geöffnet werden, ehe
-sie bearbeitet werden kann. Es ist so bei den Funktionen keine
-Angabe mehr nötig, welche Datei gemeint ist.
- Diese Schnittstelle ist in vielen Teilen für die interne
-EUDAS-Anwendung ausgelegt. Bei einigen Prozeduren werden aus
-Effizienzgründen keinerlei Überprüfungen auf illegale Aufrufe oder
-Parameter durchgeführt. Wollen Sie eine solche Prozedur dennoch
-verwenden, sollten Sie die Einhaltung der angegebenen Bedingungen
-sorgfältig überprüfen.
-
-
-7.1 Dateiverwaltung
-
-Mit 'oeffne' wird eine Datei zum Bearbeiten geöffnet. Mit 'kette' und
-'kopple' können weitere Dateien dazugekettet bzw. dazugekoppelt
-werden. Durch 'sichere' können veränderte Kopien zurückgeschrie­
-ben werden. Durch 'dateien loeschen' werden die internen Kopien
-gelöscht.
- Mit 'anzahl dateien' kann die Anzahl der vorhandenen Dateien
-erfragt werden. 'anzahl koppeldateien' gibt Auskunft darüber, wie­
-viel Dateien davon gekoppelt sind. 'aendern erlaubt' gibt den Status
-wieder, der beim Öffnen der ersten Datei angegeben wurde. 'inhalt
-veraendert' gibt an, ob die angegebene Datei verändert wurde. Mit
-'eudas dateiname' können die Namen der geöffneten Dateien erfragt
-werden. Bei jedem 'oeffne' wird 'dateiversion' um 1 erhöht. Dies
-dient dazu, ein erfolgtes neues Öffnen von anderen Stellen aus zu
-entdecken.
- Mit 'auf koppeldatei' kann die virtuelle Datei auf eine Koppel­
-datei umgeschaltet werden, so daß der Eindruck entsteht, nur diese
-Datei wäre geöffnet worden.
-
-PROC oeffne (TEXT CONST dateiname,
- BOOL CONST aendern erlaubt)
- Falls Ändern erlaubt sein soll, wird eine Kopie der angegebenen
- Datei zur Bearbeitung für EUDAS angelegt. Vorher geöffnete
- Dateien werden gelöscht. Die Änderungserlaubnis wird entspre­
- chend gesetzt. Es wird die Satzposition der EUDAS-Datei ange­
- nommen (Ausnahme: steht die EUDAS-Datei hinter dem letzten
- Satz, wird auf Satz 1 positioniert). 'dateiversion' sowie 'anzahl
- dateien' werden um 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#Datei nicht gesichert#off("i")#
- Eine vorher geöffnete Datei war verändert, aber nicht gesi­
- chert.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-
-PROC kopple (TEXT CONST dateiname)
- Die angegebene Datei wird zu den bereits geöffneten Dateien
- dazugekoppelt. Falls Ändern erlaubt ist, wird eine Kopie dieser
- Datei verwendet. Dabei werden die ersten Felder der Datei, die
- bereits in der Hauptdatei vorhanden sind, als Koppelfelder
- festgelegt. Alle weiteren Felder werden zusätzlich zu den bis­
- herigen angelegt. 'dateiversion', 'anzahl dateien' und 'anzahl 
- koppeldateien' werden um 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß vorher eine Datei geöffnet werden.
-#f1#
- #on("i")#Zuviel Dateien geoeffnet#off("i")#
- Die Anzahl der gleichzeitig geöffneten Dateien ist begrenzt.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-#f1#
- #on("i")#Zu viele Felder#off("i")#
- Die Anzahl der Felder insgesamt ist begrenzt.
-#f1#
- #on("i")#Zu viele Koppelfelder#off("i")#
- Die Anzahl der Koppelfelder ist begrenzt.
-#f1#
- #on("i")#keine Koppelfelder vorhanden#off("i")#
- Das erste Feld der zu koppelnden Datei ist in der Hauptdatei
- nicht vorhanden (unterschiedliche Feldnamen).
-
-PROC kette (TEXT CONST dateiname)
- Die angegebene Datei wird an die Hauptdatei angekettet, d.h.
- die Sätze der neuen Datei werden am bisherigen Dateiende
- angefügt. Falls Ändern erlaubt ist, wird eine Kopie dieser Datei
- verwendet. Die zu kettende Datei muß in der Feldstruktur nicht
- mit der Hauptdatei übereinstimmen. Die aktuelle Satzposition
- wird beibehalten. 'dateiversion' und 'anzahl dateien' werden um
- 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß vorher eine Datei geöffnet werden.
-#f1#
- #on("i")#Zuviel Dateien geoeffnet#off("i")#
- Die Anzahl der gleichzeitig geöffneten Dateien ist begrenzt.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-
-PROC sichere (INT CONST dateinr, TEXT CONST dateiname)
- Die geöffneten Dateien werden in der Reihenfolge ihres Öffnens
- durchnumeriert (von 1 an). Die Arbeitskopie mit der angegebe­
- nen Nummer wird unter dem angegebenen Namen gesichert, aber
- selbst nicht verändert. Die vorher unter diesem Namen vorhan­
- dene Datei wird gelöscht. War die zu sichernde Arbeitskopie
- verändert worden, so wird sie anschließend als nicht verändert
- angesehen.
- Bedingungen:
- 1 <= dateinr <= anzahl dateien
-
-PROC dateien loeschen (BOOL CONST auch geaenderte)
- Es werden alle geöffneten Arbeitskopien gelöscht. EUDAS wird
- wieder in den Anfangszustand versetzt. Wird 'auch geaenderte'
- angegeben, wird bei geänderten, aber nicht gesicherten Dateien
- die Fehlermeldung unterdrückt.
-
- FEHLER:
-#f1#
- #on("i")#Datei nicht gesichert#off("i")#
- Eine vorher geöffnete Datei war verändert, aber nicht gesi­
- chert.
-
-BOOL PROC auf koppeldatei
- Liefert TRUE, wenn auf eine Koppeldatei umgeschaltet wurde.
-
-PROC auf koppeldatei (INT CONST nr)
- Umschalten auf Koppeldatei 'nr'. Ist bereits umgeschaltet, wird
- wieder zurückgeschaltet. In diesem Fall werden bei 'nr' = 1 die
- Koppelfelder übernommen, anderenfalls nicht. Beim Umschalten
- bleiben Satzposition, Markierungen und Suchmuster gespeichert.
- In der Koppeldatei wird die beim letzten Umschalten eingestell­
- te Position wieder eingenommen. 'dateiversion' wird um 1 er­
- höht.
-
-INT PROC anzahl dateien
- Gibt die Anzahl der insgesamt geöffneten Dateien an.
-
-INT PROC anzahl koppeldateien
- Gibt die Anzahl der gekoppelten Dateien an.
-
-BOOL PROC aendern erlaubt
- Reflektiert den Status, der bei 'oeffne' gesetzt wurde.
-
-BOOL PROC inhalt veraendert (INT CONST dateinr)
- Gibt an, ob die geöffnete Datei mit der angegebenen Nummer
- verändert wurde. Wird ggf. von 'sichere' zurückgesetzt.
- Bedingung:
- 1 <= dateinr <= anzahl dateien
-
-TEXT PROC eudas dateiname (INT CONST dateinr)
- Liefert den Namen, unter dem die entsprechende Datei geöffnet
- wurde.
- Bedingung:
- 1 <= dateinr <= anzahl dateien
-
-INT PROC dateiversion
- Wird bei jedem 'oeffne', 'kette' und 'kopple' zyklisch erhöht.
-
-INT PROC folgedatei (INT CONST dateinr)
- Eine geöffnete EUDAS-Datei wird in eine von zwei Listen auf­
- genommen, die der geketteten Dateien und die der gekoppelten.
- Diese Prozedur liefert jeweils die Nummer der nächsten Datei in
- der Liste, am Ende aber 0. Die Liste der geketteten Dateien
- beginnt immer mit 1, mit 'folgedatei (0)' erhält man die erste
- gekoppelte Datei.
- Bedingung:
- 0 <= dateinr <= anzahl dateien
-
-
-7.2 Feldstruktur
-
-Die einzelnen Sätze der kombinierten EUDAS-Datei sind in Felder
-unterteilt. Diese setzen sich zusammen aus den Feldern der Haupt­
-datei und der einzelnen Koppeldateien, wobei die Koppelfelder je­
-weils nur einmal auftauchen.
- 'anzahl felder' liefert die Anzahl der vorhanden Felder. Mit
-'feldnamen lesen' und 'feldnamen bearbeiten' können die Feldnamen
-abgefragt werden. 'feldnummer' liefert einen Index für einen vor­
-gegebenen Feldnamen, da die Felder immer über Nummern angespro­
-chen werden.
- Die Prozeduren 'feld lesen' und 'feld bearbeiten' ermöglichen
-den Zugriff auf den Feldinhalt des aktuellen Satzes; durch 'feld
-aendern' kann dieser Inhalt abgeändert werden.
-
-INT PROC anzahl felder
- Liefert die Anzahl der vorhanden Felder.
-
-PROC feldnamen lesen (INT CONST feldnr,
- TEXT VAR feldname)
- Liefert in 'feldname' den Namen des Feldes mit der Nummer
- 'feldnr'.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feldnamen bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Die Prozedur 'bearbeite' wird aufgerufen. Als Parameter werden
- ein Text und Anfangs- und Endposition des gewünschten Feld­
- namens in diesem Text übergeben. Verhindert unnötiges Kopie­
- ren des Feldnamens in eine TEXT-Variable. Der übergebene
- Text darf nicht verändert werden!
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-INT PROC feldnummer (TEXT CONST feldname)
- Liefert den index zu dem angegebenen Feldnamen. Falls ein
- solcher Name nicht existiert, wird 0 geliefert.
-
-PROC feld lesen (INT CONST feldnr, TEXT VAR inhalt)
- Liefert den Inhalt des angegebenen Feldes.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feld bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Die Prozedur 'bearbeite' wird aufgerufen. Der Feldinhalt des
- angegebenen Feldes steht im übergebenen Text innerhalb der
- Grenzen. Ist die Obergrenze kleiner als die Untergrenze, so ist
- das Feld leer.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feld aendern (INT CONST feldnr, TEXT CONST inhalt)
- Ändert den Inhalt des angegebenen Feldes.
- Bedingung:
- NOT ende der datei
- 1 <= feldnr <= anzahl felder
-
-INT PROC feldinfo (INT CONST feldnummer)
- Liefert den Typ des angegebenen Feldes.
- Bedingung:
- 1 <= feldnummer <= anzahl felder
-
-PROC notizen lesen (INT CONST nr, TEXT VAR inhalt)
- Liest die angegebenen Notizen ('nr' = 1,2,3) aus der ersten
- Datei oder der umgeschalteten Koppeldatei.
-
-PROC notizen aendern (INT CONST nr, TEXT CONST inhalt)
- Ändert die Notizen ('nr' = 1,2,3) der ersten Datei oder der um­
- geschalteten Koppeldatei.
-
-
-7.3 Positionierung
-
-Das virtuelle Dateimodell von EUDAS verfügt ebenfalls über eine
-Satzposition, die verändert werden kann.
- Durch 'satznummer' wird die aktuelle Satznummer geliefert,
-beim Koppeln kann über 'satzkombination' die Reihenfolge der Kop­
-pelkombinationen bestimmt werden. 'dateiende' zeigt an, ob die
-Satzposition hinter dem letzten Satz liegt. Mit 'weiter' und 'zurueck'
-erfolgt die eigentliche Positionierung. Hier kann außer der Positio­
-nierung um Einzelsätze auch die Positionierung auf den nächsten
-ausgewählten oder markierten Satz angefordert werden. Mit 'auf 
-satz' schließlich kann ein bestimmter Satz angesprungen werden.
-
-INT PROC satznummer
- Liefert die Nummer des aktuellen Satzes. Die Sätze werden von
- 1 an durchnumeriert, wobei über die geketteten Dateien wei­
- tergezählt wird.
- Bedingung:
- anzahl dateien > 0
-
-INT PROC satzkombination
- Liefert die laufende Nummer der Koppelkombination des aktuel­
- len Satzes. Wird nur durch 'weiter' im Einzelsatzmodus erhöht.
- Normalerweise 1.
- Bedingung:
- anzahl dateien > 0
-
-BOOL PROC dateiende
- Gibt an, ob die Satzposition hinter dem letzten Satz liegt.
-
-PROC weiter (INT CONST modus)
- Erhöht die aktuelle Satzposition. Für 'modus' gibt es 3 Möglich­
- keiten:
- 1: Falls eine weitere Satzkombination besteht, wird diese ein­
- genommen, sonst zum nächsten Satz.
- 2: Zum nächsten durch Suchbedingung ausgewählten Satz. Wird
- optimiert.
- 3: Zum nächsten markierten Satz. Wird optimiert.
- Ist kein Satz mehr vorhanden, wird die Satzposition hinter dem
- letzten Satz eingenommen.
- Bedingung:
- anzahl dateien > 0
-
-PROC zurueck (INT CONST modus)
- Geht um einen Satz zurück. Die Modusangabe ist wie bei 'wei­
- ter', jedoch wird im Modus 1 keine weitere Satzkombination
- ausprobiert. Die Positionierung endet bei Satz 1.
- Bedingung:
- anzahl dateien > 0
-
-PROC auf satz (INT CONST satznr)
- Geht auf den angegebenen Satz. Ist 'satznr' < 1, wird auf Satz 1
- positioniert, ist der angegebene Satz nicht vorhanden, wird
- hinter den letzten Satz positioniert. Es wird jeweils die erste
- Satzkombination eingenommen.
- Bedingung:
- anzahl dateien > 0
-
-
-7.4 Änderungen
-
-Sätze des Dateimodells können eingefügt oder gelöscht werden.
-Durch das Einfügen entsteht ein leerer Satz vor dem aktuellen Satz;
-alle weiteren Sätze rücken eine Stelle weiter. Beim Löschen wird
-dieser Vorgang wieder rückgängig gemacht.
- Durch 'satz einfuegen' wird ein Leersatz eingefügt; durch
-'satz loeschen' wird der aktuelle Satz gelöscht.
- Sätze in gekoppelten Dateien werden grundsätzlich nicht ge­
-löscht; auch beim Einfügen entsteht nicht automatisch ein Leersatz
-in den gekoppelten Dateien. Änderungen in den Koppeldateien
-(durch 'feld aendern') werden gepuffert. Durch 'aenderungen ein­
-tragen' werden die Änderungen dann in die Koppeldateien eingetra­
-gen. Dabei kann auch ein neuer Satz in die Koppeldatei eingefügt
-werden. Bei Positionierungen wird diese Prozedur automatisch auf­
-gerufen.
-
-PROC satz einfuegen
- Fügt vor dem aktuellen Satz einen Leersatz ein.
- Bedingung:
- anzahl dateien > 0
-
-PROC satz loeschen
- Löscht den aktuellen Satz. Hat hinter dem letzten Satz keine
- Wirkung.
- Bedingung:
- anzahl dateien > 0
-
-PROC aenderungen eintragen
- Trägt die gepufferten Änderungen in die Koppeldateien ein.
- Dabei können die folgenden Fälle auftreten:
- 1. Der Satz in der Koppeldatei wird geändert.
- Dies geschieht dann, wenn vorher ein passender Satz in der
- Koppeldatei vorhanden war und die Koppelfelder nicht ver­
- ändert wurden.
- 2. In der Koppeldatei wird ein neuer Satz eingefügt.
- Wenn die Koppelfelder und noch andere Felder einer Datei
- geändert wurden, wird in dieser Datei ein neuer Satz einge­
- fügt.
- 3. Es wird neu gekoppelt.
- Wurden nur die Koppelfelder einer Datei geändert, wird ein
- neuer, zu diesen Feldern passender Satz gesucht. Nach
- 'aenderungen eintragen' erscheinen unter den Feldern der
- Datei die neuen Inhalte.
-
-
-7.5 Suchbedingungen
-
-Über 'suchbedingung' kann eine Suchbedingung eingetragen werden,
-die für jeden Satz geprüft werden soll. Mit 'satz ausgewaehlt' wird
-erfragt, ob der aktuelle Satz die Suchbedingung erfüllt. Die Such­
-bedingung kann mit 'suchbedingung loeschen' wieder ausgeschaltet
-werden.
- Einzelne Sätze können auch markiert werden. Nach einem Öff­
-nen ist zunächst kein Satz markiert. Durch 'markierung  aendern'
-kann die Markierung eines Satzes geändert werden. 'satz markiert'
-fragt ab, ob der aktuelle Satz markiert ist. 'markierte saetze' liefert
-die Anzahl der markierten Sätze. Mit 'markierungen loeschen' wer­
-den alle Markierungen entfernt.
-
-PROC suchbedingung (INT CONST feldnr,
- TEXT CONST bedingung)
- Stellt für das angegebene Feld die im Text als Muster angege­
- bene Suchbedingung ein. Weitere Aufrufe verknüpfen die Be­
- dingungen mit UND (auch wenn das gleiche Feld erneut angege­
- ben wird).
- Bedingung:
- anzahl dateien > 0
- 1 <= feldnr <= anzahl felder
-
- FEHLER:
-#f1#
- #on("i")#Suchmuster zu umfangreich#off("i")#
- Es wurden zu viele Vergleiche gefordert.
-
-BOOL PROC satz ausgewaehlt
- Gibt an, ob die Suchbedingung auf den aktuellen Satz zutrifft.
- Hinter dem letzten Satz wird immer FALSE geliefert.
- Bedingung:
- anzahl dateien > 0
-
-PROC suchbedingung lesen (INT CONST feldnr, TEXT VAR bedingung)
- Liefert die zuletzt für das angegebene Feld eingestellte Bedin­
- gung, falls die Suchbedingung nicht gelöscht und keine Datei
- neu geöffnet wurde.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC suchbedingung loeschen
- Löscht die eingestellte Suchbedingung wieder. Anschließend
- sind alle Sätze ausgewählt.
- Bedingung:
- anzahl dateien > 0
-
-PROC markierung aendern
- Ändert die Markierung des aktuellen Satzes ins Gegenteil.
- Bedingung:
- anzahl dateien > 0
-
-BOOL PROC satz markiert
- Gibt an, ob der aktuelle Satz markiert ist.
- Bedingung:
- anzahl dateien > 0
-
-INT PROC markierte saetze
- Gibt an, wieviel Sätze insgesamt markiert sind.
- Bedingung:
- anzahl dateien > 0
-
-PROC markierungen loeschen
- Löscht alle Markierungen.
- Bedingung:
- anzahl dateien > 0
-