#limit (11.0)##pagelength (16.5)##block# #start (2.0,0.0)# #page (61)# #headodd# #center#EUDAS#right#% #end# #headeven# %#center#EUDAS #end# #center#1 7 Ausdrucken der Daten 7.1 Druckmuster Nachdem Sie sich die Inhalte der EUDAS-Datei ausgiebig am Bild­ schirm angesehen haben, möchten Sie die gespeicherten Daten sicher auch in gedruckter Form auf Papier sehen. Sie können eine EUDAS-Datei jedoch nicht ohne weiteres ausdrucken, da sie eine andere Struktur als normale Textdateien hat. Vor dem Drucken müssen also die Inhalte der EUDAS-Datei zunächst in lesbarer Form in eine Textdatei geschrieben werden. EUDAS kann diese Aufgabe jedoch ohne Ihre Hilfe nicht alleine be­ wältigen. Es taucht nämlich das Problem auf, daß die Dateiinhalte in vielen verschiedenen Formen dargestellt werden können (Sie erin­ nern sich sicher noch an das erste Kapitel). Vielleicht wollen Sie bestimmte Überschriften haben oder die Daten müssen auf ein be­ stimmtes Formular passen. Um die Ausgabe nach Ihren Wünschen zu gestalten, müssen Sie also dem Rechner genau angeben, an welcher Stelle welche Felder gedruckt werden sollen usw. Dies geht am einfachsten, indem Sie dem Rechner ein Muster vorsetzen, nach dem er dann die richtigen Ausdrucke erstellen kann. Dieses Muster schreiben Sie in eine eige­ ne Textdatei, die #on("i")#Druckmuster#off("i")# genannt wird. Aus den Daten der EUDAS-Datei und der Form, die im Druckmuster angegeben ist, wird dann eine weitere Textdatei erzeugt, die die Daten in der ge­ wünschten Form enthält und die anschließend automatisch gedruckt werden kann. Durch ein Druckmuster erhalten Sie fast völlige Freiheit in der Gestaltung Ihrer Ausdrucke. Zum Beispiel können aus einer einzigen Adressendatei einfache Listen, Einladungskarten oder Rundbriefe erzeugt werden. Für eine einfache Adressenliste entspricht das Druckmuster einer Zeile der Liste, wobei angegeben wird, in welche Spalten die Inhalte gedruckt werden. Zum Drucken von Einladungs­ karten wird als Druckmuster eine Einladungskarte verwendet, in der die Stellen markiert sind, an denen die Adresse erscheinen soll. Das gleiche kann man mit einem Brief machen, der dann mit jeder Adresse einmal ausgedruckt wird. #on("b")#Druckverfahren#off("b")# Man kann sich diesen Druckprozeß wie folgt vorstellen: #free (6.5)# #center#Abb. 7-1 Druckverfahren Vereinfacht gesagt (das genaue Verfahren wird später beschrieben) wird für jeden Satz der EUDAS-Datei das Druckmuster einmal in die Druckdatei übernommen. Dabei werden die Inhalte aus der EUDAS- Datei in einer noch anzugebenden Weise an den gewünschten Stellen eingefügt. Im weiteren sollen Sie erfahren, wie ein Druckmuster genau aussieht und wie daraus ein Ausdruck entsteht. #on("b")#Beispiel#off("b")# Im folgenden sollen Sie zur Demonstration die bereits in Kapitel 3 und 4 beschriebene Beispieldatei verwenden. Nach Mög­ lichkeit sollten Sie die angegebenen Beispiele mit dieser Datei selbst am Rechner ausprobieren. Folgende Sätze befinden sich in der Datei: Vorname Name, Strasse, PLZ Ort, m/w ------------------------------------------------------- Herbert Wegner, Krämergasse 12, 5000 Köln, m Helga Sandmann, Willicher Weg 109, 5300 Bonn 1, w Albert Katani, Lindenstr. 3, 5210 Troisdorf, m Peter Ulmen, Mozartstraße 17, 5 Köln 60, m Karin Regmann, Grengelweg 44, 5000 Köln 90, w Hubert Arken, Talweg 12, 5200 Siegburg, m Anna-Maria Simmern, Platanenweg 67, 5 Köln 3, w Angelika Kaufmann-Drescher, Hauptstr. 123, 53 Bonn 2, w Harald Fuhrmann, Glockengasse 44, 5000 Köln 1, m Friedrich Seefeld, Kabelgasse, 5000 Köln-Ehrenfeld, m Wie Sie sehen, wurde die Reihenfolge der Felder gegenüber der Datei teilweise verändert und Name und Vorname ohne Komma hinterein­ andergeschrieben, während die anderen Feldinhalte durch Komma getrennt sind. Diese Liste wurde unter Verwendung eines Druck­ musters erzeugt. Da dieses Druckmuster jedoch vorerst noch zu kompliziert ist, sollen Sie erst einmal ein einfacheres Druckmuster erstellen und versuchen, nur die Namen aus der Datei in Tabellenform auszuge­ ben. Das dafür nötige Druckmuster hat folgendes Aussehen: % WIEDERHOLUNG ! &Name ! &Vorname ! Das Druckmuster besteht nur aus zwei Zeilen, von der die zwei­ te das eigentliche Muster darstellt. Die erste Zeile ist eine #on("i")# Anwei­ sung#off("i")# an den Druckgenerator. 'WIEDERHOLUNG' gibt an, daß die folgenden Zeilen für jeden Satz wiederholt werden sollen (warum diese Angabe notwendig ist, werden Sie später einsehen). Das Pro­ zentzeichen kennzeichnet eine Anweisung und muß unbedingt in der ersten Spalte des Druckmusters stehen, also ganz am linken Rand. In der zweiten Zeile ist zu sehen, daß das Zeichen '&' dazu benutzt wird, die Stellen zu markieren, an denen nachher Feldin­ halte eingesetzt werden sollen. Hinter dem '&'-Zeichen folgt der Name des Feldes, das an dieser Stelle eingesetzt werden soll. Eine solche Konstruktion wird #on("i")#Feldmuster#off("i")# genannt. Beachten Sie, daß Feldnamen hier immer ohne Anführungsstriche geschrieben werden müssen. Die Ausrufungszeichen bilden den eigentlichen Mustertext und werden unverändert als Tabellenbegrenzung in die Ausgabe übernommen. Als Ergebnis des Druckprozesses sollte folgende Ausgabe auf dem Drucker erscheinen: ! Wegner ! Herbert ! ! Sandmann ! Helga ! ! Katani ! Albert ! ! Ulmen ! Peter ! ! Regmann ! Karin ! ! Arken ! Hubert ! ! Simmern ! Anna-Maria ! ! Kaufmann-Drescher ! Angelika ! ! Fuhrmann ! Harald ! ! Seefeld ! Friedrich ! Sie können erkennen, daß die Feldmuster in der Ausgabe jeweils durch den Inhalt des zugehörigen Feldes ersetzt worden sind. Der übrige Text in der Musterzeile ist unverändert geblieben. Beachten Sie, daß das '&' ein reserviertes Zeichen ist, das ein Feldmuster im umgebenden Text kennzeichnet und daher (vorerst) nicht gedruckt werden kann. 7.2 Aufruf In diesem Abschnitt sollen Sie erfahren, wie Sie diese Ausgabe selbst erzeugen können. Damit der Druckgenerator arbeiten kann, müssen Sie die Datei 'Adressen' erst einmal öffnen. Anschließend wählen Sie das Menü 'Drucken' an. #on("b")#Druckmuster erstellen#off("b")# Als nächstes müssen Sie das Druckmuster erstellen. Hierfür gibt es die Funktion #free (0.2)# Textdatei E Editieren #free (0.2)# da das Druckmuster eine normale Textdatei ist. Wählen Sie diese Funktion. Sie werden dann nach einem Namen für das Druckmuster gefragt. Wir wollen das Druckmuster 'Namens­ liste' nennen - Sie können aber auch einen beliebigen anderen Namen wählen. Denken Sie daran, die Anführungsstriche nicht mit einzugeben. Es erscheint anschließend das gewohnte Editorbild mit einer entsprechenden Statuszeile. Geben Sie die zwei Zeilen des Druck­ musters ein und beenden Sie den Editor mit ESC 'q'. Damit ist das Druckmuster fertig. Die hier beschriebene Funktion können Sie nicht nur zum Er­ stellen, sondern auch zum Ändern und einfachen Ansehen eines Druckmusters bzw. einer Textdatei allgemein verwenden. Es wird Ihnen immer der jeweilige Inhalt präsentiert, den Sie dann nach Belieben abändern können oder nicht. ___________________________________________________________________________________________ EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv --------------: Satzauswahl : D Drucken : --------------: Druckausgabe : R Richtung : --------------: Textdatei : E Editieren : A Ausdrucken : N Nachbearb. : --------------: ___________________________________________________________________________________________ #center#Abb. 7-2 Menü "Drucken" #on("b")#Ausgaberichtung#off("b")# Bevor Sie jetzt weitermachen, sollten Sie über­ prüfen, ob an Ihrem System ein Drucker angeschlossen ist. Der Drucker sollte bei den folgenden Versuchen betriebsbereit sein. Ist kein Drucker angeschlossen oder wollen Sie kein Papier verschwenden, haben Sie die Möglichkeit, den Ausdruck als Text­ datei zu erhalten. Dazu wählen Sie die Funktion #free (0.2)# Ausgabe R Richtung #free (0.2)# an. Beantworten Sie beide Fragen, die Ihnen gestellt werden, mit 'n'. Die Ausgaben stehen dann nachher in Dateien mit einem Namen der Form #free (0.2)# Namensliste.a$n #free (0.2)# die Sie sich mit der oben beschriebenen Funktion dann genau wie ein Druckmuster anschauen können. Der Name besteht also aus dem Namen des Druckmusters, dem ein '.a$' angehängt wird. Die Nummer 'n' dient zur Unterscheidung bei mehreren aufeinanderfolgenden Ausgaben. Um Verwirrung zu vermeiden, sollten Sie die Datei nach dem Anschauen löschen (im Menü 'Dateien'). #on("b")#Druckaufruf#off("b")# Wenn Sie diese Hinweise beachtet haben, können Sie den Druckvorgang mit der Auswahl #free (0.2)# Satzauswahl D Drucken #free (0.2)# starten. Sie werden hier nach dem Namen des Druckmusters gefragt, das Sie verwenden wollen (Sie können ja durchaus eine ganze Reihe von verschiedenen Druckmustern haben). Sie können den Ablauf des Druckvorganges daran verfolgen, daß jeweils die Nummer des Satzes ausgegeben wird, der gerade bearbeitet wird. Probieren Sie eventuell auch kleine Abwandlungen des Druckmusters aus, indem Sie die Tabellenspalten schmaler oder breiter machen oder die Ausrufungszeichen durch ein anderes Zei­ chen ersetzen (je nach Geschmack). #on("b")#Ausgabedatei#off("b")# Wollen Sie die erzeugte Ausgabe (die in der Datei 'Namensliste.a$1' steht) irgendwann tatsächlich ausdrucken, ver­ wenden Sie die Funktion #free (0.2)# A Ausdrucken #free (0.2)# Sie werden dann nach dem Namen der Textdatei gefragt. Beachten Sie, daß Sie diese Funktion #on("i")#nicht#off("i")# zum Drucken von EUDAS-Dateien verwenden können, da aus einer EUDAS-Datei erst eine Druckdatei erzeugt werden muß. Auch wenn Sie angegeben haben, daß die Ausgabe des Druck­ prozesses direkt ausgedruckt werden soll, startet Ihr Drucker erst, wenn EUDAS die ganze Datei durchgegangen ist und der Vorgang für Sie beendet ist. Dies liegt am EUMEL-System, das nur vollständige Druckaufträge entgegennimmt, damit sich mehrere Benutzer nicht in die Quere kommen können. In einem Multi-User-System können Sie weiterarbeiten, während der Drucker beschäftig ist. #on("b")#Fehler#off("b")# Bevor der eigentliche Druckprozeß gestartet wird, wird das Druckmuster auf unsinnige oder unverständliche Konstruktionen überprüft. Ist dem Druckgenerator etwas suspekt, gibt er eine Feh­ lermeldung aus, in der die fragliche Situation von seiner Seite aus beschrieben wird. Er kann natürlich nicht Ihren Fehler "verstehen". Daher müssen Sie unter Umständen eine Fehlermeldung erst inter­ pretieren, ehe Sie die wahre Ursache erkennen können. Damit Sie einen aufgetretenen Fehler gleich korrigieren können, werden Ihnen das Druckmuster und die Fehlermeldungen parallel auf dem Bildschirm zum Ändern und Anschauen angeboten. Sie können mit dem Editor das Druckmuster ändern und in den Fehlermeldungen blättern. Diese Konfiguration wird Paralleleditor genannt. Mit ESC 'w' wechseln Sie zwischen den beiden Bildschirmhälften. #on("b")#Suchbedingung#off("b")# Wollen Sie nicht alle Namen ausdrucken, so können Sie vorher ein Suchmuster einstellen, das nur auf die gewünschten Namen zutrifft (wie im Kapitel 5 beschrieben). Der Druckgenerator richtet sich immer nach dem aktuell eingestellten Suchmuster und druckt nur die ausgewählten Sätze. Wenn Sie zum Beispiel die Na­ men aller Frauen ausdrucken wollen, stellen Sie im Tastenmodus ein Suchmuster ein (das sollten Sie können), das für das Feld 'm/w' die Bedingung 'w' enthält. Danach können Sie den Druckgenerator auf­ rufen. Vergessen Sie nicht, das Suchmuster anschließend wieder zu löschen. #on("b")#Feldnamen abfragen#off("b")# Wenn Sie selber ein Druckmuster erstellen, wird es häufiger vorkommen, daß Sie die genaue Schreibweise der Feldnamen nicht im Kopf haben. Für diesen Zweck definiert EUDAS im Editor eine spezielle Tastenkombination. Wenn Sie dort ESC 'F' tippen (großes 'F'), erhalten Sie eine Auswahl aller Felder der gerade geöffneten Datei. Sie können sich die Namen einfach ansehen, aber auch direkt in den Text des Druckmusters übernehmen. Wenn Sie nämlich vor dem Verlassen der Auswahl mit ESC 'q' ein Feld ankreuzen, wird anschließend der Name in Anführungs­ strichen an die Position geschrieben, an der vor dem Aufruf der Cursor stand. Auf diese Weise können Sie sich auch das Tippen langer Feldnamen vereinfachen. Beachten Sie, daß Sie im Normalfall im Druckmuster die Anfüh­ rungsstriche wieder entfernen müssen. Die Anführungsstriche dienen zur Abgrenzung, wie weit der Feldname geht. Falls der Name Leer­ zeichen enthält, beachten Sie bitte den Absatz 'Abgrenzung der Feldnamen' in Abschnitt 7.4. 7.3 Abschnitte Die Tabellen, die Sie bis jetzt erzeugen können, sehen optisch noch nicht sehr gut aus. Es fehlt auf jeden Fall eine vernünftige Über­ schrift. Um eine Überschrift zu erzeugen, können Sie im Druckmuster einen #on("i")#Vorspann#off("i")# definieren, der ganz zu Anfang einmal gedruckt wird. Dieser Vorspann wird durch die Anweisung % VORSPANN eingeleitet (bitte nicht vergessen, daß das '%'-Zeichen für eine Anweisung in der ersten Spalte stehen muß). Die folgenden Zeilen bis zur 'WIEDERHOLUNG'-Anweisung gehören zum Vorspann. Ein Druckmuster für unsere Namensliste mit Überschrift könnte dann so aussehen: % VORSPANN Alle Namen aus der EUDAS-Datei 'adressen' ----------------------------------------- % WIEDERHOLUNG ! &Name ! &Vorname ! Der Druckgenerator erzeugt mit diesem Druckmuster die gewünschte Liste mit Überschrift. Sie können als Vorspann natürlich auch einen beliebigen anderen Text verwenden. In einer analogen Weise können Sie die Liste noch durch eine waagerechte Linie abschließen, indem Sie einen #on("i")#Nachspann#off("i")# definie­ ren. Die dafür notwendige Anweisung heißt % NACHSPANN Die Zeilen nach dieser Anweisung werden gedruckt, nachdem alle Sätze bearbeitet worden sind. Das folgende Druckmuster erzeugt schon eine sehr schöne Liste: % VORSPANN Alle Namen aus der EUDAS-Datei 'adressen' ----------------------------------------- % WIEDERHOLUNG ! &Name ! &Vorname ! % NACHSPANN ----------------------------------------- nämlich: Alle Namen aus der EUDAS-Datei 'adressen' ----------------------------------------- ! Wegner ! Herbert ! ! Sandmann ! Helga ! ! Katani ! Albert ! ! Ulmen ! Peter ! ! Regmann ! Karin ! ! Arken ! Hubert ! ! Simmern ! Anna-Maria ! ! Kaufmann-Drescher ! Angelika ! ! Fuhrmann ! Harald ! ! Seefeld ! Friedrich ! ----------------------------------------- Die drei Teile, aus denen ein Druckmuster bestehen kann (Vorspann, Nachspann und Wiederholungsteil), werden #on("i")#Abschnitte#off("i")# genannt. Wie Sie später noch sehen werden, haben Abschnitte eine Reihe von gemeinsamen Eigenschaften. Ein Abschnitt wird durch eine eigene Anweisung eingeleitet und endet, wenn ein anderer Abschnitt be­ ginnt oder das Druckmuster zu Ende ist. Alle Abschnitte können auch weggelassen werden, irgendein Abschnitt muß aber immer vorhanden sein. So ist es zum Beispiel möglich, ein Druckmuster zu bauen, das nur aus einem Nachspann besteht (Sie werden allerdings jetzt noch nicht verstehen können, warum so etwas sinnvoll sein kann). Zum Abschluß dieses Kapitels hier noch einmal eine Übersicht der bisher vorgestellten Anweisungen: Anweisung ! Bedeutung ---------------+---------------------------------- % VORSPANN ! leitet Vorspann ein % WIEDERHOLUNG ! leitet Wiederholungsteil ein % NACHSPANN ! leitet Nachspann ein 7.4 Feldmuster Mit den bis jetzt beschriebenen Möglichkeiten des Druckgenerators können Sie schon sehr viel anfangen. Es fehlt aber noch die Mög­ lichkeit, mehrere Feldinhalte direkt hintereinander zu schreiben, egal wie lang diese Inhalte sind. Diese Fähigkeit wird zum Beispiel für die anfangs vorgestellte Liste benötigt. #on("b")#Variable Position#off("b")# Die Feldmuster, die Sie bis jetzt kennen, begin­ nen mit einem '&'-Zeichen und werden immer genau an der Stelle gedruckt, an der sie stehen (feste Position). Sie können ein Feld­ muster aber auch mit '%' beginnen lassen. In diesem Fall kann der Inhalt verschoben werden (variable Position), je nachdem, ob vorhe­ rige Inhalte kürzer oder länger sind. '%' ist wie '&' ein reserviertes Zeichen, kann also nicht direkt gedruckt werden. Da '&' und '%' Feldmuster einleiten, heißen sie #on("i")#Musterzeichen#off("i")#. Um Feldmuster variabler Position einmal auszuprobieren, soll­ ten Sie unser bisheriges Druckmuster in der folgenden Weise um­ schreiben: % WIEDERHOLUNG &Vorname %Name (Vorspann und Nachspann der Einfachheit halber mal weggelassen). Als Ergebnis erhalten wir: Herbert Wegner Helga Sandmann Albert Katani Peter Ulmen Karin Regmann Hubert Arken Anna-Maria Simmern Angelika Kaufmann-Drescher Harald Fuhrmann Friedrich Seefeld Das Feldmuster '%Name' ist also entsprechend der Länge des Vor­ namens nach links oder nach rechts gerutscht. Zu beachten ist, daß ein Feldmuster mit '%' nicht in der ersten Spalte stehen darf, denn dann würde die Zeile als Anweisung angesehen. Ein Feldmuster variabler Position wäre ja auch in der ersten Spalte wenig sinnvoll. #on("b")#Feste Länge#off("b")# Außer den beiden bisher besprochenen einfachen Arten (mit '&' oder '%') gibt es noch weitere Ausprägungen von Feldmustern für besondere Fälle. Wird ein Feldmuster noch von weiteren Musterzeichen gefolgt, dann wird dieses Feldmuster immer in der reservierten Länge eingesetzt. Die reservierte Länge reicht vom ersten bis zum letzten Musterzeichen. Durch die zusätzlichen Musterzeichen wird also ein bestimmter Platz freigehalten. Ersetzt man im obigen Druckmuster '&Vorname' durch '&Vorname&&', wird der Effekt des folgenden '%'-Feldes wieder aufgehoben, da jetzt für alle Vornamen die gleiche Länge verwendet wird (Probieren Sie dies aus). Bei einem solchen Feldmuster mit fester Länge wird der Inhalt abgeschnitten, falls er diese Länge überschreitet; ist der Inhalt kürzer, wird rechts mit Leerstellen aufgefüllt. Aber auch bei Feld­ mustern mit variabler Länge (also ohne folgende Musterzeichen) kann abgeschnitten werden, nämlich genau dann, wenn der Inhalt so lang ist, daß ein folgendes Feld mit fester Position (mit '&' anfan­ gend) überschrieben würde. Hätten wir also in unserem ersten Druckmuster nicht genügend Platz für die Spalten vorgesehen, wären einige Namen abgeschnitten worden (probieren Sie es nochmal aus, falls es Ihnen nicht schon passiert ist). In einem weiteren Fall werden Feldmuster variabler Länge abgeschnitten, nämlich wenn die generierte Zeile die maximale Zeilenlänge überschreitet. Die maximale Zeilenlänge richtet sich nach dem Dateilimit, das für das Druckmuster eingestellt ist. Nor­ malerweise ist dies 77, so daß Sie in Normalschrift die Zeilenbreite auf einem DIN A4-Blatt nicht überschreiten. Benutzen Sie jedoch breites Papier oder eine schmale Schrift, sollten Sie während der Eingabe des Druckmusters ESC ESC tippen und das Kommando limit (135) eingeben. EUDAS nutzt dann die volle Zeilenbreite aus. #on("b")#Rechtsbündig#off("b")# Sie sind jetzt aber noch nicht zu Ende mit den Feldmustervariationen. Eine letzte Möglichkeit besteht darin, den Inhalt rechtsbündig in ein Feldmuster einzusetzen. Dies hat natür­ lich nur Sinn bei fester Länge. Man erreicht dies dadurch, daß man das Feldmuster mit mehreren Musterzeichen beginnen läßt. So ist %%Vorname% die rechtsbündige Version von %Vorname%% Beide Feldmuster sind gleich lang, beim ersten wird jedoch am lin­ ken Rand aufgefüllt oder abgeschnitten, beim zweiten dagegen am rechten Rand. #on("b")#Zusammenfassung#off("b")# Hier noch einmal eine Zusammenstellung aller möglichen Feldmustertypen: Typ ! Beispiel ! Position ! Länge ! bündig ----+-----------+------------------------------ 1 ! &Name ! fest ! variabel ! links 2 ! %Name ! variabel ! variabel ! links 3 ! &Name&&& ! fest ! fest ! links 4 ! %Name%%% ! variabel ! fest ! links 5 ! &&&Name& ! fest ! fest ! rechts 6 ! %%%Name% ! variabel ! fest ! rechts Wir können zusammenfassen: #free (0.2)# * Feldmuster dienen im Druckmuster dazu, Stellen zu markieren, an denen Inhalte eingesetzt werden sollen. #free (0.2)# * Feldmuster beginnen mit einem Musterzeichen ('&' oder '%'); darauf folgt der Feldname. #free (0.2)# * Durch '&' wird feste und durch '%' variable Position festgelegt. #free (0.2)# * Durch zusätzliche Musterzeichen kann eine feste Länge angege­ ben werden; mehrere Musterzeichen am Anfang führen zu rechts­ bündigem Einsetzen. #on("b")#Abgrenzung der Feldnamen#off("b")# Als nächstes sollen Sie den Fall be­ trachten, daß Sie einen Namen in der oft auftretenden Form Name, Vorname schreiben wollen. Die Schwierigkeit liegt in dem Komma, das direkt hinter dem Namen folgen soll. Sie könnten versuchen, diese Situa­ tion im Druckmuster folgendermaßen darzustellen: % WIEDERHOLUNG &Name, %Vorname In diesem Fall erhalten Sie aber die Fehlermeldung FEHLER in Zeile 2 bei >>Name,<< diese Abkuerzung ist nicht definiert Wenn Sie sich nicht genau vorstellen können, wie der Druckgenera­ tor ein Feldmuster liest, wird Ihnen dieser Fehler mysteriös er­ scheinen, denn 'Name' ist doch als Feld definiert (was eine Abkür­ zung ist, werden Sie in Kapitel 13 lernen). Den entscheidenden Hinweis liefert jedoch das Komma. Offensichtlich hat der Druck­ generator das Komma als Teil des Feldnamens angesehen. Dies liegt daran, daß ja irgendwann der Feldname in einem Feldmuster beendet sein muß. Normalerweise interpretiert der Druckgenerator ein Leerzeichen oder Musterzeichen als Ende des Namens, alle vorherigen Zeichen gehören mit zum Feldnamen. Wenn nun aber nach dem Feldmuster kein Leerzeichen folgen soll (wie in unserem Beispiel) oder der Feldname selbst Leerzeichen enthält (dies ist ja erlaubt, könnte aber im Druckmuster nie erkannt wer­ den), muß noch eine zusätzliche Angabe erfolgen. In solchen Fällen kann der Feldname in spitze Klammern einge­ schlossen werden. Der Druckgenerator sieht den Feldnamen dann bei der ersten schließenden Klammer als beendet an, wobei die Klam­ mern natürlich nicht zum Feldnamen gehören, aber auch nicht ge­ druckt werden. Das obige Beispiel müßte also richtig so formuliert werden: % WIEDERHOLUNG &, %Vorname Wenn Sie dieses Druckmuster ausprobieren, werden Sie sehen, daß die Namen tatsächlich in der gewünschten Form erscheinen. #on("b")#Leerautomatik#off("b")# Es gibt noch eine trickreiche Automatik in EUDAS, die in manchen Fällen ganz nützlich ist - und zwar in Fällen, in denen Sie mehrere Felder als Aufzählung durch Leerzeichen ge­ trennt drucken wollen. Nehmen wir an, unsere Adreßdatei hätte noch ein Feld 'Titel', in das Sie bei Bedarf 'Dr.' oder 'Prof. Dr.' eintragen. In der Adresse würden Sie dann angeben: &Titel %Vorname %Name Wenn der Titel jedoch leer ist, würde ein störendes Leerzeichen vor dem Namen bleiben. In einem solchen Fall entfernt EUDAS das Leer­ zeichen automatisch. Vorbedingung für diese Automatik ist, daß es sich um ein Feld variabler Länge handelt und vor dem Feld noch ein Leerzeichen steht (außer in Spalte 1). #on("b")#Aufgabe#off("b")# Sie sollten jetzt die Möglichkeiten des Druckgenerators soweit kennengelernt haben, daß Sie ein Druckmuster für die zu Anfang des Kapitels erwähnte Liste aller Dateiinhalte erstellen können. Versuchen Sie dies zunächst allein, ehe Sie die Lösung nachschauen. Hier nun die Lösung: % VORSPANN Vorname Name, Strasse, PLZ Ort, m/w ------------------------------------------------------- % WIEDERHOLUNG &Vorname %, %, %PLZ %, %m/w Beachten Sie die spitzen Klammern, die nötig sind, um das Kom­ ma ohne Zwischenraum anzuschließen. #on("b")#Beispiel#off("b")# Als letztes Beispiel sollen Sie einen Fall betrachten, bei dem pro Satz mehr als eine einzelne Listenzeile gedruckt werden soll, und zwar sollen Sie einen Brief schreiben, in den der Druck­ generator die Adressen verschiedener Leute einfügen soll. Die Er­ stellung von Formbriefen ist eine sehr häufige Anwendung von EUDAS. Mit den bisher beschriebenen Konstrukten kann man etwa folgendes Druckmuster schreiben: % WIEDERHOLUNG &Vorname %Name &Strasse &PLZ %Ort Lieber &Vorname ! Ich lade Dich mit diesem Brief zu meiner nächsten Party ein. Bring gute Laune und was zu Essen mit. Viele Grüße \#page\# Die letzte Zeile zeigt eine Möglichkeit, von der Sie wahrscheinlich öfter Gebrauch machen werden, nämlich Druckersteuerungsanwei­ sungen in das Druckmuster einzufügen. Die Anweisung '\#page\#' wird an den Drucker weitergereicht und bewirkt, daß nach jedem Brief eine neue Seite angefangen wird (Sie wollen sicher nicht mehrere Briefe auf ein Blatt drucken). Sie können auch andere An­ weisungen verwenden, z.B. neue Schrifttypen einstellen. Informieren Sie sich gegebenenfalls, welche Anweisungen die Textkosmetik zur Verfügung stellt. #on("b")#Ausblick#off("b")# Sie kennen jetzt bereits einen großen Teil der Möglich­ keiten des Druckgenerators. Einige wünschenswerte Fähigkeiten fehlen jedoch noch. So wäre es vorteilhaft, wenn abhängig vom Inhalt des Feldes 'm/w' die Anrede 'Sehr geehrter Herr' oder 'Sehr geehrte Frau' erzeugt werden könnte. Außerdem könnte das im Rechner vorhandene Datum automatisch in den Brief übernommen werden. Diese Möglichkeiten werden den Kapiteln 12 und 13 be­ schrieben. Sie sollten diese jedoch erst dann durchlesen, wenn Sie eine gewisse Sicherheit im Umgang mit Druckmustern erlangt haben. Zuvor sollten Sie die Inhalte dieses Kapitels beherrschen, damit Sie EUDAS gut nutzen können.