Findet einen Eintrag in einem 1-dimensionalen oder 2-dimensionalen Array. Ähnlich wie _ArrayBinarySearch(), mit der Ausnahme, dass kein sortiertes Array erforderlich ist.
#Include <Array.au3>
_ArraySearch(Const ByRef $avArray, $vValue [, $iStart = 0 [, $iEnd = 0 [, $iCase = 0 [, $iPartial = 0 [, $iForward = 1 [, $iSubItem = -1]]]]]])
Parameter
| $avArray | Das zu durchsuchende Array |
| $vValue | Der Suchbegriff |
| $iStart | [optional] Startindex für die Suche |
| $iEnd | [optional] Stoppindex für die Suche |
| $iCase | [optional] Wenn auf 1 gesetzt ist, wird die Groß- und Kleinschreibung berücksichtigt. |
| $iPartial | [optional] Wenn auf 1 gesetzt wird die Teilsuche aktiviert. |
| $iForward | [optional] Wenn auf 0 gesetzt wird das Array rückwärts (vom Ende zum Anfang) durchsucht anstatt vorwärts (vom Anfang zum Ende) |
| $iSubItem | [optional] Sub-index in dem bei einem 2-dimensionalem Array gesucht werden soll |
Rückgabewert
| Erfolg: | Der Index wo $vValue gefunden wurde |
| Fehler: | -1, setzt @Error: |
| @error: | 1 - $avArray ist kein Array |
| 2 - $avArray ist kein 1-dimensionales oder 2-dimensionales Array | |
| 4 - $iStart ist größer als $iEnd | |
| 6 - $vValue wurde im Array nicht gefunden | |
| 7 - $avArray hat zu viele Dimensionen | |
| (3, 5 - missbilligte Fehlercodes) |
Bemerkungen
Diese Funktion kann langsamer sein als _ArrayBinarySearch(), aber sie ist nützlich, wenn die Array-Reihenfolge nicht geändert werden kann.
Verwandte Funktionen
_ArrayBinarySearch, _ArrayFindAll
Beispiel
#include <Array.au3>
;===============================================================================
; Beispiel 1 (verwendet ein 1D Array)
;===============================================================================
Local $avArray[6] = [ _
"String0, SubString0", _
"String1, SubString1", _
"String2, SubString2", _
"String3, SubString3", _
"String4, SubString4", _
"String5, SubString5"]
_ArrayDisplay($avArray, "$avArray")
$sSearch = InputBox("_ArraySearch() Demo", "Welcher String soll gesucht werden?")
If @error Then Exit
$iIndex = _ArraySearch($avArray, $sSearch, 0, 0, 0, 1)
If @error Then
MsgBox(0, "Nicht gefunden", '"' & $sSearch & '" wurde in dem Array nicht gefunden.')
Else
MsgBox(0, "Gefunden", '"' & $sSearch & '" wurde in dem Array an Stelle ' & $iIndex & " gefunden.")
EndIf
;===============================================================================
; Beispiel 2 (verwendet ein 2D Array)
;===============================================================================
Local $avArray[6][2] = [ _
["String0", "SubString0"], _
["String1", "SubString1"], _
["String2", "SubString2"], _
["String3", "SubString3"], _
["String4", "SubString4"], _
["String5", "SubString5"]]
_ArrayDisplay($avArray, "$avArray")
$sSearch = InputBox("_ArraySearch() Demo", "Welcher String soll gesucht werden?")
If @error Then Exit
$sColumn = InputBox("_ArraySearch() Demo", "Welche Spalte soll durchsucht werden?")
If @error Then Exit
$sColumn = Int($sColumn)
$iIndex = _ArraySearch($avArray, $sSearch, 0, 0, 0, 1, 1, $sColumn)
If @error Then
MsgBox(0, "Nicht gefunden", '"' & $sSearch & '" wurde nicht in der Spalte ' & $sColumn & ' gefunden.')
Else
MsgBox(0, "Gefunden", '"' & $sSearch & '" wurde im Array an Stelle ' & $iIndex & ' in der Spalte ' & $sColumn & ' gefunden.')
EndIf