5. Vorlagen
5.1 Vorlagenerstellung
Dieses Kapitel befindet sich in Arbeit (leider schon viel zu lange). Genau
genommen handelt es sich lediglich um eine grobe Beschreibung und eine
Sammlung von Informationen, die mir irgendwie zugefallen sind
Eine komplette Liste aller Befehle finden Sie im Anhang,
im Kapitel 6.5 Befehlsübersicht für Exportvorlagen.
Konventionen bei der Vorlagenerstellung in Familienbande
Zeilen, die mit [! beginnen sind Kommentarzeilen und werden nicht
ausgegeben Die Zeichen [ und ] sind zum Kennzeichnen von Befehlen
reserviert. Sollen die Zeichen [ und ] als Text ausgegeben werden, ist
ein \ voran zu stellen (z.B. \[ und \])
Befehlsaufbau:
Befehle sind in eckige Klammen zu setzen. Der Befehl setzt sich im
Regelfall aus dem Grundbefehl und einer geklammerten Index-Nr.
zusammen. Befehle die sich auf Partner oder Kinder beziehen bekommen
zusätzlich die Nummer des Kindes vorangestellt.
Die in Klammern gesetzte Index-Nr. definiert die Person, für die der
Grundbefehl gelten soll. So ergibt der Befehl [konfession(23)] die
Konfession der Person ist Index-Nr. 23. Die geklammerte Index-Nr. kann
direkt angegeben werden (wie vorheriges Beispiel) oder wiederum ein
Befehl sein. So ergibt [rufname([inrvater(23)])] den Rufnamen des
Vaters der Person mit Index-Nr. 23.
Befehle, die sich auf mehrere gleichartige Angabe beziehen können (Ehe-
und Trennungsdaten sowie Kinder), bekommen zusätzlich die Nummer der
gewünschten Ehe/Trennung oder des Kindes vorangestellt. [2. eheort(23)]
wird also den Eheort der 2. Ehe von der Person mit Index-Nr. 23 liefern
oder [4kind(23)] liefert die Index-Nr. des 4. Kindes der Person mit
Index-Nr. 23. Diese Index-Nr. können Sie verwenden um auf die Daten des
Kindes zuzugreifen. Dadurch liefert [vornamen([4kind(23)])] die
Vornamen des erwähnten Kindes. Die Befehle haben also einen
geschachtelten bzw. hirarchischen Aufbau.
Üblicherweise wollen Sie über die Angaben des Dialoges definierte
Personen ausgeben und können somit keine, wie in den bisherigen
Beispielen genutzten, festen Index-Nr.n angeben. Benutzen Sie anstelle
einer fixen Index-Nr. die Angabe (x) um die Indexnumer vom Programm
einsetzen zu lassen.
Beispiel:
Sie geben im Exportdialog vor, dass die Personen mit der Kekulé-Nummer
1-127 ausgegeben werden sollen. Die Vorlage enthält nur den Befehl
[vornamen(x)]. Familienbande wird nun alle Vornamen der Personen mit
den Kekulé-Nummern 1-127 ausgeben.
Bedingte Ausgabe
Für die bedingte Ausgabe stehen die Befehle [if], [else] und [end],
sowie [exists(x)], [/exists(x)], [exported(x)] und [/exported(x)] zur
Verfügung. Das x ist durch einen Wert oder einen Befehl zu ersetzen.
Ebenso gibt es Vergleichsmöglichkeiten für Bedingungen. So bewirkt ein:
[if][inrmutter([1inrkind(x)])]=[1inrpartner(x)]
dass die folgenden Zeilen nur ausgegeben werden, wenn die Index-Nr. des
ersten Partners der Index-Nr. der Mutter des ersten Kindes entspricht.
Schleifen
Schleifen beginnen mit einer Zeile, die den Befehl [loop] enthält,
gefolgt von der Anzahl der Schleifendurchläufe. Die Anzahl kann als
feste Zahl oder als Befehl kodiert angegeben werden.
Beispiele:
[loop]5 => die Schleife wird 5 mal durchlaufen [loop][anzahlkinder]
die Schleife wird entsprechend der Anzahl der Kinder durchlaufen
[loop][anzahlehen] => die Schleife wird entsprechend der Anzahl der
Ehen durchlaufen
Das Ende einer Schleife kennzeichnet eine Zeile mit dem Befehl
[endloop]. Alle Zeilen dazwischen werden ausgegeben. Alle Befehle, die
mit «[?» beginnen werden in der Art verändert, dass das «?» durch einen
Zahlenwert ersetzt wird, der der Anzahl der bereits erfolgten
Schleifendurchläufe entspricht.
Beispiel:
Im ersten Schleifendurchlauf wird [?inrkind] durch [1inrkind] ersetzt, im 3. Durchlauf durch [3inrkind].
Variablen
Es können Variablen genutzt werden. Sie beginnen immer mit [variable,
gefolgt von einer Zahl und der schließenden Klammer
Beispiel:
[variable1]
Es besteht die Möglichkeit der Zuweisung:
[variable1]=Tochter
[variable1]=[nachname]
Man kann damit rechnen:
[variable1]=+1
Das Beispiel erhöht den Wert der Variable um 1. Es sind beliebige Additionswerte zulässig.
Debugging
Es stehen die Befehle [message] zum Ausgeben der restlichen Zeile in
einer Hinweisbox und die Befehle [traceon], [traceoff] zum zeilenweisen
Bearbeiten zur Verfügung.
[CopyPicture(nr|zielname|zielbreite|zielhöhe)] Kopiert Dokument mit
Nummer «nr» in den «Ordner für Bilder», gibt der kopierten Datei den
Namen «zielname» und ändert die Bildgröße auf «zielbreite» x
«zielhöhe». Die Proportionen werden beibehalten und ggf. «zielbreite»
oder «zielhöhe» entsprechend verkleinert.
Achtung!
Als Zielformat wir (sofern QuickTime vorhanden ist) JPEG ausgegeben.
Die Angaben «zielname», «zielbreite» und «zielhöhe» sind optional. Wenn
sie weggelassen werden, wird der Originalname bzw. die Originalgröße
beibehalten.
Beispiel:
[CopyPicture(1||100|100)] kopiert das erste Dokument (in der Hoffnung,
dass es ein Bild ist) in den «Ordner für Bilder». Der Dateiname wird
beibehalten und das Bild wir auf eine maximale Größe von 100x100 Pixel
angepasst.
[CopyFile(name|zielname)] Kopiert Dokument «name» in den «Ordner für
Bilder» und gibt der kopierten Datei den Namen «zielname». Die Angabe
«zielname» ist optional; wenn sie weggelassen wird, wird der
Originalname beibehalten
Beispiel:
[CopyFile(Format.css)]
Kopiert die Datei «Format.css» in den «Ordner für Bilder», der
Dateiname wird beibehalten. (Vergleichsoperatoren <, =, >, /=,
<=, >= beschreiben)
|