Bevor man beginnt, eigene Datenbanken zu entwickeln und Daten in ihnen einzugeben, sollte man über die Grundlagen Bescheid wissen, auf die MUIbase aufbaut.
Ein MUIbase-Projekt enthäkt alle relevanten Informationen, die zum Verwalten von Daten benötigt werden. Dies schließt die Benutzerschnittstelle, die eingegebenen Daten und die Programme des Projekts ein.
Ein Projekt kann von einer Platte geladen, auf ihr gespeichert und von ihr gelöscht werden. Jede Änderung, die am Projekt durchgeführt wird, wird nur im Speicher durchgeführt. Jederzeit kann zum zuletzt gespeicherten Status des Projekts zurückgekehrt werden, indem es neu geladen wird.
MUIbase kann mehrere Projekte gleichzeitig handhaben. Daher ist es nicht notwendig, MUIbase nochmal aufzurufen, wenn nur ein weiteres Projekt geladen werden soll.
MUIbase verwaltet Daten in Tabellen. Eine Tabelle ist in Zeilen und Spalten angeordnet, wobei Zeilen Datensätze und Spalten Felder heißen.
Folgendes Beispiel zeigt eine Tabelle, wie eine Menge von Adressen in einer Tabelle angeordnet sind:
Name | Street | City ------------------|---------------------|------------------------ Steffen Gutmann | Wiesentalstr. 30 | 73312 Geislingen/Eybach Charles Saltzman | University of Iowa | Iowa City 52242 Nicola Müller | 21W. 59th Street | Westmont, Illinois 60559
Es existiert eine besondere Art von Tabelle, die nur genau einen Datensatz halten kann. Diese Art von Tabelle ist manchmal nützlich, wenn eine Datenbank gesteuert werden soll, z.B. können Knöpfe zum Ausführen von diversen Aktionen oder Nur-Lesefelder zur Darstellung von projektabhängiger Information in die Tabelle eingesetzt werden. Angenommen, es gibt beispielsweise eine Finanzdatenbank, in der Ein- und Ausgaben gespeichert werden. Eine Tabelle mit genau einem Datensatz könnte ein Nur-Lesefeld vom Typ Fließkommazahl beinhalten, in dem der aktuelle Gewinn bzw. Verlust angezeigt wird.
Jede Tabelle hat zwei Datensatzzeiger: ein Zeiger, der auf den Datensatz zeigt, der gerade über die Benutzerschnittstelle angezeigt wird (genannt GUI-Datensatzzeiger) und ein Zeiger, der auf den Datensatz zeigt, der beim Ausführen eines MUIbase-Programms verwendet wird (genannt Programm-Datensatzzeiger).
Man kann unbegrenzt viele Tabellen in einem MUIbase-Projekt anlegen. (Anmerkung: in der unregistrierten Version gibt es eine Einschränkung auf 5 Tabellen pro Projekt).
Tabellen können hinzugefügt, umbenannt und von einem Projekt gelöscht werden.
Ein Datensatz ist eine Zeile einer Tabelle. Sie trägt sämtliche Information einer Menge, d.h. in einer Tabelle, die Adressen verwaltet, hält sie eine Adresse.
Jeder Datensatz besitzt eine Nummer, das ihre Position in der Tabelle wiederspiegelt. Diese Nummer kann sich ändern, wenn Datensätze hinzugefügt oder gelöscht werden.
Für jede Tabelle existiert ein Datensatz, der Vorgabedatensatz genannt wird, der die Vorgabewerte zum Anlegen neuer Datensätze beinhaltet. Dieser Vorgabedatensatz hat immer die Datensatznummer 0.
Datensätze können hinzugefügt, verändert und von einer Tabelle
gelöscht werden.
Es gibt keine Obergrenze für die Anzahl von Datensätzen einer Tabelle.
Die Datensätze werden nicht notwendigerweise im Speicher gehalten,
werden aber von Platte geladen oder auf ihr gespeichert, wenn es nötig
sein sollte.
Ok, es gibt doch zwei Obergrenzen für die maximale Anzahl von
Datensätzen einer Tabelle.
Die eine basiert auf der Tatsache, daß die Datensatznummer ein
Wert der Größe long
ist, der die Anzahl der Datensätze auf
4294967295 begrenzt.
Die andere Einschränkung besteht darin, daß für jeden Datensatz ein
kleiner Datensatz im Speicher gehalten werden muß.
Diese Einschränkungen sollten MUIbase dennoch für Datensatzzahlen von
10000 und mehr verwendbar machen.
Ein Feld legt eine Spalte einer Tabelle fest. Es legt den Typ und die Erscheinung der betreffenden Spalte fest.
Felder können hinzugefügt, umbenannt und von einer Tabelle gelöscht werden. Es gibt hier keine Obergrenze für die Anzahl der Felder pro Tabelle. (Anmerkung: in der unregistrierten Version von MUIbase gibt es eine Einschränkung auf 10 Felder pro Tabelle).
Für jedes Feld muß ein Typ festgelegt werden, der den Inhalt des Feldes einschränkt. Eine Liste aller Feldtypen ist im nächsten Abschnitt zu finden.
Felder können vom Typ Zeichenkette, Ganzzahl, Fließkommazahl, Bool, Auswahl, Datum, Zeit, mehrzeiliger Text, Beziehung, virtuell oder Knopf sein. Diese Typen werden unten detailierter beschrieben.
Einige der Felder unterstützen einen besonderen Wert NIL. Dieser Wert stellt einen undefinierten Wert dar, z.B. bei einem Datum für ein unbekanntes Datum. Der Wert NIL entspricht dem Wert NULL von anderen Datenbanksystemen.
Anzumerken ist, daß der Typ eines Feldes nachträglich nicht mehr geändert werden kann, wenn er einmal gesetzt worden ist.
Zeichenketten können eine einzelne Zeile Text speichern. Sie sind der am meisten verwendete Feldtyp in einem Datenbankenprojekt. Zum Beispiel speichert eine Adreßdatenbank den Namen, die Straße und den Ort einer Person jeweils in einem Zeichenkettenfeld.
Für ein Zeichenkettenfeld muß die maximale Länge in Zeichen festgelegt werden, die in einer Zeichenkette zulässig sind. Diese Zahl bezieht sich nicht auf den benötigten Platz im Speicher oder auf Platte, der durch die Zeichenkette beansprucht wird, da nur der aktuelle Zeichenketteninhalt gespeichert wird (andere Datenbanken nennen dieses Feature komprimierte Zeichenketten). Wenn nötig kann die Nummer nach der Erstellung des Zeichenkettenfeldes nachträglich geändert werden.
Zeichenkettenfelder können auch verwendet werden, um Zeichensatz- und Dateinamen zu speichern. Bei Dateinamen können externe Anzeigeprogramme gestartet werden, um den Dateiinhalt anzuzeigen. Des weiteren erlaubt eine eingebaute Bilderklasse die Darstellung eines Bildes aus einer Datei.
Zeichenkettenfelder unterstützen nicht den Wert NIL.
Ganzzahlfelder speichern ganze Zahlen im Bereich von -2147483648 to 2147483647. Sie werden meistens verwendet, um Mengenangaben wie z.B. die Anzahl der Kinder pro Person oder die Anzahl der Lieder pro CD zu speichern.
Ganzzahlfelder unterstützen den Wert NIL, der für eine undefinierte Ganzzahl steht.
Fließkommazahlen speichern Werte im Bereich von -3.59e308 bis +3.59e308.
Sie werden für das Speichern von Zahlen jeder Art verwendet, wie z.B. die Beträge in einem Projekt für Einkommen/Ausgaben.
Für jedes Fließkommazahlfeld läßt sich die Anzahl der Nachkommastellen festlegen, aber intern wird dennoch mit der vollständigen Präzision gearbeitet.
Fließkommazahlfelder unterstützen den Wert NIL, der für eine undefinierte Fließkommazahl steht.
Boolesche Felder speichern ein Bit Information. Sie können für das Speichern von Werten wie ja/nein oder wahr/falsch verwendet werden, z.B. in einem Buchhaltungsprojekt könnte ein boolesches Feld die Information `hat bezahlt?' vermerken.
Boolesche Felder verwenden TRUE (=wahr) und NIL als boolesche Werte. NIL steht in diesem Fall für falsch.
Auswahlfelder speichern ein Element aus einer Liste von Elementen. Zum Beispiel kann das Feld in einer Adreßdatenbank zum Speichern von Landesnamen wie `USA', `Kanada', `Deutschland' oder `andere' verwendet werden.
Ein Auswahlfeld speichert im Datensatz nicht die gesamte Elementzeichenkette, sondern nur die Elementnummer (Index). Die Anzahl der Elemente und die Elemente selbst können nach dem Erstellen nachträglich geändert werden. Jedoch werden die vorhandenen Datensätze nicht auf die Änderungen an einem Auswahlfeld angepaßt, um die neue Situation zu widerspiegeln.
Auswahlfelder unterstützen den Wert NIL nicht.
Datumsfelder speichern ... ehm ... Daten(3). Zum Beispiel kann ein Datumsfeld zum Speichern von Geburtstagen verwendet werden.
Das Format zum Eingeben von Datumswerten ist eines aus `TT.MM.JJJJ', `MM/TT/JJJJ' oder `JJJJ-MM-TT', wobei `TT' für den Tag, `MM' für den Monat und `JJJJ' für das Jahr steht.
Datumsfelder unterstützen den Wert NIL, der für ein undefiniertes Datum steht.
Zeitfelder speichern Zeiten oder Zeiträume. Zum Beispiel kann ein Zeitfeld verwendet werden, um die Spielzeiten von Musikstücken einer CD zu speichern.
Das Format zum Eingeben und Darstellen von Zeitangaben ist auf `HH:MM:SS' festgelegt, wobei `HH' für eine zweistellige Zahl im Bereich 0 bis 23 für Stunden, `MM' eine zweistellige Zahl im Bereich von 0 bis 59 für Minuten und `SS' eine zweistellige Zahl im Bereich von 0 bis 59 für Sekunden steht.
Zeitfelder unterstützen den Wert NIL, der für eine undefinierte Zeit steht.
Mehrzeilige Textfelder speichern mehrzeilige Texte jeder Größe. Die Textgröße wird dynamisch verwaltet, was bedeutet, daß nur soviel Speicher benötigt wird, wie der Text groß ist. In einem Projekt, das Filme verwaltet, kann ein mehrzeiliges Textfeld verwendet werden, um Kurzbeschreibungen zum Film aufzunehmen.
Mehrzeilige Textfelder unterstützen nicht den Wert NIL.
Beziehungsfelder sind ein besonderer Feldtyp, der gewöhnlich nicht in anderen Datenbanksystemen zu finden ist. Beziehungsfelder speichern einen Zeiger auf einen anderen Datensatz. Der Datensatz, auf den verwiesen wird, kann in der selben oder in jeder anderen Tabelle liegen, zu der die Beziehung gehört.
Zum Beispiel können in einem Stammbaumprojekt zwei Beziehungsfelder verwendet werden, um Zeiger auf den Vater und die Mutter zu speichern. In einer CD-Verwaltung mit Musiktiteln kann ein Beziehungsfeld in einer Tabelle, die die Musiktitel beinhaltet, verwendet werden, um auf die Datensätze der entsprechenden CDs zu verweisen.
Zur Darstellung eines Beziehungsfeldes können ein oder mehrere Felder des Bezugsdatensatzes angegeben werden. Eingaben in ein Beziehungsfeld können durch Auswählen eines Datensatzes aus einer Liste von Datensätzen erfolgen.
Beziehungsfelder unterstützen den Wert NIL. Hierbei steht er für einen Zeiger auf den Vorgabedatensatz der Bezugstabelle.
Virtuelle Felder sind ein besonderer Feldtyp, die keine Information in der Datenbank speichern, sondern sie nur beiläufig ermitteln, wenn es notwendig ist.
Zum Beispiel kann in einem Buchhaltungsprojekt Werte einschließlich Steuern ermittelt werden, wenn in der Datenbank nur Werte ohne Steuern gespeichert werden. Jedesmal, wenn der Wert des virtuellen Feldes benötigt wird, wie z.B. beim Darstellen, wird er aus dem entsprechenden Wert ohne Steuern berechnet.
Zum Darstellen von virtuellen Feldern existieren drei Arten: Bool, Zeichenkette und Liste. Diese drei Arten erlauben die Darstellung des virtuellen Feldes als Wahr/Falsch-Wert, als eine einzeilige Zeichenkette einschließlich Zahlen, Daten und Zeiten, und als eine Liste aus mehreren einzelnen Zeilen, z.B. zum Auflisten aller Titel einer CD.
Virtuelle Felder unterstützen den Wert NIL, der für Falsch (bei Bool), undefiniert (bei Zeichenkette) oder leer (bei Liste) steht.
Knöpfe sind genaugenommen keine echten Feldtypen, da sie keine Daten speichern oder darstellen. Sie werden nur zum Auslösen von MUIbase-Programmen verwendet.
Der Grund, daß sie als Feldtyp gehandhabt werden, ist der Zugriff über ihren Feldnamen. Dies erlaubt die Benutzung des Knopfnamens in einem MUIbase-Programm, z.B. zum Aktivieren/Deaktivieren des Knopfes. Ein anderer Grund ist, daß Knöpfe ähnliche Eigenschaften wie Felder besitzen, wie z.B. Auslösefunktionen.
Die folgende Tabelle zeigt alle verfügbaren Feldtypen auf:
Typ Beschreibung NIL zulässig? ---------------------------------------------------------------------------- Zeichenkette Für Zeichenketten der Länge 1..999. Ja Eine Zeichenkette kann auch zum Speichern von Dateinamen, Zeichensatznamen und einer aus mehreren Zeichenketten verwendet werden. Bei Dateinamen kann ein Feld hinzugefügt werden, in dem die Datei als Bild angezeigt wird. Ganzzahl Zum Speichern von Ganzzahlen Ja Fließkommazahl Zum Speichern von reellen Zahlen Ja Bool TRUE oder NIL Ja (NIL = falsch) Auswahl Eine Nummer aus n Nummern, die durch Nein Auswahltexte repräsentiert werden. Datum Zum Speichern eines Datum (1.1.0000 - Ja 31.12.9999) Zeit Zum Speichern einer Zeit (00:00:00 - 23:59:59) Ja mehrzeiliger mehrzeilige Texte von unbegrenzter Länge Nein Text Beziehung Zum Speichern einer Beziehung zu einem Ja (NIL bedeutet Datensatz einer anderen Tabelle Vorgabedatensatz) virtuell Zum Darstellen von Ergebnissen aus einem Ja MUIbase-Programm Knopf Zum Auslösen einer Programmfunktion Nein (k.A.)
Jeder Feldtyp benötigt eine bestimmte Menge Speicher, um einen Wert in einem Datensatz zu speichern. Alle Typen außer virtuell und Knopf haben gemeinsam, daß sie einen Kopf aus 2 Bytes benötigen, der interne Information speichert. Zusätzlich wird typenabhängiger Speicher benötigt, der zum Speichern des momentanen Wertes dient. Die folgende Tabelle zeigt auf, wieviel Speicher einschließlich des mögichen 2 Bytes-Kopfes ein Wert zu gegebenem Typ an Speicher im RAM und auf Platte benötigt.
Typ Speicherplatz Plattenplatz Zeichenkette 2 + 4 + Länge +1 2 + Länge + 1 Ganzzahl 2 + 4 2 + 4 Fließkommazahl 2 + 8 2 + 8 Bool 2 + 0 2 + 0 Auswahl 2 + 2 2 + 2 Datum 2 + 4 2 + 4 Zeit 2 + 4 2 + 4 mehrzeiliger Text 2 + 4 + Länge +1 2 + Länge + 1 Beziehung 2 + 4 2 + 4 virtuell 0 0 Knopf 0 0
Länge steht für die Länge der zu speichernden Zeichenkette bzw. des mehrzeiligen Textes.
Bis jetzt ist bekannt, wie Information in Tabellen mit Datensätzen und Feldern angeordnet werden, aber es sollten auch Beziehungen zwischen Tabellen hergestellt werden können.
Zum Beispiel würde eine Datenbank für CDs zwei Tabellen enthalten, eine für die CDs und eine für die Musiktitel der CDs. Natürlich können alle Musiktitel innerhalb der CD-Tabelle gespeichert werden, aber dadurch ist die Anzahl der Musiktitel pro CD auf eine feste Anzahl beschränkt.
Nun wird eine Verbindung zwischen den beiden Tabellen benötigt, um für jeden Musiktitel die entsprechende CD zuzuweisen. Dies wird Beziehung zwischen beiden Tabellen genannt. Normalerweise wird dafür ein Beziehungsfeld verwendet, um eine solche Beziehung herzustellen.
Durch das Einrichten eines Beziehungsfeldes in einer Tabelle wird automatisch eine Beziehung zwischen der Tabelle, die das Feld beinhaltet, und der Tabelle hergestellt, zu der sie verweist.
Eins-zu-Eins-Beziehungen sind ganz einfache Beziehungen, bei denen jeder Datensatz genau einen oder keinen Partner in der anderen oder selben Tabelle besitzt.
In einer Datenbank, die beispielsweise Lieblingsschauspieler verwaltet, könnte ein Beziehungsfeld `verheiratet mit' eingerichtet werden, das anzeigt, mit welcher Person der/die Schauspieler/in verheiratet ist. Ein/e Schauspieler/in, die momentan nicht verheiratet ist, würde dann den Wert NIL im Beziehungsfeld haben.
Dies verhindert natürlich nicht, daß der Benutzer die Beziehungen über `verheiratet mit' von verschiedenen Schauspieler/innen auf die gleiche Person setzen. Es läßt sich jedoch über die Programmierung von MUIbase erreichen, daß solche Fälle sofort erkannt und behandelt werden können.
Eins-zu-Mehrfach-Beziehungen sind nützlich, um mehrere Datensätze zu einem Datensatz in einer anderen oder der selben Tabelle zu verbinden.
In einem Projekt, das z.B. Bankkonten verwaltet, könnte eine Tabelle alle Bankkonten und eine Tabelle alle Überweisungen enthalten. Nun ist es sicher sinnvoll zu wissen, welche Überweisung auf welches Konto durchgeführt werden soll. Daher wird ein Beziehungsfeld in der Überweisungstabelle eingerichtet, das auf die Bankkontentabelle verweist.
Eins-zu-Mehrfach-Beziehungen werden am meisten verwendet. Sie können zum Verwalten von hierarchisch angeordneten Strukturen verwendet werden, z.B. CDs mit Musiktiteln, Bankkonten mit Überweisungen, Stammbäume, etc.
Eins-zu-Mehrfach-Beziehungen sind auch Grundlage zum Realisieren von Mehrfach-zu-Mehrfach-Beziehungen, die im nächsten Abschnitt beschrieben werden.
Mehrfach-zu-Mehrfach-Beziehungen werden verwendet, wenn mehrere Datensätze auf eine andere Menge von mehreren Datensätzen verweisen sollen.
Ein Projekt, das Spielfilme und Schauspieler/innen verwaltet, enthält zwei Tabellen, eine für die Filme und eine für die Schauspieler/innen. Nun sollen für jeden Film die Schauspieler/innen ermittelt werden, die jeweils in den Filmen mitmachen. Jetzt könnte ein Beziehungsfeld in der Tabelle der Schauspieler/innen eingerichtet werden, um auf die Tabelle Filme zu verweisen. Wenn dies gemacht wird, dann kann ein/e Schauspieler/in nur in genau einem Film mitgespielt haben, da nur ein Beziehungsfeld in der Tabelle der Schauspieler/innen existiert. Deshalb werden eine unbeschränkte Anzahl von Beziehungen von der Tabelle der Schauspieler/innen zur Tabelle Filme benötigt.
Um dies zu bewerkstelligen, wird eine neue Tabelle hinzugefügt, die nur zwei Beziehungsfelder beinhaltet: eines, das auf die Tabelle der Schauspieler/innen und eines, das auf die Tabelle Filme verweist. Nun können Beziehungen durch neue Datensätze in dieser Tabelle hinzugefügt werden. Für jede Verbindung von Film-Schauspieler/in muß dann ein neuer Datensatz erzeugt werden, in dem Film und Schauspieler/in in den entsprechenden Beziehungsfeldern gesetzt werden.
Wenn nun ermittelt werden soll, in welchen Filmen ein/e Schauspieler/in mitgewirkt hat, dann brauchen nur alle Datensätze in der neuen Tabelle durchsucht werden, in der auf den/die gesuchte/n Schauspieler/in verwiesen wird und betrachtet die Film-Datensätze, von denen die gefundenen Datensätze hinverweisen. Eine solche Suche kann automatisch von MUIbase durchgeführt werden und das Ergebnis in einer Listenansicht angezeigt werden.
Die folgende Tabelle Zeigt ein Beispiel, wie eine Menge Schauspieler/innen und eine Menge Filme miteinander verbunden werden.
Titel Land ---------------------------- m1: Batman USA m2: Batmans Rückkehr USA m3: Sprachlos USA m4: Tequila Sunrise USA m5: Mad Max Australien m6: Braveheart USA
Name ------------------- a1: Michael Keaton a2: Jack Nicholson a3: Kim Basinger a4: Danny DeVito a5: Michelle Pfeiffer a6: Geena Davis a7: Christopher Reeve a8: Mel Gibson a9: Kurt Russell a10: Sophie Marceau a11: Patrick McGoohan a12: Catherine McCormack a13: Christopher Walken
FilmBez SchauspBez -------------------- m1 a1 m1 a2 m1 a3 m2 a1 m2 a4 m2 a5 m2 a13 m3 a1 m3 a6 m3 a7 m4 a8 m4 a5 m4 a9 m5 a8 m6 a8 m6 a10 m6 a11
Aus diesen Tabellen kann z.B. herausgelesen werden, daß Mel Gibson in den Filmen Tequila Sunrise, Mad Max und Braveheart mitgewirkt hat, oder daß im Film Batman die Schauspieler Michael Keaton, Jack Nicholson und Kim Basinger mitgespielt haben.
MUIbase verwendet eine grafische Benutzerschnittstelle (GUI), die hierarchisch organisiert ist, um Datensatzinhalte darzustellen und um die Eingabe von Daten durch Benutzer zu ermöglichen. Jedes Projekt besitzt sein eigenes Hauptfenster, in dem weitere GUI-Elemente (einschließlich Unterfenster) plaziert werden können. Die GUI-Elemente werden auch Anzeigeelemente genannt.
Eine Tabelle wird in einem eigenen GUI-Element Maske dargestellt. Eine Maske kann nur einen Datensatz zu einem Zeitpunkt darstellen. Dessen Layout und die Felder, die in der Maske eingeschlossen sind, können vom Benutzer verändert werden.
Die folgenden Abschnitte beschreiben MUIbase's GUI-Elemente, um das Layout eines Projekts gestalten zu können.
Fenster können verwendet werden, um Informationen eines Projekts auf mehrere unabhängige Bereiche aufzuteilen.
Jedes Projekt besitzt automatisch sein eigenes Hauptfenster. Falls nötig, wie z.B. wenn der Platz des Hauptfensters nicht ausreicht, können zusätzliche Unterfester erzeugt werden. Unterfenster können wiederum weitere Unterfenster haben.
Für jedes Unterfester wird im darüberliegenden Fenster ein Fensterknopf eingerichtet, um das Fenster öffnen bzw. schließen zu können. Der Fensterknopf sieht wie ein normaler Textknopf auf, hat aber ein kleines Fenstericon, das den Status geöffnet/geschlossen des entsprechenden Unterfensters anzeigt.
Hauptfenster haben kein übergeordnetes Fenster und haben daher auch keinen Fensterknopf. Schließen eines Hauptfensters bedeutet Schließen des gesamten Projekts.
Ein Fenster kann jedes andere GUI-Element (ausgenommen Panels) als Kinder haben. Wenn kein Kind zu einem Fenster hinzugefügt wurde, dann wird ein Bild `Leere Anzeige' (siehe Bild für leere Anzeige) angezeigt.
Eine Maske wird verwendet, um den Inhalt einer Tabelle darzustellen. Nur ein Datensatz der Tabelle kann zu einem Zeitpunkt angesehen werden.
Die Maske kann ein Panel (siehe nächster Abschnitt) enthalten, mit dem man die Tabelle steuern kann. Andere GUI-Elemente wie Felder oder Textobjekte können in der Maske plaziert werden, um die Datensatzinhalte anzuzeigen.
Masken können nicht in anderen Masken plaziert sein, da dies zu einer Hierarchie von Masken und somit auch zu einer Hierarchie von Tabellen führen würde, was in MUIbase nicht unterstützt wird. Wenn eine Hierarchie von Tabellen eingerichtet werden soll, ist eine Eins-zu-Mehrfach-Beziehung zwischen zwei Tabellen zu verwenden.
Ein Panel ist eine kleine recheckige Fläche am oberen Rand einer Maske. Ein Panel kann einen Titel, z.B. den Namen der dazugehörigen Tabelle, ein Nummernpaar, das die Datensatznummer und die Gesamtanzahl der Datensätze anzeigt, und einige Knöpfe zum Steuern der Tabelle, z.B. zum Darstellen vom nächsten und vorhergehenden Datensatz, enthalten.
Nur ein Panel kann in einer Maske definiert werden. Wird ein Panel für eine Maske eingerichtet, dann wird ein zusätzlicher Rahmen um die Maske gezeichnet, anderenfalls nicht.
Feldobjekte werden benützt, um den Inhalt eines Elements aus einem Datensatz darzustellen.
Abhängig vom Typ des Feldes ist das GUI-Element entweder ein Zeichenkettengadget (Typen Zeichenkette, Ganzzahl, Fließkommazahl, Datum und Zeit), ein Checkmark-Gadget (Typ Bool), ein Auswahlgadget oder eine Menge von Radioknöpfen (Typ Auswahl), ein Editorgadget (Typ mehrzeiliger Text), eine Popup-Listenansicht (Typ Beziehung), ein Text, Checkmark oder Listenansicht (Typ virtuell) oder ein Text- bzw. Bildknopf (Typ Knopf). In einigen Fällen kann ein GUI-Element ein einfaches Textgadget sein, wenn das Feldobjekt auf nur lesen gesetzt ist.
Textobjekte werden verwendet, um die verschiedenen Feldelemente einer Datensatzmaske zu beschreiben oder einfach nur zum Anzeigen von festen Text wie Copyrightvermerk irgendwo im Fenster.
Bilder können überall im Fenster angezeigt werden. Ein Bild kann eine interne MUI-Grafik, ein einfaches Farbfeld oder ein Bild aus einer externen Datei sein. Die Größe des Bildes kann auf größenveränderbar oder fest gesetzt werden.
Das Bild ist fest eingebaut. Wenn Bilder in einer Tabelle gespeichert werden sollen, sollte ein Zeichenkettenfeld verwendet werden (siehe Zeichenketten).
Anzumerken ist, daß Bilder in der unregistrierten Version von MUIbase nicht verfügbar sind.
Zwischenraumobjekte dienen dem Einfügen von Leerraum im Layout eines Fensters oder einer Tabellenmaske. Ein Zwischenraumobjekt kann einen vertikalen (oder horizontalen) Strich zum Abtrennen von anderen GUI-Elemente besitzen.
GUI-Elemente können in horizontalen oder vertikalen Gruppen angeordnet werden. Eine Gruppe plaziert ihre Kinder von links nach rechts (horizontale Gruppe) oder von oben nach unten (vertikale Gruppe).
Eine Gruppe kann seine Kindobjekte mit einem rechteckigen Rahmen umschließen, ein optionaler Titel oberhalb der Gruppe angezeigt werden und ein Schalter steuert, ob Zwischenräume zwischen den Kindobjekten eingefügt werden sollen oder nicht.
Gewichtungsobjekte können überall zwischen Kindobjekten in einem Fenster, einer Maske oder einem Gruppenobjekt eingesetzt werden. Dieses Objekt erlaubt dem Benutzer, die Gewichtungen der anderen Kindobjekte und somit den Platz der einzelnen Kinder dynamisch zu steuern.
Eine Karteikarten-Gruppe kann benutzt werden, um einige GUI-Elemente auf verschiedenen Seiten anzuordnen, von denen jeweils eine zu einer Zeit aktiviert werden kann. Dies ist nützlich, wenn die Benutzerschnittstelle zu groß wird und man sie nicht über mehrere Fenster verteilen will.
Go to the first, previous, next, last section, table of contents.