4D v14.3

Find in array

Home

 
4D v14.3
Find in array

Find in array 


 

Find in array ( ArrayName ; Wert {; Startspalte} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
ArrayName  Array in Array, in dem gesucht werden soll
Wert  Ausdruck in Wert, der gesucht werden soll
Startspalte  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 zurück. Typ des gesuchten Wertes und Typ der Tabelle müssen übereinstimmen.

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.

Wurde kein Element gefunden, gibt Find in array den Wert - 1 zurück.

Start erwartet die Nummer des Elements, ab dem gesucht werden soll. Der Parameter ist optional. Wird er 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.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Arrays
Nummer: 230

 
GESCHICHTE 

Erstellt: < 4D v6

 
SIEHE AUCH 

DELETE FROM ARRAY
INSERT IN ARRAY
Size of array

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)

Gesplittet : Find in array ( 4D v14 R4)