Zum Artikel
< >

Aktives GUI-Element

Statisches GUI-Element

Quelltext

WPS-Objekt

Datei/Pfad

Befehlszeile

Inhalt Eingabefeld

[Tastenkombination]

mehr

Erstellung einer Datenbank mit Lotus Smartsuite
Teil 4

von Arthur van Egmond, © Juni 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 dabei sind. In den letzten drei Teilen haben wir einige Datenbanken erstellt.

Wir haben mit der Datenbank Genre einfach begonnen. Sie haben Ihre Hausaufgaben gemacht und zwei weitere Datendanken erstellt, Dvdformat und Dvdextra. im letzten Teil haben wir dann die Datenbank Contacts erstellt.

Gewichtheben

Nun ist es an der Zeit für die richtige Arbeit. Wir werden die Datenbank Movies erstellen. Diese Datenbank werden wir diesmal nicht fertigstellen, da einfach zuviel für einen Teil zu tun ist.

Wir erstellen außerdem das Menü, von dem aus wir alle Datenbanken öffnen können. Dadurch können wir ein einziges Objekt auf der Arbeitsoberfläche haben und von da aus auf alle Datenbanken zugreifen.

Wir werden zehn Formulare und zwei Berichte sowie etwa 30 Makros erstellen. Eine Menge Arbeit.

Diesmal erstellen wir die Datenbank, das Hauptformular, die Bildschirme DVD-Region, Hilfe, Drucken und Erläuterungen und passen das Listenformular an.

Desweiteren erstellen wir einige der Makros.

Erstellung der Datenbank Movies

Beginnen wir also mit der Datenbank und fügen alle oben beschriebenen Felder hinzu. Sichern Sie die Datenbank als movies.dbf.

Tab. 1: Felder in der Datenbank Movies
Feldname Typ Länge
Title Text 50
Genre Text 15
Time Time fest
Dvdformat Text 15
Dvdextra Text 15
Numberofdisks Numerisch 3
Imdbcode Text 25
Borrowedto Text 70
Storyline Memo fest
Region01 Boolean fest
Region02 Boolean fest
Region03 Boolean fest
Region04 Boolean fest
Region05 Boolean fest
Region06 Boolean fest
Region07 Boolean fest
Region08 Boolean fest
Regionfree Boolean fest
Audiomono Boolean fest
Audiostereo Boolean fest
Audiodolbysurround5.0 Boolean fest
Audiodolbydigital5.1 Boolean fest
Audiodolbydigitalex Boolean fest
Audiodolbydts Boolean fest
Audiodolbydtses Boolean fest
LanguageNl (Dutch) Boolean fest
LanguageEn Boolean fest
LanguageFr Boolean fest
LanguageGr (Germany) Boolean fest
LanguageOther Boolean fest
SubtitleNl (Dutch) Boolean fest
SubtitleEn Boolean fest
SubtitleFr Boolean fest
SubtitleGr (Germany) Boolean fest
SubtitleOther Boolean fest
FormatPal Boolean fest
FormatNtsc Boolean fest
Format04:03 Boolean fest
Format14:09 Boolean fest
Format16:09 Boolean fest
Actor01 Text 30
Actor02 Text 30
Actor03 Text 30
Actor04 Text 30
Actor05 Text 30
Releaseyear Numerisch 4
Cover PicturePlus OLE deaktiviert
Otherinfo Memo fest
MovieID Numerisch 10 automatische Nummernvergabe, unique, filled in.

Anschließend sichern Sie die Approach-Datei.

Menü

In dieser Datenbank werden keine Felder benötigt, da wir Sie nur für den Zugriff auf andere Datenbanken verwenden, aber Approach erlaubt das Anlegen einer Datenbank ohne Felder nicht (warum bloß?), daher fügen wir nur ein Feld hinzu.

Wir wissen, wie man eine schönere Überschrift erstellt. Außerdem habe wir ein Rechteck im linken Bereich des Bildschirms erstellt. Dieses werden wir nicht für alle Schaltflächen benutzen. Nur die zum Schließen wird dort plaziert. Eventuell noch ein Hilfeknopf. Schauen wir einfach einmal. Ändern Sie nun den Hintergrund in das beliebte Blau und legen Sie das Rechteck und die Überschrift so an, wie wir es bereits mehrmals getan haben. Vergessen Sie nicht, die Ränder auf Null zu setzen. Sie können das Arbeitsblatt löschen (markieren, rechte Maustaste und Löschen auswählen), da wir es in dieser Datenbank nicht benötigen. Auch wenn wir sie auf andere Weise nutzen, so handelt es sich immer noch um eine Datenbank.

Lassen Sie uns nun das Makro Exit erstellen.

Legen Sie nun ein neues Formular an.

Erstellen Sie nun ein Makro mit der Bezeichnung Alert und dem Befehl Anzeige - Alert. Plazieren Sie eine Schaltfläche auf dem Hauptbildschirm, weisen Sie ihr den Makro Alert zu und geben Sie als Text Exit ein.

Damit hätten wir für uns eine kleine Erinnerung geschaffen. Für diese Situation ist es angebracht, aber setzen Sie derartiges nicht zu oft ein.

Weiter mit der Erstellung der Makros:

Tab. 2: Erforderliche Makros
Name Typ Anleitung zur Erstellung
Contacts open Datenbank suchen und Contacts auswählen
Genre open Datenbank suchen und Genre auswählen
Dvdformat open Datenbank suchen und Dvdformat auswählen
Dvdextra open Datenbank suchen und Dvdextra auswählen
Movies open Datenbank suchen und Movies auswählen

Nun bleiben noch einige Verschönerungen im Menübereich vorzunehmen und Schaltflächen zum Öffnen der Datenbanken anzulegen.

Verschönerung

Zeichnen Sie ein Rechteck:

Tab. 3: Rechteck, Menü
Attribut Wert
Breite 1,0
Höhe 10,0
Oben 2,0
Links 1,0
Stil vertieft
Hintergrund transparent
Umrandungsfarbe dunkelrot

Zeichnen Sie nun ein Textfeld und geben Sie My Databases ein, wobei Sie nach jedem Buchstaben die [Eingabetaste] drücken. Es sollte so aussehen:

M
y

D
a
t
a
b
a
s
e
s
Tab. 4: Menüverschönerung, Textfeld
B (cm) H O L Attribute
0,8 9,8 2,1 1,1 Gill Sans 18 point bold, dunkelrot, zentriert

Sieht ziemlich klasse aus.

Nun zu den Schaltflächen. Diesmal wollen wir ovale Schaltflächen nehmen. Erstellen Sie ein Oval:

Tab. 5: Menüverschönerung, ovale Schaltfläche
Attribut Wert
Breite 3,5
Höhe 1,0
Oben 3,0
Links 4,0
Stil erhaben
Füllfarbe hellgelb (standard)
Umrandungsfarbe orange
Schattenfarbe dunkelrot

Kopieren Sie nun diese Schaltfläche und fügen Sie sie viermal ein, so daß fünf Schaltflächen vorhanden sind.

Weisen Sie die Makros den entsprechenden Schaltflächen zu und fügen Sie noch Textfelder hinzu.

Tab. 6: Menüverschönerung, Positionen der Schaltflächen
Schaltfläche Position (cm) Makroeinstellungen
O L
Genre 5,0 5,5 Makro genre
Dvdextra 7,5 5,5 Makro dvdextra
Dvdmedia 9,0 5,5 Makro dvdmedia
Contacts 3,0 10,0 Makro contacts

Zur Verschönerung wollen wir die Schaltflächen Movie - Genre / Genre - Dvdextra / Dvdextra - Dvdmedia mit Linien verbinden. Ich habe eine Linienbreite von 2 pt und die Farbe der Schaltflächen verwendet.

Tab. 7: Menüverschönerung, Linien zwischen Schaltflächen
Schaltfläche B H O L
Movies - Genre 1,30 1,10 3,96 5,89
Genre - Dvdextra 0,00 1,00 6,00 7,25
Dvdextra - Dvdmedia 0,00 1,00 8,00 7,25

Da die Schaltflächen mit Schatten versehen sind, sollten auch die Linien einen erhalten. Verwenden Sie dafür als Linienfarbe dunkelrot.

Tab. 8: Menüverschönerung, Schattenlinien
Schaltflächen B H O L
Movies - Genre 1,13 1,02 3,98 6,02
Genre - Dvdextra 0,00 0,94 6,05 7,30
Dvdextra - Dvdmedia 0,00 0,94 8,05 7,30

Erstellen wir nun hübschen Text für die Schaltflächen.

Tab. 9: Menüverschönerung, Text
Attribut Wert
Breite 3,0
Höhe 0,7
Schriftart Gill Sans 16pt
Stil unteres Textrelief
Textfarbe dunkelrot

Plaziert man den Text über der Schaltfläche, sieht es so aus, als ob der Text in die Schaltfläche eingraviert wäre. Positionieren Sie den Text so über der Schaltfläche, daß er sich mehr oder weniger in der Mitte befindet. Es ist etwas schwierig, ein Rechteck exact über einem Oval zu zentrieren, probieren Sie es also, bis es gut aussieht.

Mein Text befindet sich hier:

Tab. 10: Menüverschönerung, Positionen der Textfelder
Text Position (cm)
O L
Movies 3,15 4,25
Genre 5,14 5,76
Dvdextra 7,16 5,80
Dvdmedia 9,16 5,74
Contacts 3,13 10,26

Erstellen Sie ein Makro My Menu, wie wir es schon in den letzten Teilen getan haben. Belassen Sie darin nur das Menü Hilfe mit den Einträgen Über und Hilfe. Weisen Sie diesem Makro alle Indexzungen zu, und nehmen Sie die Auswahl aller Ansichten zurück, so daß nur noch das Hauptfenster verbleibt. Sichern Sie die Datei und wählen Sie Ansicht > Blättern.

Damit wäre das Menü im Grunde fertig. Falls erforderlich können wir daran später noch Änderungen vornehmen. Nun können Sie alle Schaltflächen darauf überprüfen, ob damit die Datenbanken geöffnet werden können. Anschließend fahren wir mit der Datenbank Movies fort.

Die Formulare für Movies

Wie Sie sehen, befinden sich auf der Hauptindexzunge alle Felder. Meines Erachtens etwas gedrängt. Löschen wir hier also ein paar Felder. Für die anderen Felder legen wir später neue Formulare an.

Löschen Sie alle Felder außer Title, Genre, Time, Dvdmedia, Dvdextra, Number of disks, Imdbcode, Film ID, Borrowed To, Storyline und Cover. Keine Sorge, sie werden dadurch nicht aus der Datenbank gelöscht.

Schon besser. Nun legen wir ein paar Stile an. Wie schon gesagt erstellen wir elf Formulare, daher empfiehlt es sich, dafür einen Stil anzulegen. Den neuen Formularen weisen wir dann einfach den Stil zu. Erstellen Sie drei Stile mit den Namen Button, Button text und Background.

Wenn Sie damit fertig sind, sichern Sie die Stile und wählen Sie den grauen, gepunkteten Bereich aus. Klicken Sie auf die Indexzunge Stile für den Hintergrund. Ändern Sie nun den Seitennamen und Formularnamen in Input um. Setzen Sie alle Ränder auf 0 cm.

Erstellen Sie die Menüleiste und die Überschrift wie gehabt. Wählen Sie alle Felder aus und passen Sie für Daten und Bezeichnungen Schrift und Schriftfarbe an.

Plazieren Sie die Felder wie folgt:

Tab. 11: Positionen und Typen der Textfelder
Feld Position (cm) Typ Anzeigetyp
B H O L
Title 6,0 1,0 3,0 4,0 Text Erster Buchstabe groß
Genre 6,0 1,0 3,0 12,5 - Wie eingegeben
Time 2,5 1,0 4,5 4,0 Zeit HH:MM:SS [1]
Dvdformat 2,5 1,0 4,5 7,5 - Wie eingegeben
Dvdextra 2,5 1,0 4,5 12,5 - Wie eingegeben
Numberofdisks 2,5 1,0 4,5 16,0 - Wie eingegeben
Imdbcode 6,0 1,0 6,0 4,0 Text Kleinschreibung
MovieID 2,5 1,0 6,0 12,5 - Wie eingegeben
Cover 2,3 3,0 6,5 16,0 - erhaben, Füllfarbe transparent [2]
Borrowedto 6,0 1,0 7,5 4,0 - Wie eingegeben
Storyline - - - - - [3]

1 Dieses Zeitformat ist standardmäßig nicht vorhanden, aber man kann jedes beliebige entsprechend anpassen. Ich habe HH:MM:SS h ausgewählt, da ich nur das h löschen mußte.

2 Erstellen Sie ein Label Cover und plazieren Sie es auf dem Feld vom Typ pictureplus.

3 Meine Erfahrungen mit Approach sind derart, daß man mitunter den ersten oder letzten Buchstaben einer Zeile nicht richtig sehen kann, wenn man Text in ein Memofeld eingibt und ein Format wie unseres verwendet. Wir erarbeiten uns also eine Umgehungslösung und zeichnen die Linien selbst. Siehe Tabelle 12.

Zeichnen Sie Haarlinien mit folgenden Parametern:

Tab. 12: Parameter für Haarlinien
Typ Position (cm) Farbe
B H O L
horizontal 14,5 - 4,0 10,5 dunkelgrau
horizontal 14,45 - 4,05 10,55 schwarz
vertikal - 4,0 4,0 10,5 dunkelgrau
vertikal - 3,95 4,05 10,55 schwarz
horizontal 14,45 - 4,05 14,47 hellgrau
horizontal 14,5 - 4,0 14,5 weiß
vertikal - 3,95 18,47 10,55 hellgrau
vertikal - 4,0 18,5 10,5 weiß

Fügen Sie nun dem Feld mit dem Text Storyline ein Label hinzu.

Tab. 13: Storyline Label
Attribut Wert
Breite 14,3
Höhe 3,8
Oben 10,6
Links 4,1
Stil Keiner, kein Label
Füllfarbe transparent
Umrandungsfarbe transparent
Schattenfarbe transparent

Ziehen Sie das Feld in das gerade angelegte Rechteck.

In Ordnung. Unser Eingabeformular ist nun fast fertig, und alle Felder sind da, wo sie hin sollen.

Anpassen des Arbeitsblattes

Benennen Sie das Arbeitsblatt in List um und wählen Sie unsere bevorzugten Schriften und Farben aus. Nun bleibt noch, folgende Formulare zu erstellen: Dvdregion, Help, Print und Explanation.

Legen Sie vier Formulare an und passen Sie sie wie folgt an:

Bildschirm Dvdregion

Fügen Sie dem Bildschirm Dvdregion folgende Informationen in einem Textfeld hinzu (es muß auch noch eine Schaltfläche zum Schließen hinzugefügt werden):

Tab. 15: Textfeld Dvdregion
B (cm) H O L Attribute
9,80 5,50 0,50 0,15 Gill Sans 9 point
  1. Playable in all regions. (In this database we use Region Free)
  2. United States of America, Canada
  3. Greenland, Europe, Egypt, Middle East, Lesotho, Swaziland, South Africa, Japan
  4. Southeast Asia, South Korea, Hong Kong, Indonesia, Philippines, Taiwan
  5. Australia, New Zealand, Mexico, Central America, South America
  6. Russia, lands of the former Soviet Union, Eastern Europe, India, Mongolia, Africa
  7. China
  8. (Reserved for future use)
  9. International areas (like airplanes and ships)

Bildschirm Help

Geben Sie auf dem Hilfebildschirm folgende Informationen ein und verwenden Sie die Schriftart Gill Sans 9 point.

F1 Show this screen
F2 Switch to the input screen
F3 Switch to list view

When you are in the input screen with the New button, you add a new record. When you are in the search screen with the New button, you start a new search of the entire database. Make sure the PATH, DPATH, and LIBPATH statements in the CONFIG.SYS include the path to your favorite browser, otherwise the button Internet will not work.

Bildschirm Print

Fügen Sie dem Bildschirm Print folgende Informationen hinzu. Verwenden Sie Gill Sans 14 point.

Der erste Teil ist für Print Card (oder List) und der zweite für das Semikolon. Auf diese wird der Text besser angeordnet. Andernfalls kann es abhängig von der Schriftart vorkommen, daß die Semikolons nicht fluchten oder daß der Text schwer zu lesen ist. Daher wurde der Text in Blöcke aufgeteilt.

Tab. 16: Schaltflächen Bildschirm Print
Text für Schaltfläche B H O L
Print Card 3,50 0,50 1,25 0,50
; (Semikolon) 0,50 0,50 1,25 4,00
Print List 3,50 0,50 2,50 0,50
; (Semikolon) 0,50 0,50 2,50 4,00

Bildschirm Explanation

Geben Sie im Bildschirm Explanation folgende Informationen ein (mit den gleichen Einstellungen wie beim Bildschirm Help):

The field Actor1 is meant to be filled with the lead actor, and the field Actor2 is intended for the lead actress. When it's not clear who it is, or there is no lead actor or actress, these fields can be used for other actors or actresses. The remaining Actor fields are used for actors with the other important roles.

Das wär's für heute

In Ordnung, ich denke, das sollte für heute mehr als reichen. Die versprochenen Makros müssen bis zum nächstenmal warten. Ich hoffe, daß Ihnen dieser Teil gefallen hat und Sie nächstes Mal wieder dabei sind, wenn wir mit der Datenbank fortfahren.

Ü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