4D v16.3MULTI SORT ARRAY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
MULTI SORT ARRAY
MULTI SORT ARRAY
Der Befehl MULTI SORT ARRAY sortiert einen Satz Arrays auf mehreren Ebenen. Der Befehl akzeptiert zwei Syntaxarten. • Erste Syntax: MULTI SORT ARRAY (Array{; Sortieren}{; Array2; Sortieren2; ...; arrayN; SortierenN}) Dies ist die einfachste Syntax; hier übergeben Sie direkt die Namen der synchronisierten Arrays, auf die Sie eine Sortierung nach mehreren Kriterien anwenden wollen.Sie können eine unbegrenzte Anzahl an Paaren übergeben (Array;> oder <) und/oder nur Arrays. Alle als Parameter übergebenen Arrays werden aufeinander abgestimmt sortiert. Sie können Arrays jeder Art übergeben mit Ausnahme von Zeigern oder Bildern. Sie können nach einem Element in einem zweidimensionalen Array (z.B. ein2DArray{$vlDiesesElement}) sortieren, jedoch nicht nach dem 2D Array selbst, z.B. ein2DArray). Wollen Sie den Inhalt eines Array als Sortierkriterium zu verwenden, übergeben Sie den Parameter Sortieren. Der Wert des Parameters (> oder <) bestimmt, ob das Array in aufsteigender oder in absteigender Reihenfolge sortiert wird. Ist der Parameter Sortieren nicht angegeben, wird der Inhalt des Array nicht als Sortierkriterium verwendet. Hinweis: Sie müssen mindestens ein Sortierkriterium übergeben, damit der Befehl funktioniert. Gibt es kein Sortierkriterium, wird ein Fehler generiert. Die Sortierebenen richten sich nach der Reihenfolge, in welcher die Arrays im Befehl übergeben wurden. Die Position eines Array mit einem Sortierkriterium in der Syntax bestimmt seine Sortierebene. • Zweite Syntax: MULTI SORT ARRAY (ZeigerArrayName; SortArrayName) Diese Syntax ist komplexer und hilfreich bei generischer Entwicklung. Sie können z.B. eine generische Methode erstellen, um Arrays jeglichen Typs zu sortieren, ja sogar die Entsprechung eines generischen Befehls SORT ARRAY erstellen.Der Parameter ZeigerArrayName enthält den Namen eines Arrays mit Array Zeigern; jedes Element dieses Arrays ist ein Zeiger auf ein zu sortierendes Array. Die Sortierung erfolgt in der Reihenfolge, wie die Array Zeiger in ZeigerArrayName definiert sind. Hinweis: ZeigerArrayName kann das Array eines lokalen ($ptrArrayName), Prozess (ZeigerArrayName) oder Interprozess (<>ZeigerArrayName) Zeigers sein. Der Parameter SortArrayName Parameter kann das Array eines lokalen ($ZeigerArrayName), Prozess (ZeigerArrayName) oder Interprozess (<>ZeigerArrayName) Zeigers sein. Hinweise: Arrays vom Typ Zeiger oder Bild lassen sich nicht sortieren. Sie können ein Element eines zweidimensionalen Array (z.B. a2DArray{$vlThisElement}) sortieren, jedoch nicht das 2D Array selbst (z.B. a2DArray). Folgendes Beispiel verwendet die 1. Syntax: Es erstellt vier Arrays und sortiert sie nach Stadt in aufsteigender Reihenfolge, dann nach Lohn in absteigender Reihenfolge mit den beiden letzten Arrays names_array und telNum_array, die mit dem vorigen Sortierkriterium synchronisiert wird: ALL RECORDS([Employees]) Wollen Sie das Array Namen als 3. Sortierkriterium verwenden, fügen Sie nach dem Parameter names_array das Zeichen > oder < zu. MULTI SORT ARRAY(cities;>;salaries;names;telNums) gleichbedeutend ist mit: SORT ARRAY(cities;salaries;names;telNums;>) Folgendes Beispiel verwendet die 2. Syntax: Es erstellt vier Arrays und sortiert sie nach Stadt (aufsteigend) und Firma (absteigend); die beiden letzten Arrays names_Array und telNum_Array werden an die vorigen Sortierkriterien angepasst: ALL RECORDS([Employees]) Wollen Sie als drittes Sortierkriterium ein Array mit Namen verwenden, müssen Sie im Element sorts_Array{3} den Wert 1 zuweisen. Sollen die Arrays nur nach der Stadt sortiert werden, übergeben Sie in den Elementen sorts_Array{2}, sorts_Array{3} und sorts_Array{4} den Wert 0 (Null). Auf diese Weise erhalten Sie ein identisches Ergebnis zu SORT ARRAY(cities;companies;names;telNums;>).
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D GESCHICHTE
Geändert: 4D 2004 ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||