Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Find in array
|
Find in array ( ArrayName ; Wert {; Start} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
ArrayName | Array |
![]() |
Array, in dem gesucht werden soll | |||||
Wert | Ausdruck |
![]() |
Wert, der gesucht werden soll | |||||
Start | Lange Ganzzahl |
![]() |
Element, bei dem die Suche beginnt | |||||
Funktionsergebnis | Lange Ganzzahl |
![]() |
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.
Hinweis: Bei Object Arrays können Sie nur Objektreferenzen im Parameter Wert verwenden.
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 code=On Load)
SELECT ELEMENT(->asGender;->[People]Gender)
End case
Sie möchten eine Objektreferenz finden:
ARRAY OBJECT($objects;100)
$o1:={a10;b"xyz"}
$o2:={a10;b"xyz"}
$objects{20}:=$o1
var $p : Integer
$p:=Find in array($objects;$o1) //$p = 20
$p:=Find in array($objects;$o2) //$p = -1
$p:=Find in array($objects;{a10;b"xyz"}) //$p = -1
Count in array
DELETE FROM ARRAY
Find in sorted array
INSERT IN ARRAY
Size of array
Produkt: 4D
Thema: Arrays
Nummer:
230
Erstellt: < 4D v6
Geändert: 4D v20 R6
4D Programmiersprache ( 4D v20 R7)