| 4D v13.4SORT ARRAY | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 SORT ARRAY 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SORT ARRAY ( ArrayName {; ArrayName2 ; ... ; ArrayNameN}{; > oder <} ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| ArrayName | Array |   | Zu sortierendes Array | |||||
| > oder < | Operator |   | ">" Sortieren in aufsteigender Reihenfolge, oder "<". Sortieren in absteigender Reihenfolge, bzw. aufsteigend, wenn nichts angegeben ist | |||||
Der Befehl SORT ARRAY sortiert eine oder mehrere Arrays in der festgelegten auf- oder absteigenden Sortierreihenfolge.
Hinweis: Arrays vom Typ Zeiger oder Bild lassen sich nicht sortieren. Sie können die Elemente eines zweidimensionalen Array (z.B., a2DArray{$vlThisElem}) sortieren, jedoch nicht das zweidimensionale Array selbst (z.B., a2DArray).
Der letzte Parameter gibt an, ob ArrayName aufsteigend oder absteigend sortiert werden soll. Das Symbol “größer als” (>) sortiert aufsteigend; das Symbol “kleiner als” (<) sortiert absteigend. Ist keine Sortierreihenfolge angegeben, wird das Array aufsteigend sortiert.
Bei mehreren Arrays wird nach der für das erste Array festgelegten Reihenfolge sortiert; es gibt hier keine mehrstufige Sortierung.
Dieses Beispiel lädt zwei Arrays und sortiert sie nach Firma:
 ALL RECORDS([People])
 SELECTION TO ARRAY([People]Name;asNames;[People]Company;asCompanies)
 SORT ARRAY(asCompanies;asNames;>)Da SORT ARRAY jedoch nicht mehrstufig sortiert, sind die Namen innerhalb der Firma in wilkürlicher Reihefolge. Um auch nach Namen zu sortieren, schreiben Sie:
 ALL RECORDS([People])
 ORDER BY([People];[People]Company;>;[People]Name;>)
 SELECTION TO ARRAY([People]Name;asNames;[People]Company;asCompanies)Zeigen Sie die Namen aus der Tabelle [People] in einem Palettenfenster an. Durch Anklicken der entsprechenden Schaltflächen können Sie die Namen von A zu Z oder von Z zu A sortieren. Da manche Namen öfter vorkommen können, sollten Sie auch mit einem einmaligen und indizierten Datenfeld [People]ID number arbeiten. Klicken Sie in die Namensliste, finden Sie den Datensatz, der zum angeklickten Namen gehört. Durch ein synchrones ausgeblendetes Array mit den Kenn-Nummern stellen Sie sicher, dass der richtige Datensatz aufgerufen wird:
  ` Objektmethode Array asNames
 Case of
    :(Form event=On Load)
       ALL RECORDS([People])
       SELECTION TO ARRAY([People]Name;asNames;[People]ID number;alIDs)
       SORT ARRAY(asNames;alIDs;>)
    :(Form event=On Unload)
       CLEAR VARIABLE(asNames)
       CLEAR VARIABLE(alIDs)
    :(Form event=On Clicked)
       If(asNames#0)
  ` Verwende das Array alIDs, um den richtigen Datensatz zu finden
          QUERY([People];[People]ID Number=alIDs{asNames})
  ` Führe etwas aus mit diesem Datensatz
       End if
 End case
 
  ` Objektmethode Schaltfläche bA2Z
  ` Sortiere Arrays in aufsteigender Reihenfolge und erhalte sie synchron
 SORT ARRAY(asNames;alIDs;>)
 
  ` Objektmethode Schaltfläche bZ2A
  ` Sortiere Arrays in absteigender Reihenfolge und erhalte sie synchron
 SORT ARRAY(asNames;alIDs;<)
	Produkt: 4D
	Thema: Arrays
	Nummer: 
        229
        
        
        
	
     Alphabetische Liste der Befehle
    Alphabetische Liste der Befehle
	Erstellt: < 4D v6
MULTI SORT ARRAY
ORDER BY
SELECTION TO ARRAY