Zum Artikel
V.O.I.C.E Virtual OS/2 International Consumer Education
Juli 2006
A A A
Artikel

- Christian Hennecke: Inselgemeinschaften - Zersplitterung mit hohem Preis
- Christian Hennecke: OS2News.com - Immer auf dem neuesten Stand - Ein Interview mit Roderick Klein
- Mark Dodel: Das OS/2-Museum beim VCF East
- Robert Henschel: Lucide - Ein neuer Dokumentenbetrachter für eComStation
- Per Johannson: Astronomie-Programme
- Arthur van Egmond: Erstellung einer Datenbank mit Lotus Smartsuite - Teil 5
- Tips
- Leserbriefe, Addenda, Errata

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

`[Tastenkombination]`

mehr

# Erstellung einer Datenbank mit Lotus Smartsuite
Teil 5

von Arthur van Egmond, © Juli 2006

Arthur van Egmond lebt in den Niederlanden. Er ist verheiratet, hat aber bis jetzt noch keine Kinder. Er arbeitet für den Staat im Amt für Soziale Sicherheit und seine Haupttätigkeit ist es die Client-Computer am Laufen zu halten. Seine ersten Erfahrungen mit OS/2 machte er schon mit der Version 2.1. Seitdem hat er bis zur aktuellen Version eCS 1.2 aufgerüstet. Er hat fast alle Versionen in seinem Besitz oder zumindest gesehen.

Willkommen zurück. Schön, daß Sie bei unserer Reise durch die Erstellung einer Datenbank mit Lotus Smartsuite wieder dabei sind. Dieses Mal fahren wir mit der Datenbank Movies fort.

Im letzten Teil haben wir das Eingabeformular erstellt. Wir haben das Listenformular angepaßt und die Formulare Dvdregion, Help, Print und Explanation erstellt. Für die Makros usw. blieb keine Zeit mehr. Schauen wir, ob wir das dieses Mal schaffen.

Auf jeden Fall werden wir in diesem Teil zumindest folgende Formulare anlegen:

- Sort
- Extra info
- Search
- Actors

## Sortieren nach

Beginnen wir mit dem Formular Sort. Am schnellsten geht es, wenn wir das Formular Print kopieren, welches wir im letzten Teil erstellt haben. Für den Text verwenden wir die gleiche Schriftgröße. Erstellen Sie also eine Kopie des Formulars Print und benennen Sie es in Sort um. Passen Sie die Überschrift dieses Bildschirms entsprechend an: Sort screen.

Nun stellt sich für uns die Frage, nach welchen Feldern unsere Datenbank sortiert werden soll. Es kann eine Voreinstellung gewählt werden, so daß die Datenbank beim Öffnen automatisch nach diesem Feld sortiert wird. Die Datenbank sollte nach mindestens folgenden Feldern sortiert werden können:

- Title
- Genre
- Release year
- Movie ID

Zwar ist es möglich, eine Sortierung nach allen Feldern durchzuführen, aber ist dies wirklich notwendig? Warum werden Daten auf bestimmte Art und Weise sortiert? Um schnell darauf zugreifen zu können. Was möchte man am ehesten wissen? Doch wohl die Informationen oben genannter Felder.

Fügen wir Textfelder hinzu. Zuerst werden die vorhandenen Textfelder angepaßt und dann zwei weitere hinzugefügt. Erstellen Sie folgende Felder:

Tab. 1: Positionen der Sortierfelder
Sortieren nach | Breite | Höhe | Oben | Links
--- | --- | --- | --- | ---
Title | 4,25cm | 0,75cm | 1,25cm | 0,25cm
Genre | 4,25cm | 0,75cm | 2,00cm | 0,25cm
Release year | 4,25cm | 0,75cm | 2,75cm | 0,25cm
Movie ID | 4,25cm | 0,75cm | 3,50cm | 0,25cm

Damit wäre dieses Formular erst einmal fertiggestellt.

## Auf der Suche nach...

Nun können wir das Suchformular erstellen. Hierbei handelt es sich um ein Duplikat des Eingabeformulars. Bevor wir jedoch das Eingabeformular duplizieren, empfiehlt es sich, Schaltflächen und Makros zu erstellen. Andernfalls müßten diese zweimal hinzugefügt werden - und wir sind zugegebenerweise etwas bequem.``

Erstellen Sie folgende Makros:

Tab. 2: Erforderliche Makros
Makro | Taste | Befehl
--- | --- | ---
First | - | record - goto first record
Last | - | record - goto last record
Previous | - | record - previous record
Next | - | record - next record
New | - | record - create a new record
Delete | - | delete - delete current record
Show All | - | find - find all
Find | - | find - goto find and wait for input
Print | - | view - print
Help | F1 | view - help
Close | - | close
Dvdregion | - | view - dvdregion
Sort | - | view - sort
Explanation | - | view - explanation
List | F3 | view - list
Input | F2 | view - input

Erstellen Sie die Schaltflächen First, Last, Previous, Next, New, Delete, Show All, Find, Print, Help und Close. Position und Größe finden Sie in der Datenbank Contact. Fügen Sie den Schaltflächen dann die Makros und den Text hinzu. Denken Sie daran, Stile zu verwenden um Zeit zu sparen. Sind die Schaltflächen fertiggestellt, kann das Eingabeformular kopiert werden. Ändern Sie die Überschrift in Find und Formular- und Seitenname in find.

## Actors und Extra Info

Nun zum Formular Actors. Das Formular Extra Info sparen wir uns bis zuletzt auf, da es einigen Aufwand erfordert.

Legen Sie zwei neue Formulare an: Actors und Extra info. Wählen Sie die Option Formular als Dialog anzeigen.

Ändern Sie bei beiden Formularen Hintergrund, Seitenname und Ränder. Erstellen Sie auf beiden ein Rechteck mit den in Tabelle 3 genannten Werten. Verwenden Sie als Füllfarbe die gleiche Farbe wie beim Hintergrund.

Tab. 3: Formulare Actor und Extra Info, Position Rechteck
Parameter | Wert
--- | ---
Breite | 20,0cm
Höhe | 7,00cm
Oben | 0,00cm
Links | 0,11cm

Zeichnen Sie eine horizontale Linie mit folgenden Werten:

Tab. 4: Formular Actors, Parameter für horizontale Linie
Parameter | Wert
--- | ---
Breite | 20,0cm
Oben | 1,00cm
Links | 0,11cm
Linienbreite | 0,50 point
Farbe | gelb (Farbe der Schaltflächen)

Zeichnen Sie ein Textfeld mit folgenden Parametern und dem Text Actors für den Film:

Tab. 5: Formular Actors, Parameter für Textfeld
Parameter | Wert
--- | ---
Breite | 4,00cm
Höhe | 0,50cm
Oben | 0,25cm
Links | 0,25cm
Farbe | grün
Füllfarbe | keine
Umrandung | keine
Umrandungsstil | keiner

Erstellen Sie nun ein Rechteck:

Tab. 6: Formular Actors, Parameter für Rechteck
Parameter | Wert
--- | ---
Breite | 6,00cm
Höhe | 0,75cm
Oben | 0,15cm
Links | 0,50cm
Farbe | gelb (Farbe der Schaltflächen)
Füllfarbe | keine
Umrandungsstil | Haarlinie

Plazieren Sie den Feldtitel innerhalb dieses Rechtecks. Legen Sie den Feldtitel in diesem Formular als nur-lesen fest. Fügen Sie anschließend folgende Felder hinzu:

Tab. 7: Formular Actors, Positionen der Felder
Feld | Breite | Höhe | Oben | Links | Layout
--- | --- | --- | --- | --- | ---
Actor01 | 5,00cm | 0,50cm | 1,25cm | 5,00cm | wie andere Felder
Actor02 | 5,00cm | 0,50cm | 2,00cm | 5,00cm | wie andere Felder
Actor03 | 5,00cm | 0,50cm | 2,75cm | 5,00cm | wie andere Felder
Actor04 | 5,00cm | 0,50cm | 3,50cm | 5,00cm | wie andere Felder
Actor05 | 5,00cm | 0,50cm | 4,25cm | 5,00cm | wie andere Felder
Release Year | 2,50cm | 0,50cm | 5,00cm | 5,00cm | wie andere Felder

Zeichnen Sie vor diesen Feldern ein Textfeld mit dem Text Actor 01, Actor 02, Actor 03, Actor 04, Actor 05 und Release Year. Verwenden Sie gelb als Schriftfarbe für die Feldbezeichner.

Erstellen Sie die folgenden Linien mit einer Breite von 0,5 point und gelber Farbe (Farbe der Schaltflächen):

Tab. 8: Formular Actors, Linienpositionen
Typ | Breite | Höhe | Oben | Links
--- | --- | --- | --- | ---
vertikal | - | 6,05cm | 1,00cm | 10,0cm
horizontal | 9,89cm | - | 1,86cm | 0,11cm
horizontal | 9,89cm | - | 2,62cm | 0,11cm
horizontal | 9,89cm | - | 3,73cm | 0,11cm
horizontal | 9,89cm | - | 4,12cm | 0,11cm
horizontal | 9,89cm | - | 4,87cm | 0,11cm
horizontal | 9,89cm | - | 5,61cm | 0,11cm

Zeichnen Sie ein Textfeld Other info mit folgenden Werten:

Tab. 9: Formular Actors, Parameter für Textfeld Other info
Parameter | Wert
--- | ---
Breite | 3,50cm
Höhe | 0,50cm
Oben | 1,25cm
Links | 10,5cm

Nun gilt es, für das Feld Other Info einen Kasten zu erstellen, wie wir es bei Storyline auf der ersten Seite getan haben.

Zeichnen Sie folgende Haarlinien:

Tab. 10: Formular Actors, Parameter für Haarlinien
Farbe | Type | Breite | Oben | Links
--- | --- | --- | --- | ---
dunkelgrau | horizontal | 9,25cm | 1,75cm | 10,5cm
schwarz | horizontal | 9,24cm | 1,77cm | 10,51cm
dunkelgrau | vertikal | 5,00cm | 10,5cm | 1,75cm
schwarz | vertikal | 4,99cm | 10,51cm | 1,77cm
weiß | horizontal | 9,25cm | 6,75cm | 10,5cm
hellgrau | horizontal | 9,24cm | 6,73cm | 10,51cm
weiß | vertikal | 5,00cm | 1,75cm | 19,75cm
hellgrau | vertikal | 4,99cm | 1,77cm | 19,72cm

Schließlich erstellen wir das Feld Other info:

Tab. 11: Formular Actors, Parameter für das Feld Other info
Parameter | Wert
--- | ---
Breite | 9,17cm
Höhe | 4,93cm
Oben | 1,78cm
Links | 10,54cm
Füllfarbe | keine
Umrandungsfarbe | keine
Umrandung | keine

Erstellen Sie zwei Schaltflächen:

Tab. 12: Formular Actors, Parameter für Schaltfläche
Schaltfläche | Breite | Höhe | Oben | Links | Makro
--- | --- | --- | --- | --- | ---
Close | 2,50cm | 0,50cm | 6,00cm | 0,25cm | Makro close1 erstellen: view - switch to input
Explanation | 2,50cm | 0,50cm | 6,00cm | 3,00cm | bereits vorhandenes Makro verwenden

Im Eingabebildschirm tun Sie folgendes:

- Erstellen Sie eine Schaltfläche mit folgenden Werten:

  Tab. 13. Bildschirm Input, Parameter für Schaltfläche
  Parameter | Wert
  --- | ---
  Breite | 2,50cm
  Höhe | 0,50cm
  Oben | 9,00cm
  Links | 12,5cm

- Erstellen Sie ein Makro Actors: view - switch to actors
- Passen Sie die Füllfarbe der Schaltfläche auf die Hintergrundfarbe an (verwenden Sie nicht transparent, oder die Schaltfläche wird nicht funktionieren).
- Ändern Sie die Schriftfarbe in gelb um.

Die Schaltfläche ist nun Teil des Eingabeformulars und nicht des Menüs.

Fügen Sie dem Formular Explanation eine Schaltfläche Close hinzu (erstellen Sie ein Makro Close2 mit dem Befehl view - switch to actors).

### Testen des Formulars Actors

Sichern Sie nun die Approach-Datei und testen Sie die Schaltflächen.

Wählen Sie Blättern. In Eingabebildschirm drücken Sie Actors. Ist alles in Ordnung, wird der gerade erstellte neue Bildschirm angezeigt. Drücken Sie die Schaltfläche Explanation. Wie Sie sehen, verschwindet das Formular Actors und das Formular Explanation wird angezeigt. Wählen Sie die Schaltfläche Close. Ist alles in Ordnung, erscheint wieder das Formular Actors und Explanation verschwindet. Drücken Sie Close, um zum Formular Input zurückzukehren.

## Extra Info, Fortsetzung

Nun können wir uns dem Formular Extra Info widmen.

Die horizontale Linie (siehe Tabelle 4) kann aus dem Formular Actors kopiert und in das Formular Extra info eingefügt werden. Kopieren Sie außerdem das Textfeld Actors für den Film. Ändern Sie den Text in Extra info für den Film und und plazieren Sie es an der gleichen Stelle. Kopieren Sie den Kasten um das Feld Title ebenso wie den Titel in das Formular Extra Info. Die Überschrift ist nun fertig, und wir können dem Formular Felder und Label hinzufügen.

Es müssen sämtliche Felder für region, audio, language, subtitle und format hinzugefügt werden. Daher benötigen wir fünf Quadrate, um den Bildschirm in gleich große Bereiche zu unterteilen.

Zeichnen Sie vier vertikale, gelbe (Farbe der Schaltflächen) Haarlinien:

Tab. 14: Formular Extra info, Parameter für Haarlinien
Höhe | Oben | Links
--- | --- | ---
5,00cm | 1,00cm | 4,00cm
5,00cm | 1,00cm | 8,00cm
5,00cm | 1,00cm | 12,0cm
5,00cm | 1,00cm | 16,0cm

Nun können Sie die horizontale Linie kopieren und mit einem Versatz von 1,50cm und 6,00cm zum oberen Rand einfügen. Mit dieser Aufteilung arbeiten wir weiter.

Erstellen Sie Textfelder mit gelber Schriftfarbe und zentrierter Ausrichtung:

Tab. 15: Formular Extra Info, Parameter für Textfelder
Feld | Breite | Höhe | Oben | Links
--- | --- | --- | --- | ---
Dvd Region | 3,89cm | 0,50cm | 1,50cm | 0,11cm
Audio | 4,00cm | 0,50cm | 1,50cm | 4,00cm
Language | 4,00cm | 0,50cm | 1,50cm | 8,00cm
Subtitle | 4,00cm | 0,50cm | 1,50cm | 12,0cm
Format | 4,00cm | 0,50cm | 1,50cm | 16,0cm

Anschließend erstellen Sie Textfelder mit gelber Schriftfarbe und linksbündigem Text. Fügen Sie vor dem Text ein Leerzeichen ein. Semikolon und restlicher Text nehmen jeweils zwei Textfelder ein.

Tab. 16: Formular Extra info, Parameter für Textfelder
Feld | Breite | Höhe | Links | Oben
--- | --- | --- | --- | ---
Region 01 | 3,00cm | 0,50cm | 0,11cm | 1,50cm
; (Semikolon) | 0,50cm | 0,50cm | 3,00cm | 1,50cm
Region 02 | 3,00cm | 0,50cm | 0,11cm | 2,50cm
; | 0,50cm | 0,50cm | 3,00cm | 2,00cm
Region 03 | 3,00cm | 0,50cm | 0,11cm | 2,50cm
; | 0,50cm | 0,50cm | 3,00cm | 2,50cm
Region 04 | 3,00cm | 0,50cm | 0,11cm | 3,00cm
; | 0,50cm | 0,50cm | 3,00cm | 3,00cm
Region 05 | 3,00cm | 0,50cm | 0,11cm | 3,50cm
; | 0,50cm | 0,50cm | 3,00cm | 3,50cm
Region 06 | 3,00cm | 0,50cm | 0,11cm | 4,00cm
; | 0,50cm | 0,50cm | 3,00cm | 4,00cm
Region 07 | 3,00cm | 0,50cm | 0,11cm | 4,50cm
; | 0,50cm | 0,50cm | 3,00cm | 4,50cm
Region 08 | 3,00cm | 0,50cm | 0,11cm | 5,00cm
; | 0,50cm | 0,50cm | 3,00cm | 5,00cm
Region free | 3,00cm | 0,50cm | 0,11cm | 5,50cm
; | 0,50cm | 0,50cm | 3,00cm | 5,50cm

Ihnen dürfte wohl klar sein, was gemeint ist. Fügen Sie an den entsprechenden Stellen nun Textlabel für Audio, Language, Subtitle und Format ein (schauen Sie sich die Feldnamen an, wenn Sie nicht mehr wissen, was Sie eingeben sollen``). Beginnen Sie bei einem Versatz von 4,00cm, 8,00cm, 12,0cm und 16,0cm zum linken Rand.

Nun, da alle Feldlabel an Ort und Stelle sind, fügen wir die Felder hinzu. Ziehen Sie die Felder Region01 bis Regionfree irgendwo in das Feld. Am besten plazieren Sie sie untereinander, Region01 nach oben und Regionfree nach unten.

Unter der Indexzunge Allgemein des Einstellungsnotizbuches ändern Sie die Dateneingabe in Markierungsfelder um. Legen Sie als Wert für den markierten Zustand Yes fest und drücken Sie OK. Als Schriftart benutzen wir Gill Sans 10. (Da es sich um ein Markierungsfeld handelt, können Hintergrund- und Schriftfarbe nicht angepaßt werden. Genau gesagt können Sie zwar geändert werden, jedoch bleibt der Hintergrund in der Darstellung weiß und die Schriftfarbe schwarz.) Ändern Sie Breite und Höhe auf 0.50cm und verwenden Sie eine eingesunkene Darstellung. Plazieren Sie die Markierungsfelder bei einem linken Versatz von 3,50cm und einem oberen Versatz von 1,50cm, 2,00cm usw.

Wiederholen Sie dies für die anderen Felder.

Nun noch etwas hübsches. Wir tragen Sorge dafür, daß nur entweder PAL (Europa) oder NTSC ausgewählt werden kann. Warum? Meines Erachtens kann ein Film nur in einem der Standards vorliegen. Ich habe noch nie eine DVD oder ein Video gesehen, daß beide Standards auf einem Medium enthält. Um dies zu erreichen, werden zwei Makros benötigt.

Tab. 17: Formular Extra Info, Parameter für Makro
Name | Befehl
--- | ---
PalNtsc | movies.formatpal = nicht movies.formatntsc
NtscPal | movies.formatntsc = nicht movies.formatpal

Wenn Sie das Makro benennen und die Befehle auswählen, drücken Sie Formel.

- Unter Felder wählen Sie FormatPal
- Unter Operatoren wählen Sie = und nicht
- Unter Felder wählen Sie formatntsc

Wiederholen Sie dies für das andere Makro, nur diesmal mit formatntsc als erstem Feld.

Wählen Sie das Feld FormatPal aus und weisen Sie dem Makro PalNtsc zu, und dem Feld FormatNtsc das Makro NtscPal.

Erstellen Sie zwei Schaltflächen:

Tab. 18: Formular Extra info, Parameter für Schaltfläche
Name | Breite | Höhe | Oben | Links | Makro
--- | --- | --- | --- | --- | ---
Close | 2,50cm | 0,50cm | 6,25cm | 0,25cm | Close1
Dvdregion | 2,50cm | 0,50cm | 6,25cm | 3,00cm | Dvdregion

Erstellen Sie eine Schaltfläche unter der Indexzunge Dvdregion:

Tab. 19. Indexzunge Dvdregion, Parameter für Schaltfläche
Name | Breite | Höhe | Oben | Links | Makro
--- | --- | --- | --- | --- | ---
Close | 2,50cm | 0,50cm | 0,25cm | 6,00cm | Close3, neu erstellen als view - switch to Extra Info

Erstellen Sie im Formular Input eine Schaltfläche wie die Schaltfläche Actors:

Tab. 20: Formular Input, Parameter für Schaltfläche
Name | Breite | Höhe | Oben | Links | Makro
--- | --- | --- | --- | --- | ---
Extra Info | 2,50cm | 0,50cm | 8,50cm | 12,5cm | Extra Info, erstellen als view - switch to extra info

Sichern Sie die Approach-Datei und testen Sie auch diese Schaltflächen.

## Puh!

Das sollte für dieses Mal reichen.

Im nächsten Teil schließen wir die Arbeiten ab.

Übersetzung: Christian Hennecke
Korrektur: Karl-Heinz Markus

##### Daten und Quellen

Beispieldatenbanken: databases.zip
Teil 1: http://de.os2voice.org/VNL/past_issues/VNL0106H_DE/feature_5.html
Teil 2: http://de.os2voice.org/VNL/past_issues/VNL0206H_DE/feature_5.html
Teil 3: http://de.os2voice.org/VNL/past_issues/VNL0406H_DE/feature_6.html
Teil 4: http://de.os2voice.org/VNL/past_issues/VNL0606H_DE/feature_5.html