Version 2004 (Geändert)
Es gibt folgende Arten von Array-Befehlen:
Befehl | Erstellt ein Array oder passt seine Größe an von: |
ARRAY INTEGER | 2 Byte Werten vom Typ Ganzzahl |
ARRAY LONGINT | 4 Byte Werten vom Typ Lange Ganzzahl |
ARRAY REAL | Werten vom Typ Zahl |
ARRAY TEXT | Werten vom Typ Text (von 0 bis 32.000 Zeichen pro Element) |
ARRAY STRING | Werten vom Typ Alphanumerisch (von 0 bis 255 Zeichen pro |
Element) | |
ARRAY DATE | Werten vom Typ Datum |
ARRAY BOOLEAN | Werten vom Typ Boolean |
ARRAY PICTURE | Werten vom Typ Bild |
ARRAY POINTER | Werten vom Typ Zeiger |
Jeder dieser Befehle kann ein- oder zweidimensionale Arrays erstellen oder in der Größe anpassen. Weitere Informationen zu zweidimensionalen Arrays finden Sie im Abschnitt Zweidimensionale Arrays.
Hinweis: Arrays vom Typ Text und Arrays vom Typ Alphanumerisch nehmen beide Text, also Buchstaben auf. Sie unterscheiden sich jedoch durch die Eigenschaften ihrer Elemente:
In einem Array vom Typ Text hat jedes Element eine andere Länge, der Inhalt wird in einem eigenen Teil des Speichers abgelegt.
In einem Array vom Typ Alphanumerisch haben alle Elemente dieselbe Länge, (die beim Erstellen des Array festgelegt wird). Alle Elemente werden -unabhängig vom Inhalt- im selben Teil des Speichers abgelegt.
Aufgrund dieser Struktur sind Operationen mit Arrays vom Typ alphanumerisch schneller als mit Arrays vom Typ Text. Beachten Sie jedoch, dass Arrays vom Typ alphanumerisch auf 255 Zeichen beschränkt sind.
Anlegen eines Array vom Typ Ganzzahl mit 10 Elementen:
ARRAY INTEGER(aiAnArray;10)
Anpassen dieses Array auf 20 Elemente:
ARRAY INTEGER(aiAnArray;20)
Anpassen dieses Array auf keine Elemente:
ARRAY INTEGER(aiAnArray;0)
Um auf die Elemente zuzugreifen, schreiben Sie den Tabellennamen, gefolgt vom Indexwert in geschweiften Klammern ({ }). Dieser Wert heißt Elementnummer. Folgender Code fügt fünf Namen in das Array mit Namen atNames ein und zeigt sie dann in Fenstern mit Meldungen an:
ARRAY TEXT (atNames;5) atNames{1} := "Richard" atNames{2} := "Sarah" atNames{3} := "Sam" atNames{4} := "Jane" atNames{5} := "John" For ($vlElem;1;5) ALERT ("Element #"+String($vlElem)+" ist gleich: "+atNames{$vlElem}) End for
Sie können das Element auch über eine Variable vom Typ numerisch ansprechen, z.B. atNames{$vlElem}.
Über eine Schleife (For...End for, Repeat...Until oder While...End while) können kompakte Teile des Code alle oder bestimmte Elemente in einem Array ansprechen.
Arrays und andere Bereiche der 4D Programmiersprache
Auch andere 4D Befehle können Arrays erstellen und damit arbeiten:
Mit den Befehlen SELECTION RANGE TO ARRAY, SELECTION TO ARRAY, ARRAY TO SELECTION und DISTINCT VALUES arbeiten Sie mit Arrays und Datensatzauswahlen.
Objekte vom Typ Listbox basieren auf Arrays; einige Befehle unter dem Thema "List box" arbeiten mit Arrays, z.B. INSERT LISTBOX ROW.
Mit dem Befehl GRAPH erstellen Sie Grafiken und Diagramme über in Tabellen, Untertabellen und Arrays gespeicherte Werte.
Version 6 hat eine Reihe neuer Befehle für hierarchische Listen eingeführt. Aus Kompatibilitätsgründen wurden jedoch auch die Befehle LIST TO ARRAY und ARRAY TO LIST aus der vorigen Version beibehalten.
Einige Befehle erstellen Arrays in einem Aufruf: FONT LIST, WINDOW LIST, VOLUME LIST, FOLDER LIST, DOCUMENT LIST, GET SERIAL PORT MAPPING, SAX GET XML ELEMENT, etc.
Referenz
ARRAY BOOLEAN, ARRAY DATE, ARRAY INTEGER, ARRAY LONGINT, ARRAY PICTURE, ARRAY POINTER, ARRAY REAL, ARRAY STRING, ARRAY TEXT, Einführung in Arrays, Zweidimensionale Arrays.