diff options
Diffstat (limited to 'doc/eudas/eudas.ref.7')
-rw-r--r-- | doc/eudas/eudas.ref.7 | 447 |
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 - |