1. Einleitung
2. Aufbau der FDF-Dateien2.1 <options>-Tag3. Komponenten3.1 <authors/> und <editors/>
3.2 <edit>
3.3 <dateedit>
3.4 <wwwedit>
3.5 <fileedit>
3.6 <combobox>
3.7 <listbox>
3.8 <memo>
3.9 <label>
3.10 <image>
3.11 <panel>
3.12 <groupbox>
3.13 <pagecontrol>
In FDF-Dateien werden die sog. dynamischen Formulare beschrieben, die von LitSoz benutzt werden, um je nach Art des Datensatzes (Monographie, Roman, Zeitungsartikel ...) eine andere Eingabemaske (Formular) auf der Bildschirmseite erweitert anzuzeigen.Bei FDF handelt es sich seit Version 2.0 um eine XML-Anwendung, was neue Möglichkeiten im Gegensatz zum alten Format eröffnet (z.B. verschachtelte Komponenten).
Im folgenden werden alle (Eingabe-)Elemente, die in den FDF-Dateien definiert werden als Komponenten bezeichnet.
FDF-Dateien sind (wie gesagt) XML-Anwendungen. Das bedeutet, dass sie einen Root-(Wuzel)-Tag (<lfdf_form>) besitzen, der alle untergeordneten Tags enthält. Ihm sind zwei Typen von Tags untergeordnet:
2.1 <options>-TagDer <options>-Tag enthält untergeordnete Tags, die Informationen über das Formular enthalten. Diese Tags sind:
Nur der Untertag <name> wird von LitSoz ausgewertet. Die anderen Informationen dienen dazu, bei Änderungen, oder bei der Benutzung von neuen/neuren FDF-Dateien den Überblick zu behalten.
- <name>...</name> enthält den Namen des Formulars (max. 30 Zeichen), der von LitSoz angezeigt und im Feld Art abgespeichert wird. Über ihn wird das entsprechende Formular ausgewählt und angezeigt. ACHTUNG: Dieser Tag ist unbedingt erforderlich, damit LitSoz die FDF-Datei verarbeiten kann !!!
- <author>...</author> enthält den Autor der FDF-Datei.
- <date>...</date> enthält das Datum der letzten Änderung an der FDF-Datei.
- <version>...</version> enthält die Version der FDF-Datei. Mit dieser Information kann etwa überprüft werden, ob eine FDF-Datei upgedated wurde. falls dies der fall war ist es sinnvoll hier eine neue Versionsnummer einzutragen.
Beispiel:
<options>
<name>Monographie</name>
<author>Jan Krieger</author>
<version>1.0</version>
<date>14. Aug. 2000</date>
</options>
Positionierung
Die Abbildung zeigt beispielhaft ein einfaches Eingabefeld, um die Geometrie und damit die Bedeutung der Attribute zu erklären. Jeder Komponente wird ein Beschreibungstext zugeordnet. Sein Inhalt steht in der Eigenschaft captiontext. Das Datenfeld, auf das zugegriffen werden soll wird in der Eigenschaft datafield angegeben.
Die Positionierung der Komponenten erfolgt normalerweise automatisch. Die Beschriftung erhält eine vorgegebene Standardbreite (captionwidth), genauso wie das Editierfeld (editwidth o.ä..). Die Positionierung mehrerer Komponenten erfolgt von oben nach unten mit einem standardmäßigen Abstand. Will man die Positionierung ändern kann man die Position der Komponente auf dem Bildschirm mit den Eigenschaften left (x-Koordinate) und top (y-Koordinate) in Pixeln festlegen.
Attribute
Die Eigenschaften von Komponenten können auf zwei Arten beschrieben werden. Der Standard-Weg ist es, die Eigenschaften in die entsprechenden Attribute des Tags einzutragen. Diesen weg sollte jeder einschlagen. Um die Kompatibilität zu älteren Entwicklungsversionen (und deren FDF-Dateien) von LitSoz zu gewähren ist es aber auch möglich gleichnamige Untertags zu benutzen, die die Information enthalten. Dieser Hinweis steht hier vor Allem, um Verwirrung auszuschließen, die bei der ARbeit mit älteren FDF-Dateien entstehen könnte.
3.1 <authors/> und <editors>Wenn diese Tags in einer FDF-Datei vorkommen werden die entsprechenden Eingabeelemente angezeigt.Dabei aktiviert <authors/> die Eingabeelemente für Autorennamen und <editors/> die Eingabezeile für Herausgeber (engl. editors). Die tags haben keine Attribute und dürfen keine untergeordneten Tags enthalten.
Beispiel:
<authors/>
<editors/>
3.2 <edit>
Der <edit>-Tag erzeugt ein einfaches Eingabefeld auf dem Bildschirm.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld, ein Zahlenfeld, ein Datumsfeld, ein Zeitfeld oder ein Währungsfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein Beispiel:
<edit captiontext="Titel" datafield="Titel" editbackgroundcolor="clWhite"/>
3.3 <dateedit>
Der <dateedit>-Tag erzeugt ein Eingabefeld für Daten auf dem Bildschirm. Klickt man auf den Button rechts im feld, so erscheint ein Kalender, in dem man ein Datum auswählen kann (siehe Abbildung)
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Datumsfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein Beispiel:
<dateedit captiontext="Aufnahmedatum" datafield="Aufnahmedatum"/>
3.4 <fileedit>
Der <fileedit>-Tag erzeugt ein Eingabefeld für Dateinamen auf dem Bildschirm. Klickt man auf das Ordner-Symbol, erscheint ein Dialog um eine Datei auszuwählen. Klickt man auf das Fernglas, wird die Datei in der ihr zugeordneten Anwendung geladen und angezeigt.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein openimage Dateiname zeigt auf eine 16*16 Pixel große Bitmap (*.bmp)-Datei, die statt dem Ordner-Symbol angezeigt wird runimage Dateiname zeigt auf eine 16*16 Pixel große Bitmap (*.bmp)-Datei, die statt dem Fernglas-Symbol angezeigt wird Beispiel:
<fileedit captiontext="Dateiname" datafield="FILE" openimage="<fdfdir>open1.bmp"/>
3.5 <wwwedit>
Der <wwwedit>-Tag erzeugt ein Eingabefeld für URLs auf dem Bildschirm. Klickt man auf das Weltkugel-Symbol, wird die URL im Standardbrowser geladen.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein image Dateiname zeigt auf eine 16*16 Pixel große Bitmap (*.bmp)-Datei, die statt dem Weltkugel-Symbol angezeigt wird Beispiel:
<wwwedit captiontext="URL" datafield="WWW"/>
3.6 <combobox>
Der <combobox>-Tag erzeugt ein Eingabefeld mit ausklappbarer Auswahl (ComboBox) auf dem Bildschirm.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein dropdowncount Ganzzahl gibt an, wieviele Zeilen in der Auswahl angezeigt werden. Bei mehr Einträgen wird eine Bildlaufleiste (ScrollBar) angezeigt. nein keyboardinput Boolean gibt an, ob frei in das Editierfeld geschrieben werden darf ("yes"), oder ob ein Eintrag aus der Liste ausgewählt werden muss. nein Untertags:
Die Einträge in der Ausklappliste werden über den Untertag <item> definiert. Er darf beliebig oft unterhalb eines Combobox-Tags vorkommen. Jedes Vorkommen definiert dann einen Eintrag in der Liste. Der Eintragstext wird durch <item>...</item> umschlossen (siehe Beispiel).
Beispiel:
<combobox captiontext="Art des Datensatzes" datafield="Art" keyboardinput="no">
<item>Monographie</item>
<item>Handbuch</item>
<item>Roman</item>
</combobox>
3.7 <listbox>
Der <listbox>-Tag erzeugt eine Auswahlliste auf dem Bildschirm.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein Untertags:
Die Einträge in der Liste werden über den Untertag <item> definiert. Er darf beliebig oft unterhalb eines Combobox-Tags vorkommen. Jedes Vorkommen definiert dann einen Eintrag in der Liste. Der Eintragstext wird durch <item>...</item> umschlossen (siehe Beispiel).
Beispiel:
<listbox captiontext="Art des Datensatzes" datafield="Art">
<item>Monographie</item>
<item>Handbuch</item>
<item>Roman</item>
</listbox>
3.8 <memo>
Der <memo>-Tag erzeugt ein mehrzeiliges Eingabefeld (Memo) auf dem Bildschirm.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld oder ein Memofeld handeln. ja captiontext Zeichenkette enthält den Text, der links neben dem Eingabefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Eingabefeldes. nein height Ganzzahl enthält die Höhe des Eingabefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Eingabefeldes. nein Beispiel:
<memo captiontext="Untertitel" datafield="Untertitel"/>
3.9 <label>
Der <label>-Tag erzeugt ein Anzeigefeld (ohne Eingabemöglichkeit) für einfachen Text, oder für ein Datenbankfeld. Wird die Eigenschaft datafield angegeben, dann wird das Anzeigefeld mit dem Datenbankfeld verbunden (im Bild: unten). Sonst wird ein Anzeigefeld ohne Beschriftung erzeugt, das den Inhalt von captiontext anzeigt (im Bild: oben).
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichdatafield Datenbankfeld enthält den Namen des Datenbankfeldes, auf das mit dieser Komponente zugegriffen werden soll. Es kann sich dabei um ein Stringfeld, ein Zahlenfeld, ein Datumsfeld, ein Zeitfeld oder ein Währungsfeld handeln. nein captiontext Zeichenkette enthält den Text, der links neben dem Anzeigefeld bzw. im Anzeigefeld angezeigt werden soll. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein captionwidth Ganzzahl enthält die Breite (in Pixeln) der Beschriftung. nein editwidth Ganzzahl enthält die Breite (in Pixeln) des Anzeigefeldes. nein height Ganzzahl enthält die Höhe des Anzeigefeldes in Pixeln. nein editbackgroundcolor Farbe enthält die Farbe des Anziegefeldes. nein Beispiel:
<label captiontext="captiontext" editbackgroundcolor="clWhite"/>
<label datafield="Num" captiontext="captiontext" editbackgroundcolor="clWhite"/>
3.10 <image>Der <image>-Tag zeigt ein Bild (BitMap-Datei, *.bmp) auf dem Bildschirm an.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichfile Dateiname enthält den dateinamen des Bildes (*.bmp), das angezeigt werden soll. ja left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein Beispiel:
<image file="<fdfdir>logo2_klein.bmp"/>
3.11 <panel>
Der <panel>-Tag erzeugt einen Rahmen auf dem Bildschirm, der andere Komponenten enthalten kann.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichbevelinner lowered | raised | none | space gibt an, wie die Außenkante des Panels angezeigt werden soll nein bewelouter lowered | raised | none | space gibt an, wie die Innenenkante des Panels angezeigt werden soll nein borderwidth Ganzzahl Mit der Eigenschaft BorderWidth legen Sie fest, wie breit der Rahmen um die Tafel sein soll. Die Angabe der Breite erfolgt in Pixel. Der Wert 0 bedeutet, daß kein Rahmen angezeigt wird. nein bevelwidth Ganzzahl Mit Hilfe von BevelWidth geben Sie die Breite an, die die innere und die äußere Schrägkante zusammen besitzen. Verwechseln Sie BevelWidth nicht mit der Eigenschaft BorderWidth. BevelWidth legt die Breite der Schrägkanten fest, während BorderWidth den Abstand zwischen den Schrägkanten angibt. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein width Ganzzahl enthält die Breite (in Pixeln) des Anzeigefeldes. nein height Ganzzahl enthält die Höhe des Anzeigefeldes in Pixeln. nein Untertags:
Die Komponenten, die im Rahmen enthalten sein sollen werden unterhalb des Untertags <items> aufgeführt (siehe Beispiel). <panel>-Tags können beliebig geschachtelt werden.
Beispiel:
<panel>
<items>
<label captiontext="captiontext" editbackgroundcolor="clWhite" width="300"/>
<label datafield="Num" captiontext="captiontext" width= "300" />
<edit captiontext="captiontext" datafield="Titel" editwidth="300"/>
<memo captiontext="captiontext" datafield="Untertitel" editwidth="300"/>
</items>
</panel>
3.12 <groupbox>
Der <groupbox>-Tag erzeugt einen Rahmen auf dem Bildschirm, der andere Komponenten enthalten kann.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichcaptiontext Zeichenkette gibt den Beschriftungstext an. nein left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein width Ganzzahl enthält die Breite (in Pixeln) der Komponente nein height Ganzzahl enthält die Höhe (in Pixeln) der Komponente. nein Untertags:
Die Komponenten, die im Rahmen enthalten sein sollen werden unterhalb des Untertags <items> aufgeführt (siehe Beispiel). <panel>-Tags können beliebig geschachtelt werden.
Beispiel:
<groupbox captiontext="captiontext">
<items>
<label captiontext="captiontext" editbackgroundcolor="clWhite" width="300"/>
<label datafield="Num" captiontext="captiontext" width= "300" />
<edit captiontext="captiontext" datafield="Titel" editwidth="300"/>
<memo captiontext="captiontext" datafield="Untertitel" editwidth="300"/>
</items>
</groupbox>
3.13 <pagecontrol>
Der <pagecontrol>-Tag erzeugt ein sog. Pagecontrol auf dem Bildschirm. Mit dieser Komponente kann man mehrere Seiten mit Komponenten verwalten, die über Karteireiter oder Schaltflächen umgeschaltet werden.
Attribute:
Attribut Datentyp Bedeutung unbed.
erforderlichstyle tabs | buttons | flatbuttons
- tabs:
- zum Umschalten werden Karteireiter verwendet.
- buttons:
- zum Umschalten werden Schaltflächen verwendet.
- flatbuttons:
- zum Umschalten werden flache Schaltflächen verwendet.
nein tabposition top | bottom | left | right
- top:
- Die Karteireiter (Buttons ...) werden oberhalb angezeigt.
- Bild
left Ganzzahl enthalten die X-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein top Ganzzahl enthalten die Y-Koordinate der linken oberen Ecke der Komponente in Pixeln. nein width Ganzzahl enthält die Breite (in Pixeln) der Komponente nein height Ganzzahl enthält die Höhe (in Pixeln) der Komponente. nein Untertags:
Die Komponenten, die auf den einzelnen Seiten enthalten sein sollen werden unterhalb von <page caption="...">-Tags angegeben (siehe Beispiel).
Diese tags haben den Parameter caption="...". Er enthält die Bezeichnung, die auf dem Karteireiter für diese Seite angezeigt wird.Beispiel:
<pagecontrol captiontext="captiontext" tabposition="left">
<page caption="Page 1">
<label captiontext="caption" editbackgroundcolor="clWhite" width="300"/>
<label datafield="Num" captiontext="caption" editbackgroundcolor="clWhite" width="300"/>
<edit captiontext="caption" datafield="Titel" editwidth="300"/>
<memo captiontext="caption" datafield="Untertitel" editwidth="300"/>
</page>
<page caption="Page 2">
<label captiontext="caption" editbackgroundcolor="clWhite" width="300"/>
<label datafield="Num" caption="captiontext" editbackgroundcolor="clWhite" width="300"/>
<edit captiontext="caption" datafield="Titel" editwidth="300"/>
<memo captiontext="caption" datafield="Untertitel" editwidth="300"/>
</page>
</pagecontrol>