4D v16.3

Find in list

Home

 
4D v16.3
Find in list

Find in list 


 

Find in list ( {* ;} Liste ; Wert ; Reichweite {; ZeilenArray {; *}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Operator in Mit * ist Liste ein Objektname (String).
Ohne * ist Liste eine Listenreferenznummer
Liste  ListRef, String in Mit *: Objektname der Liste.
Ohne *: Referenznummer der Liste
Wert  String in Zu suchender Wert
Reichweite  Ganzzahl in 0=Hauptliste, 1=Unterliste
ZeilenArray  Array Lange Ganzzahl in Ohne 2. *: Array mit Positionen der gefundenen Zeilen
Mit 2. *: Array mit Referenznummer der gefundenen Zeilen
Operator in Ohne *: Verwende Position der Zeilen
Mit *: Verwende Referenznummer der Zeilen
Funktionsergebnis  Lange Ganzzahl in Ohne 2. *: Position der gefundenen Zeilen
Mit 2. *: Referenznummer der gefundenen Zeilen

Die Funktion Find in list gibt die Position oder Referenz der ersten Zeile in der Liste zurück, die dem in Wert übergebenen String entspricht. Werden mehrere Zeilen gefunden, kann die Funktion auch ein Array ZeilenArray mit der Position oder Referenz jeder Zeile füllen.

Übergeben Sie den ersten optionalen Parameter *, ist der Parameter Liste der Objektname (String) der Darstellung der Liste im Formular. Geben Sie diesen Parameter nicht an, ist Liste die Referenznummer einer hierarchischen Liste (ListRef). Verwenden Sie nur eine einzige Darstellung der Liste oder arbeiten mit Referenznummern für Einträge (der zweite * ist nicht übergeben), können Sie beide Arten verwenden.
Verwenden Sie dagegen mehrere Darstellungen derselben Liste und arbeiten mit Positionen von Einträgen (der zweite * ist übergeben), müssen Sie die Syntax mit dem Objektnamen verwenden, da die Position von Einträgen von einer Darstellung zur nächsten variieren kann.

Hinweis: Verwenden Sie das Zeichen @ im Objektnamen der Liste und enthält das Formular mehrere Listen, zu denen dieser Name passt, wird Find in list auf das erste Objekt mit dem passenden Namen angewandt.

Mit dem zweiten * definieren Sie, ob Sie mit den aktuellen Positionen der Zeilen (* nicht übergeben) oder mit den absoluten Referenzen der Zeilen (* übergeben) arbeiten wollen.
Im Parameter Wert übergeben Sie die zu suchenden Zeichenketten. Die Suche ist vom Typ „ist genau“, d.h. die Suche nach „Holz“ findet nicht das Wort „Holzhaus“. Sie können jedoch das Jokerzeichen (@) für Suchläufe vom Typ “beginnt mit”, “endet mit” oder “enthält” verwenden.
Der Parameter Reichweite legt fest, ob die Suche nur auf der ersten Ebene der Liste oder auch mit allen Unterlisten ausgeführt wird. Mit 0 (Null) begrenzen Sie die Suche auf die erste Ebene der Liste, mit 1 wird sie auch auf alle Unterlisten ausgeweitet.
Um die Position oder Zahl aller Zeilen zu suchen, die Wert entsprechen, übergeben Sie im optionalen Parameter ZeilenArray ein Array vom Typ Lange Ganzzahl. Die Funktion erstellt bei Bedarf das Array und passt es an. Sie füllt das Array mit den Positionen (der zweite * ist nicht übergeben) oder den Referenznummern (der zweite * ist übergeben) der gefundenen Einträge.
Die Positionen werden in Bezug auf den obersten Eintrag in der Hauptliste angegeben. Dabei wird auch der aktuelle Status auf-/zugeklappt der Liste und Unterlisten berücksichtigt.
Entspricht keine Zeile dem gesuchten Wert, gibt die Funktion 0 (Null) zurück und das Array ZeilenArray wird leer zurückgegeben.

Wir gehen von folgender hierarchischen Liste aus:

 $vlItemPos:=Find in list(hList;"P@";1;$arrPos)
  `$vlItemPos ist gleich 6
  `$arrPos{1} ist gleich 6 und $arrPos{2} ist gleich 11
 $vlItemRef:=Find in list(hList;"P@";1;$arrRefs;*)
  `$vlItemRef ist gleich 7
  `$arrRefs{1} ist gleich 7 und $arrRefs{2} ist gleich 18
 $vlItemPos:=Find in list(hList;"Date";1;$arrPos)
  `$vlItemPos ist gleich 9
  `$arrPos{1} ist gleich 9 und $arrPos{2} ist gleich 16
 $vlItemRefFind in list(hList;"Date";1;$arrRefs;*)
  `$vlItemRef ist gleich 11
  `$arrRefs{1} ist gleich 11 und $arrRefs{2} ist gleich 23
 $vlItemPos:=Find in list(hList;"Date";0;*)
  `$vlItemPos ist gleich 0

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Hierarchische Listen
Nummer: 952

 
GESCHICHTE 

Erstellt: 4D v11 SQL

 
ARTIKELVERWENDUNG

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