4D v14.3Arrays und Formularobjekte |
||
|
4D v14.3
Arrays und Formularobjekte
Arrays und Formularobjekte
Arrays sind Objekte der Programmiersprache —Sie können Arrays erstellen und benutzen, die für den Benutzer unsichtbar sind. Arrays sind ebenso Objekte der Benutzeroberfläche. Arrays unterstützen folgende Arten von Formularobjekten:
Sie können diese Objekte entweder im Designmodus im Formulareditor über die Eigenschaftenliste mit der Schaltfläche Standardwerte einrichten oder über die Array-Befehle programmieren (außer für Listboxen). Der Name der zugewiesenen Variablen, hier atNames ist der Name des Array, das Sie zum Erstellen und Verwalten des rollbaren Bereichs verwenden. Hinweise:
Folgendes Beispiel zeigt, wie Sie ein Array füllen und in einer Dropdown-Liste anzeigen. Mit dem Befehl ARRAY REAL erstellen Sie ein Array mit Namen arSalaries. Es enthält alle Standardlöhne, die in einer Firma ausgezahlt werden. Wählt der Benutzer ein Element aus der Dropdown-Liste, wird dem Datenfeld [Employees]Salary der in der Design- oder Anwendungsumgebung gewählte Wert zugewiesen. Erstellen Sie eine Dropdown-Liste mit Namen arSalaries. Er sollte mit dem Namen des Array identisch sein. Initialisieren Sie das Array arSalaries mit dem Ereignis On Load für das Objekt. Dazu müssen Sie dieses Ereignis in der Eigenschaftenliste aktivieren: Klicken Sie auf die Schaltfläche Objektmethoden und erstellen Sie folgende Methode: Die Programmierzeilen: ARRAY REAL(arSalaries;10) erstellen ein Array mit den Zahlen 2500, 3000... 7000. Die Programmierzeilen: arSalaries:=Find in array(arSalaries;[Employees]Salary) erzeugen einen neuen Datensatz oder ändern einen bestehenden Datensatz.
Hinweis: Weitere Informationen dazu finden Sie im nächsten Abschnitt. Um den ausgewählten Wert aus der Dropdown-Liste arSalaries zu übertragen, müssen Sie nur das Ereignis On Clicked auf das Objekt anwenden. Die Nummer des ausgewählten Elements ist der Wert des Array arSalaries selbst. Der Ausdruck arSalaries{arSalaries} gibt so den in der Drop-Down-Liste gewählten Wert zurück. Vervollständigen Sie die Methode für das Objekt arSalaries wie folgt: Case of Die Dropdown-Liste in der Design- oder Anwendungsumgebung sieht folgendermaßen aus: Der nächste Abschnitt beschreibt die allgemeingültigen Operationen für Arrays, die Sie als Formularobjekte verwenden. Mit der Funktion Size of array erhalten Sie die aktuelle Größe des Array. Gehen wir vom vorigen Beispiel aus. Folgende Programmierzeile würde 5 anzeigen: ALERT("The size of the array atNames is: "+String(Size of array(atNames))) Mit dem Befehl SORT ARRAY ordnen Sie die Elemente eines Array neu, mit dem Befehl MULTI SORT ARRAY mehrere Arrays. Wir wählen wieder das vorige Beispiel und gehen davon aus, dass das Array als rollbarer Bereich angezeigt wird: a. Zu Beginn sieht der Bereich wie die Liste auf der linken Seite aus. b. Nach Ausführen der Programmierzeile: c. Nach Ausführen der Programmierzeile: Mit den Befehlen APPEND TO ARRAY, INSERT IN ARRAY und DELETE FROM ARRAY löschen oder fügen Sie Elemente hinzu. Wir nehmen das vorige Beispiel und gehen davon aus, dass das Array als rollbarer Bereich angezeigt wird. Klicks in diesem Bereich fragen Sie wie folgt ab: ` Objektmethode rollbarer Bereich atNames Hinweis: Diese Ereignisse müssen in der Eigenschaftenliste für das Objekt aktiviert sein. Mit der Syntax atNames{$vlElem} können Sie mit einem bestimmten Element des Array arbeiten, während die Syntax atNames die Nummer des ausgewählten Elements im Array zurückgibt. Die Syntax atNames{atNames} bedeutet also “Wert des ausgewählten Elements im Array atNames”. Ist kein Element ausgewählt, hat atNames den Wert 0 (Null), die Abfrage If (atNames#0) findet heraus, ob derzeit ein Element ausgewählt ist oder nicht. In ähnlicher Weise können Sie per Programmierung das ausgewählte Element ändern, indem Sie dem Array einen Wert zuweisen. ` Wählt das erste Element (wenn das Array nicht leer ist) Die Funktion Find in array sucht nach einem bestimmten Wert im Array. Im oben erwähnten Beispiel wählt folgender Code das Element mit dem Wert “Richard,” wenn dies im Dialogfenster Request eingetragen ist: $vsName:=Request("Gib den Vornamen ein:") PopUp-Menüs, Dropdown-Listen, rollbare Bereiche und Registerkarten lassen sich normalerweise auf dieselbe Art abfragen. Natürlich ist kein weiterer Code erforderlich, um Objekte jedes Mal auf dem Bildschirm neu zu zeichnen, wenn Sie den Wert eines Elements ändern, hinzufügen oder löschen. Hinweis: Für Registerkarten mit Icons und aktiven bzw. inaktiven Registern müssen Sie als unterstützendes Objekt eine hierarchische Liste verwenden. Weitere Informationen dazu finden Sie im Beispiel zur Funktion Count tasks. PopUp-Menüs, Dropdown-Listen, rollbare Bereiche und Registerkarten verwalten Sie mit den oben beschriebenen Algorithmen. Combo Boxen dagegen müssen Sie anders verwalten. Eine Combo Box ist ein eingebbarer Text, dem eine Liste mit Werten (die Elemente aus dem Array) angehängt ist. Der Benutzer kann einen Wert aus der Liste auswählen und dann den Text editieren. Von daher läßt sich der Begriff ausgewähltes Element nicht auf Combo Boxen anwenden. In Combo Boxen gibt es nie ein ausgewähltes Element. Immer wenn der Benutzer einen Wert aus der angehängten Liste auswählt, wird dieser in das Element Null des Array gelegt. Wenn der Benutzer dann den Text editiert, wird der vom Benutzer geänderte Wert ebenfalls in das Element Null gelegt. ` Objektmethode Combo Box asColors |
EIGENSCHAFTEN
Produkt: 4D SIEHE AUCH ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v11 SQL Release 6) |