SORT ARRAY

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 3


SORT ARRAY (Array{; Array2; ...; ArrayN}{; > oder <})

ParameterTypBeschreibung
ArrayArrayZu sortierendes Array
> oder <> Sortieren in aufsteigender Reihenfolge, oder
< Sortieren in absteigender Reihenfolge, bzw.
aufsteigend, wenn nichts angegeben ist

Beschreibung

Der Befehl SORT ARRAY sortiert eine oder mehrere Arrays in der festgelegten auf- oder absteigenden Sortierreihenfolge.

Hinweis: Arrays vom Typ Zeiger oder Bilder 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 Array 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. Das Feature eignet sich besonders für gruppierte rollbare Bereiche in einem Formular; denn SORT ARRAY sorgt dafür, dass die Arrays mit rollbaren Bereichen zueinander synchron bleiben.

Beispiele

1. 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)

2. 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 zum angeklickten Namen gehörenden Datensatz. 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;<)

Referenz

MULTI SORT ARRAY, ORDER BY, SELECTION TO ARRAY.

Anwendung des Befehls

Email–Embedded Tags, Sort Multiple Arrays


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next