Script-Funktion: Durchsucht ein Script-Array und liefert den entsprechenden Index zurück.
FIND(script array, search key, [start position])
Syntax |
Beschreibung/Format |
---|---|
Script-Array |
Name des zu durchsuchenden Script-Arrays. |
Suchbegriff | Zeichenkette oder Zahl nach der gesucht werden soll. Format: String-Literal, Zahl ohne Hochkommata, Script-Variable |
Startposition | Index, ab dem die Suche gestartet werden soll. Format: Zahl ohne Hochkommata, Script-Variable |
Rückgabewerte |
---|
Index des Arrays, in dem der Suchbegriff gefunden wurde. |
Die Suche nach Suchbegriff wird für alle Werte von Script-Array ab dem Index Startposition durchgeführt. Wird keine Startposition angegeben, wird das ganze Array durchsucht (ab Index 1). War die Suche erfolgreich, wird der Array-Index zurückgeliefert, in dem der Text bzw. die Zahl als erstes gefunden wurde. Um die Suche im restlichen Teil des Array fortzusetzen, ist als Startposition der nächste Index des vorigen Ergebnisses zu verwenden. Liefert die Suche keinen Treffer, so erhält man 0 als Rückgabewert der Script-Funktion.
Das Script-Array ist mit leeren Indexklammern [] anzugeben.
Script-Arrays müssen mit :DEFINE erstellt werden, wobei auch Datentyp und Größe festgelegt werden. Felder des Arrays, denen noch kein bestimmter Wert zugewiesen wurde, besitzen den Standardwert "" (Datentyp: string) oder 0 (numerische Datentypen). Die Suche mit FIND ist daher nur sinnvoll, wenn das Array auch entsprechend befüllt wurde. Die Array-Elemente können einzeln mit Angabe des Index mit :SET gesetzt werden. Um mehrere verschiedene Werte gleichzeitig in ein Array abzuspeichern, steht die Script-Anweisung :FILL zur Verfügung.
Das Beispiel zeigt die Erstellung und Initalisierung eines Arrays mit Werten aus einem Variablen-Objekt. Anschließend wird das gesamte Array nach WIN durchsucht und alle Ergebnisse in das Aktivierungsprotokoll geschrieben.
:DEFINE &array#, string, 5
:FILL &array#[] = GET_VAR(VARA.WIN, AGENTS)
:SET &search# = FIND(&array#[], "WIN", 1)
:WHILE &search# <> 0
:PRINT "WIN found at position &search#"
:SET &search# = &search# + 1
:SET &search# = FIND(&array#[], "WIN", &search#)
:ENDWHILE
Siehe auch:
Script-Sprachmittel | Beschreibung |
---|---|
Speichert mehrere Werte in ein Script-Array. |
|
LENGTH | Ermittelt die Größe eines Script-Arrays. |
Script-Sprachmittel - Aktivierungsdaten
Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung
Script-Sprachmittel - Funktionelle Gliederung
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |