diff options
Diffstat (limited to 'doc/eudas/eudas.ref.8')
-rw-r--r-- | doc/eudas/eudas.ref.8 | 454 |
1 files changed, 0 insertions, 454 deletions
diff --git a/doc/eudas/eudas.ref.8 b/doc/eudas/eudas.ref.8 deleted file mode 100644 index fc2b3bc..0000000 --- a/doc/eudas/eudas.ref.8 +++ /dev/null @@ -1,454 +0,0 @@ -#limit (11.0)##pagelength (16.5)##block# -#start (2.0,0.0)# -#page (83)# -#headodd# -#center#EUDAS#right#% - -#end# -#headeven# -%#center#EUDAS - -#end# -#center#1 - -8 Funktionen zur Bearbeitung - - - -Die Verarbeitungsfunktionen arbeiten jeweils auf der aktuell geöff -neten Datei. Falls mindestens ein Satz markiert ist, werden nur -markierte Sätze bearbeitet, anderenfalls die durch die Suchbedin -gung ausgewählten Sätze. - - -8.1 Drucken - -Zum Drucken wird ein Druckmuster als Textdatei benötigt. Dessen -Name muß beim Aufruf der Prozedur 'drucke' angegeben werden. -Werden beim Übersetzen des Druckmusters Fehler entdeckt, so wird -der Paralleleditor aufgerufen und kein Druckvorgang durchgeführt. - Normalerweise sendet der Druckgenerator die Ausgabe direkt -zum Drucker. Alternativ kann die Ausgabe auch in eine Datei ge -schrieben werden. Dieses Verfahren kann mit 'direkt drucken' umge -stellt werden. Der Aufruf - - - direkt drucken (TRUE) - - -sendet alle Dateien direkt zum Drucker, mit - - - direkt drucken (FALSE) - - -wird die Ausgabe in Dateien abgelegt. Diese Dateien erhalten Namen -der Form - - - "Druckmustername.a$n" - - -wobei 'n' eine laufende Nummer zur Unterscheidung ist. - Soll die Druckausgabe in eine ganz bestimmte Datei geleitet -werden, so kann vor dem Aufruf von 'drucke' die Prozedur 'druck -datei' aufgerufen werden, die als Parameter den Namen der Ausga -bedatei erhält. Existiert die Datei noch nicht, wird sie eingerichtet, -ansonsten wird die Ausgabe am Ende angehängt. - Die Einstellung der Ausgabedatei gilt nur für einen Druckvor -gang und überschreibt für diesen Druckvorgang 'direkt drucken'. -Beim nächsten Druckvorgang wird wieder die durch 'direkt drucken' -festgelegte Einstellung verwendet. - Wenn beim Drucken ein großes Ausgabevolumen anfällt, kann es -sinnvoll sein, die Ausgabe in mehrere kleine Dateien aufzuteilen. -Dies gilt auch, wenn direkt gedruckt werden soll, da auch in diesem -Fall eine Zwischendatei erzeugt werden muß. Die maximale Anzahl -von Zeilen pro Datei wird durch 'max druckzeilen' angegeben. - Der dort angegeben Wert gilt nur ungefähr - ein Wechsel der -Ausgabedatei findet dann statt, wenn die Ausgabedatei nach Bear -beitung eines Satzes die Maximalanzahl überschritten hat. In die -neue Datei wird anschließend zuerst der Initialisierungsteil des -Druckmusters kopiert, ehe mit der Ausgabe des nächsten Satzes -fortgefahren wird. - -Die Prozeduren im einzelnen: - - -PROC drucke (TEXT CONST druckmuster) - - Die aktuell geöffnete Datei wird nach dem angegebenen Druck - muster gedruckt. - - FEHLER: -#f1# - #on("i")#Datei "druckmuster" existiert nicht#off("i")# - Das angegebene Druckmuster ist nicht vorhanden. -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Zum Drucken muß eine Datei geöffnet sein. -#f1# - #on("i")#direkt Drucken nicht möglich#off("i")# - Es ist kein Druckprogramm installiert oder der Spooler läßt sich - mit 'print' nicht ansprechen. Der Druck wird abgebrochen, die - Ausgabedatei ist noch vorhanden. - - -PROC direkt drucken (BOOL CONST ja) - - Gibt an, ob die Druckausgaben direkt gedruckt oder in einer - Datei gesammelt werden sollen. - - -PROC druckdatei (TEXT CONST ausgabedatei) - - Leitet die Druckausgabe des nächsten Druckvorgangs in die - Datei 'ausgabedatei'. Die Einstellung von 'direkt drucken' wird - für diesen Druckvorgang überschrieben. Die Ausgabe wird am - Ende der Datei angehängt, falls nötig, wird die Ausgabedatei - vorher eingerichtet. - - -PROC maxdruckzeilen (INT CONST zeilen) - - Stellt die maximale Anzahl von Zeilen für die Ausgabedatei ein. - Beim Überschreiten dieses Wertes wird eine neue Datei ange - fangen. Standardwert ist 4000. - - -TEXT PROC lfd nr - - Liefert während des Druckens die laufende Nummer des gerade - gedruckten Satzes als Text. - - -BOOL PROC gruppenwechsel (INT CONST gruppennr) - - Kann innerhalb eines Vor- oder Nachspanns beim Drucken ab - gefragt werden, um festzustellen, ob die angegebene Gruppe - gewechselt und damit den Vor- bzw. Nachspann mitverursacht - hat (es können zu einem Zeitpunkt mehrere Gruppen wechseln). - Die Gruppennummer 0 gibt die Standardgruppe an, die nur vor - dem ersten und nach dem letzten Satz wechselt. - - -8.2 Kopieren - -Zum selektiven Kopieren von EUDAS-Dateien wird ein Kopiermuster -benötigt. Dieses gibt die Zuordnung zwischen Feldern der Ziel- und -der Quelldatei an. Die Quelldatei ist immer die aktuell geöffnete -Datei. - Die Kopierfunktion wird durch 'kopiere' aufgerufen. Parameter -sind der Name der Zieldatei und das Kopiermuster als FILE. Alter -nativ kann statt des Kopiermusters eine Prozedur übergeben wer -den, die die Kopieranweisungen erhält. - Der eigentliche Kopiervorgang wird durch den Operator 'K' -bewirkt. Dieser erhält den Zielfeldnamen und einen TEXT-Aus -druck als Parameter. Der Wert des TEXT-Ausdrucks wird in das -jeweilige Feld der Zieldatei geschrieben. - Existiert die Zieldatei noch nicht, so wird sie mit den Feldern -eingerichtet, die in den einzelnen 'K'-Ausdrücken angegeben sind -und zwar in der angeführten Reihenfolge. Existiert die Zieldatei, so -werden gegebenenfalls noch nicht vorhandene Felder am Ende ange -fügt. - Die Prozedur 'std kopiermuster' liefert zu einer gegebenen -Zieldatei ein Standard-Muster, das als Auswahlgrundlage dienen -kann. Existiert die Zieldatei nicht, werden alle Felder der Quell -datei 1 : 1 kopiert, anderenfalls wird zu jedem Feld der Zieldatei -ein passendes Feld der Quelldatei gesucht - die Feldreihenfolge -richtet sich in diesem Fall nach der Zieldatei. - - -PROC kopiere (TEXT CONST dateiname, - FILE VAR kopiermuster) - - Die aktuell geöffnete Datei wird nach den Angaben in 'kopier - muster' in die Datei 'dateiname' kopiert. Das Kopiermuster wird - dem ELAN-Compiler übergeben. Tritt bei der Übersetzung ein - Fehler auf, wird der Paralleleditor aufgerufen. - - FEHLER: -#f1# - #on("i")#Datei ist keine EUDAS-Datei#off("i")# - Zieldatei existiert, ist aber keine EUDAS-Datei. -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Es muß eine virtuelle Datei vorhanden sein. - - -PROC kopiere (TEXT CONST dateiname, PROC kopierfunktion) - - Wie oben, nur ist die Kopierfunktion gleich als Prozedur vor - handen. - - FEHLER: -#f1# - #on("i")#Datei ist keine EUDAS-Datei#off("i")# - Zieldatei existiert, ist aber keine EUDAS-Datei. -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Es muß eine virtuelle Datei vorhanden sein. - - -OP K (TEXT CONST feldname, ausdruck) - - Kopiert den Ausdruck in das Feld 'feldname' der Zieldatei. - Dieses Feld wird eingerichtet, falls es noch nicht existiert. - Dieser Operator ist nur während eines Kopiervorganges de - finiert (also in einem Kopiermuster oder einer Kopierfunktion). - Er darf nicht in einer IF-Klausel stehen, sondern muß bei - jedem Satz mit gleichem Feldnamen an der gleichen Stelle auf - gerufen werden. - - -PROC std kopiermuster (TEXT CONST dateiname, - FILE VAR kopiermuster) - - Liefert ein Standard-Kopiermuster, abhängig von der Zieldatei - 'dateiname'. Existiert diese nicht, wird die Quelldatei unverän - dert kopiert, ansonsten richtet sich das Kopiermuster nach der - Zieldatei. - - -8.3 Tragen - -Durch Tragen können Sätze komplett in eine Zieldatei transportiert -werden. In der Quelldatei sind sie anschließend nicht mehr vorhan -den. Eine ganze Auswahl von Sätzen kann mit 'trage' transportiert -werden. 'trage satz' transportiert nur den aktuellen Satz. Mit -'hole satz' kann der letzte Satz der Zieldatei wieder zurückgeholt -werden, so daß eine EUDAS-Datei auch als Zwischenspeicher für -Einzelsätze verwendet werden kann. - Existiert die Zieldatei bereits, muß sie mindestens so viele -Felder wie die Quelldatei besitzen, damit keine Informationen ver -lorengehen können. Die Feldnamen müssen nicht übereinstimmen. -Existiert die Zieldatei noch nicht, wird sie mit den Feldern der -Quelldatei eingerichtet. - Die Tragefunktion kann um eine gleichzeitige Prüfung erweitert -werden. Dabei werden Bedingungen überprüft, die bei der Zieldatei -gespeichert sind. Sätze, die diese Bedingungen verletzen, werden -nicht getragen. Eine entsprechende Meldung wird in eine Protokoll -datei geschrieben, die als Parameter übergeben werden muß. - Die Prüfbedingungen stehen als ausführbares Programm in den -Notizen der Zieldatei. Prüfbedingungen können mit mehreren Proze -duren formuliert werden. 'pruefe' nimmt eine beliebige Bedingung als -Parameter und gibt bei Mißerfolg eine Meldung aus. 'wertemenge' -prüft auf Übereinstimmung mit einem der angegebenen Werte. 'feld -maske' legt eine Maske für ein Feld fest, die auf den Inhalt zutref -fen muß. - Mit Hilfe der Prozedur 'eindeutige felder' können Satzduplikate -erkannt werden. Auch diese werden nicht getragen. - Die bei den Prüfbedingungen angegebenen Feldnamen müssen in -der Quelldatei vorhanden sein. Falls eine Prüfprozedur außerhalb -von 'trage' aufgerufen wird, führt eine Verletzung der Prüfbedin -gung zu einem 'errorstop'. - - -PROC trage (TEXT CONST dateiname, - FILE VAR protokoll, BOOL CONST test) - - Alle ausgewählten Sätze werden in die Datei 'dateiname' getra - gen. Diese wird gegebenenfalls eingerichtet. Falls 'test' ange - geben ist, werden die in den Notizen der Zieldatei enthaltenen - Bedingungen geprüft. Nur in diesem Fall muß 'protokoll' initial - isiert sein. - - FEHLER: -#f1# - #on("i")#kein Satz zum Tragen vorhanden#off("i")# - Die Quelldatei ist leer oder es ist keine Datei geöffnet. -#f1# - #on("i")#Datei ist keine EUDAS-Datei#off("i")# - Zieldatei existiert, ist aber keine EUDAS-Datei. -#f1# - #on("i")#Zieldatei hat falsche Felderzahl#off("i")# - Zu wenig Felder in der Zieldatei. - - -PROC trage satz (TEXT CONST dateiname) - - Der aktuelle Satz wird in die Datei 'dateiname' getragen. - - FEHLER: -#f1# - #on("i")#kein Satz zum Tragen vorhanden#off("i")# - Keine Datei geöffnet oder Datei ist am Ende. -#f1# - #on("i")#Datei ist keine EUDAS-Datei#off("i")# - Zieldatei existiert, ist aber keine EUDAS-Datei. -#f1# - #on("i")#Zieldatei hat falsche Felderzahl#off("i")# - Zu wenig Felder in der Zieldatei. - - -PROC pruefe (TEXT CONST feldname, BOOL CONST bedingung) - - Wenn die angegebene Bedingung FALSE liefert, wird eine Mel - dung in die Protokolldatei geschrieben und der jeweilige Satz - nicht getragen. - - -PROC wertemenge (TEXT CONST feldname. menge) - - Es wird geprüft, ob das angegebene Feld in der Wertemenge - enthalten ist. Die einzelnen Werte in der Wertemenge werden - dabei durch Komma getrennt. Leerzeichen sind signifikant. - - -PROC feldmaske (TEXT CONST feldname, maske) - - Es wird geprüft, ob das angegebene Feld zu der Maske paßt. Die - Zeichen in der Maske haben dabei folgende Bedeutung: - '9' trifft auf jede Ziffer zu - 'X' trifft auf jedes Zeichen zu - 'A' trifft auf jeden Großbuchstaben zu (einschließlich - Umlaute) - 'a' trifft auf jeden Kleinbuchstaben zu (einschließlich - Umlaute und 'ß') - '*' trifft auf eine Folge beliebiger Zeichen zu (auch die - leere Folge). Eine sparsame Verwendung wird empfoh - len, da die Bearbeitung sehr aufwendig ist. - Alle anderen Zeichen treffen nur auf ein gleiches Zeichen zu. - - -PROC eindeutige felder (INT CONST anzahl) - - Gibt an, die wieviel ersten Felder einen Satz eindeutig identifi - zieren sollen. Ein Satz, der mit einem Satz der Datei in diesen - Feldern übereinstimmt, wird nicht getragen. Ohne diese Angabe - wird keine derartige Prüfung vorgenommen. - - -PROC hole satz (TEXT CONST dateiname) - - Holt den letzten Satz der angegebenen Datei und fügt ihn vor - dem aktuellen Satz ein. - - FEHLER: -#f1# - #on("i")#"dateiname" existiert nicht#off("i")# -#f1# - #on("i")#Datei ist keine EUDAS-Datei#off("i")# - Zieldatei existiert, ist aber keine EUDAS-Datei. -#f1# - #on("i")#Zieldatei hat falsche Felderzahl#off("i")# - Zu viele Felder in der angegebenen Datei. -#f1# - #on("i")#Kein Satz zum Tragen vorhanden#off("i")# - Die angegebene Datei ist leer. -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Es muß eine virtuelle Datei vorhanden sein. - - -8.4 Verarbeitung - -Die ausgewählten Sätze der aktuellen Datei können nach einer -Verarbeitungsvorschrift verändert oder geprüft werden. Dies ge -schieht durch die Prozedur 'verarbeite'. Als Parameter kann ent -weder ein Verarbeitungsmuster als FILE oder die Verarbeitungs -funktion direkt als Prozedur übergeben werden. - Die Vorschrift wird durch den Operator 'V' realisiert. - - -PROC verarbeite (FILE VAR verarbeitungsmuster) - - Die aktuelle Datei wird nach dem angegebenen Muster bearbei - tet. Enthält die Vorschrift, die dem ELAN-Compiler übergeben - wird, einen Fehler, wird der Paralleleditor aufgerufen. - - FEHLER: -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Es muß eine virtuelle Datei vorhanden sein. - - -PROC verarbeite (PROC verarbeitungsfunktion) - - Wie oben, nur wird die Vorschrift direkt als Prozedur überge - ben. - - FEHLER: -#f1# - #on("i")#keine Datei geoeffnet#off("i")# - Es muß eine virtuelle Datei vorhanden sein. - - -OP V (TEXT CONST feldname, ausdruck) - - Das angegebene Feld des aktuellen Satzes wird durch den Aus - druck ersetzt. - - FEHLER: -#f1# - #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")# - Das angegebene Feld ist nicht vorhanden. - - -8.5 Funktionen in Ausdrücken - -Für Ausdrücke bei den in diesem Kapitel beschriebenen Prozeduren -sind einfache Funktionen zur Abfrage von Feldinhalten vorhanden. -Mit 'f' kann der Inhalt eines benannten Feldes erfragt werden, bei -'wert' wird der Inhalt erst in eine REAL-Zahl umgewandelt, wobei -nichtnumerische Zeichen ignoriert werden. - Die Prozedur 'textdarstellung' kann dazu verwendet werden, -den Wert einer TEXT-Variablen als TEXT-Denoter in ELAN-Syntax -darzustellen. - Die Prozedur 'zahltext' kann dazu verwendet werden, aus einer -REAL-Zahl einen mit der richtigen Zahl von Nachkommastellen ver -sehenen, variabel langen Text zu machen. - - -TEXT PROC f (TEXT CONST feldname) - - Liefert den Inhalt des angegebenen Feldes. - - FEHLER: -#f1# - #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")# - - -REAL PROC wert (TEXT CONST feldname) - - Liefert den Inhalt des angegebenen Feldes als REAL. Dabei - werden nichtnumerische Zeichen ignoriert, ausgenommen das - Minuszeichen und das eingestellte Dezimalkomma (s. 'dezimal - komma'). Tritt kein numerisches Zeichen auf, wird der Wert 0.0 - geliefert. - - FEHLER: -#f1# - #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")# - - -REAL PROC wert (TEXT CONST feldname, INT CONST kommastellen) - - Wie 'wert' mit einem Parameter, nur daß das Ergebnis auf die - angegebene Anzahl von Nachkommastellen gerundet wird. - - FEHLER: -#f1# - #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")# - - -TEXT PROC textdarstellung (TEXT CONST anzeigetext) - - Liefert 'anzeigetext' als TEXT-Denoter, also in Anführungs - strichen. Anführungsstriche im Text werden dabei verdoppelt. - Steuerzeichen von 0 bis 31 werden in lesbare Form gebracht. - - -TEXT PROC zahltext (REAL CONST wert, INT CONST kommastellen) - - Liefert den Text des angegebenen Werts mit dem eingestellten - Dezimalkomma und mit der angegebenen Zahl von Nachkomma - stellen. Sind die Kommastellen 0, wird auch das Komma unter - drückt. Der Text erhält soviel Stellen, wie zur Darstellung - benötigt werden. - - -TEXT PROC zahltext (TEXT CONST feldname, - INT CONST kommastellen) - - Wirkt wie 'zahltext (wert (feldname), kommastellen)'. - |