4D v14Arrays, PopUps, Listboxen |
||||||||||||||||||||||||||||||||||||
|
4D v14
Arrays, PopUps, Listboxen
|
Schritt | Einfache Variable | Array Variable |
Initialisierung | C_TEXT(vText) | ARRAY TEXT(ArrayText;10) `10 Zeilen |
Bewertung | vText:="Klassiksammlung" | ArrayText{1}:="Bach" `Zeile 1 |
ArrayText{2}:="Beethoven" `Zeile 2 | ||
ArrayText{3}:="Bruckner" `Zeile 3 | ||
... | ||
Verwendung | $NumChar:=Length(vText) | $Amant:=ArrayText{1} |
Inhalt entfernen | CLEAR VARIABLE(vText) | ARRAY TEXT(ArrayText;0) |
(unterschiedliches Verhalten in interpretierter und kompilierter | ||
Anwendung, mehr dazu siehe 4D Dokumentation) | ||
Ansicht im Formular | Den Variablennamen einem Objekt vom Typ Variable übergeben | Den Variablennamen einem Objekt vom Typ rollbarer Bereich/PopUp-Menü übergeben |
Typen | Ganzzahl, Lange Ganzzahl, Zahl, Alpha, Text, Boolean, Datum, Zeit, Bild, BLOB, Zeiger | Identisch zu Variablentypen außer Zeit und BLOB |
Wie Sie sehen, haben Variablen und Arrays viele Ähnlichkeiten.
Der Name eines Array wird manchmal mit geschweiften Klammern { }, manchmal direkt verwendet. In diesem Fall ist es eine Variable vom Typ Lange Ganzzahl, die 4D automatisch anlegt. Diese einem Array zugewiesene Variable dient als ein Array Index (Zeilennummer). Über diese Variable erfahren wir, welche Zeile der Benutzer ausgewählt hat oder erzwingen die Auswahl einer spezifischen Zeile im PopUp-Menü.
Das ist, was wir oft mit der spezifischen Syntax in Anwendungen sehen:
[INTERVENTIONS]Object:=ObjectsArr{ObjectsArr}
Wir können es folgendermaßen entschlüsseln: "Objekt := Array Inhalt {bei der ausgewählten Zeile}"
Sie finden auch folgende Syntax, die noch präziser und generischer ist. Sie verwendet die Funktion Self mit einem Zeiger auf das Objekt, dessen Methode ausgeführt wird:
[INTERVENTIONS]Object:=Self->{Self->}
Unabhängig von der gewählten Syntax ist das Verhalten gleich.
In 4D ist eine Registerkarte ein einmaliges Objekt mit mehreren Titeln (Werte). Es ist ein Beispiel für ein Oberflächenobjekt, das ein Array darstellen kann. In der Regel setzen wir Registerkarten auf Seite 0 im Formular (mehr dazu siehe Sequenz zu diesem Thema).
Wie Sie sehen, werden Arrays rasch recht nützlich und bald zur Notwendigkeit.
Ein Array enthält nur Einträge vom gleichen Typ. Sie können kein Array haben mit einem Element Alpha, einem Element Datum und einem dritten Element Zeit. In diesem Fall können Sie ein Array mit Zeigern verwenden, die auf Variablen unterschiedlicher Typen zeigen.
Wie bereits in der Sequenz zu Zeigern erwähnt, können Sie Zeiger und Arrays kombinieren zu “Zeiger Arrays”.
Sie können auch eine Listbox verwenden, in der jede Spalte mit einem anderen Array (derselben Größe) verbunden ist.
Es ist ein Objekt, das ein oder mehrere Arrays gruppiert und synchronisiert.
In einer Listbox können Sie folgendes konfigurieren:
Bei einer Listbox mit X Spalten haben Sie 2X+1 Objekte (X Spalten, X Titel + 1 Listbox).
Mit Listboxen können Sie:
Beachten Sie, dass die Listbox ihre Spalten synchronisiert; sie nimmt dafür die kleinste Anzahl der Zeilen aus dem Array. So kann es vorkommen, dass Sie Arrays haben, die mit Daten gefüllt sind, und trotzdem mit einer leeren Listbox enden, wenn eins ihrer Arrays leer ist.
Produkt: 4D
Thema: Arrays, PopUps, Listboxen
Self-Training ( 4D v13)
Self-Training ( 4D v14)