4D v16.3

Find in array

Home

 
4D v16.3
Find in array

Find in array 


 

Find in array ( ArrayName ; Wert {; Start} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
ArrayName  Array in Array, in dem gesucht werden soll
Wert  Ausdruck in Wert, der gesucht werden soll
Start  Lange Ganzzahl in Element, bei dem die Suche beginnt
Funktionsergebnis  Lange Ganzzahl in Nummer des ersten gefundenen Elements im Array

Die Funktion Find in array gibt die Nummer des ersten gefundenen Elements in ArrayName zurück, das zu Wert passt.

Find in array funktioniert mit Arrays vom Typ Text, Alphanumerisch, Numerisch, Datum, Zeiger und Boolean. Die Parameter ArrayName und Wert müssen vom selben Typ sein.

Wert muss genau mit dem gesuchten Element übereinstimmen. Es gelten dieselben Regeln wie für den Operator Ist gleich (siehe Vergleichsoperatoren). Wurde kein passendes Element gefunden, gibt Find in array den Wert - 1 zurück.

Ist Start angegeben, startet die Funktion die Suche mit der hier angegebenen Nummer des Elements. Ist Start nicht angegeben, wird ab dem ersten Element gesucht.

Folgende Projektmethode löscht alle leeren Elemente aus einem Array vom Typ Alphanumerisch oder Text, dessen Zeiger als Parameter übergeben wurde:

  ` Projektmethode CLEAN UP ARRAY
  ` CLEAN UP ARRAY ( Pointer )
  ` CLEAN UP ARRAY ( -> Text oder String Array )
 
 C_POINTER($1)
 Repeat
    $vlElem:=Find in array($1->;"")
    If($vlElem>0)
       DELETE FROM ARRAY($1->;$vlElem)
    End if
 Until($vlElem<0)

Anschließend können Sie schreiben:

 ARRAY TEXT(atSomeValues;...)
  ` ...
  ` Führe dies und das mit dem Array aus
  ` ...
  ` Lösche leere alphanumerische Elemente
 CLEAN UP ARRAY(->atSomeValues)

Folgende Projektmethode wählt das erste Element eines Array aus, dessen Zeiger als erster Parameter übergeben wurde. Dies ist der Wert der Variablen bzw. des Datenfelds, dessen Zeiger als Parameter übergeben wurde:

  ` Projektmethode SELECT ELEMENT
  ` SELECT ELEMENT ( Pointer ; Pointer)
  ` SELECT ELEMENT ( -> Text oder String Array ; -> Text oder String Variable oder Feld )
 
 $1->:=Find in array($1->;$2->)
 If($1->=-1)
    $1->:=0 ` Wurde kein Element gefunden, setze Array auf kein ausgewähltes Element
 End if

Anschließend können Sie schreiben:

  ` Objektmethode PopUp-Menü asGender
 Case of
    :(Form event=On Load)
       SELECT ELEMENT(->asGender;->[People]Gender)
 
 End case

Hinweis:
Dieses Beispiel verwendet das ausgewählte Element des Array. Beachten Sie, dass es ohne Bedeutung ist, wenn das Array mehr als 32.767 Elemente enthält (siehe Arrays und Formularobjekte). In diesem Fall müssen Sie eine Variable Lange Ganzzahl verwenden, um das Ergebnis von Find in array zu speichern.



Siehe auch 

Count in array
DELETE FROM ARRAY
Find in sorted array
INSERT IN ARRAY
Size of array

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Arrays
Nummer: 230

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: < 4D v6

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)