ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / Queue, stack, list and array functions / Array functions
  • Special cases
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Seeks the index of an element in a WLanguage array. The following searches can be performed:
  • Seek an element in a one-dimensional array of simple elements.
  • Seek an element in a two-dimensional array of simple elements according to a column.
  • Seek an element in a two-dimensional array of simple elements according to several columns.
  • Seek an element in a one-dimensional array of structures or classes.
  • WINDEVWEBDEV - Server code Seek an element in an array of records.
  • Seek an object in an array.
Remarks:
  • This function is equivalent to Seek.
  • PHP In PHP, the search cannot be performed in an array containing more than one dimension or in an array of structures.
Example
tabMonTableau is array of 0 string 
// Remplir le tableau
ArrayAdd(tabMonTableau, "WINDEV")
ArrayAdd(tabMonTableau, "WEBDEV")
ArrayAdd(tabMonTableau, "WINDEV et WEBDEV")
// Chercher "WINDEV"
ResIndice is int
ResIndice = ArraySeek(tabMonTableau, asLinearFirst, "WINDEV")
Info("La chaîne WINDEV est à l'indice: " + ResIndice)
// Retourne: "La chaîne WINDEV est à l'indice: 1"
WINDEVWEBDEV - Server codeReports and QueriesWindowsUser code (UMC)
tabAgenda is array of gglCalendar 
// On recherche un agenda connu par son titre
ArraySeek(tabAgenda, asLinear, "titre", "Agenda professionnel")
Syntax

Seeking an element in a one-dimensional array of simple elements Hide the details

<Result> = ArraySeek(<WLanguage array> , <Type of search> , <Search value> [, <Start index>])
<Result>: Integer
  • Index of the sought element,
  • -1 if the element is not found in the array.
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array.
This array can also correspond to a one-dimensional array associated with a property of advanced variable.
<Type of search>: Integer constant
Type of search to perform:
asBinaryBinary search.
This search mode is fast but it must be used on an array sorted in ascending order, without duplicates.
Search options (lexicographical order, ignore punctuation, etc.) must be exactly the same for the search (ArraySeek) and for the sort (ArraySort).
asLinearLinear search. The search starts:
  • from the first element.
  • from the value of the parameter <Start index>.
The search stops as soon as an element is found.
asLinearFirstLinear search from the first element. <Start index> is ignored when this constant is specified.
asLinearLastLinear search from the last element. This constant must not be used if <Start index> is specified.
asLinearNextLinear search for the next element. This search is performed from the current position or the value of <Start index>.
asLinearPreviousLinear search for the previous element. This search is performed from the current position or the value of <Start index>.

The type of search can be combined with one or more search options:
tccIgnoreAccentSearch ignoring accented characters.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseSearch ignoring the case.
This option can only be used on the arrays of character strings.
tccIgnoreInsideSpaceSearch ignoring spaces inside strings.
This option can only be used on the arrays of character strings.
tccIgnorePunctuationAndSpaceSearch ignoring spaces and punctuation.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceSearch ignoring spaces at the beginning and end of strings.
This option can only be used on the arrays of character strings.
tccLexicographicOrderArray sorted according to the linguistic order.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccRespectNumericArray sorted according to the order of numeric values.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.

AndroidAndroid Widget JavaPHP The constants used to define the search options are not available.
For a dichotomous search, the search options must be exactly the same as the options that were used to sort the array (see ArraySort).
<Search value>: Any type
Value of element whose index you want to get.
<Start index>: Optional integer
Start position for the search (linear search only). This parameter is not required for a binary search.
PHP Syntax not available in PHP

Searching for an element in a two-dimensional array of simple elements using a column Hide the details

<Result> = ArraySeek(<WLanguage array> , <Type of search> , <Column> , <Search value> [, <Start index>])
<Result>: Integer
  • Index of the sought element,
  • -1 if the element is not found in the array.
<WLanguage array>: Array
Name of the Array variable to use. This array must be a two-dimensional array.
This array can also correspond to a two-dimensional array associated with a property of an advanced variable (for example sorting a variable of type xlsDocument according to the values of a column).
<Type of search>: Integer constant
Search to perform:
asBinaryBinary search.
This search mode is fast but it must be used on an array sorted in ascending order, without duplicates, and by using exactly the same search options as the ones used for the sort (ArraySort).
asLinearLinear search. The search starts:
  • from the first element.
  • from the value of the parameter <Start index>.
The search stops as soon as an element is found.
asLinearFirstLinear search from the first element. This constant must not be used if <Start index> is specified.
asLinearLastLinear search from the last element. This constant must not be used if <Start index> is specified.
asLinearNextLinear search for the next element. This search is performed from the current position or the value of <Start index>.
asLinearPreviousLinear search for the previous element. This search is performed from the current position or the value of <Start index>.

The type of search can be combined with one or more search options:
tccIgnoreAccentSearch ignoring accented characters.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseSearch ignoring the case.
This option can only be used on the arrays of character strings.
tccIgnoreInsideSpaceSearch ignoring spaces inside strings.
This option can only be used on the arrays of character strings.
tccIgnorePunctuationAndSpaceSearch ignoring spaces and punctuation.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceSearch ignoring spaces at the beginning and end of strings.
This option can only be used on the arrays of character strings.
tccLexicographicOrderArray sorted according to the linguistic order.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.
tccRespectNumericArray sorted according to the order of numeric values.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option can only be used on the arrays of character strings.
WEBDEV - Browser code This constant is not available.

AndroidAndroid Widget Java The constants used to define the search options are not available.
For a dichotomous search, the search options must be exactly the same as the options that were used to sort the array (see ArraySort).
<Column>: Integer or character string
  • Simple array: Index of the column to be searched.
  • Advanced array: Property to be searched for. You also have the ability to use chained properties ("Border.Color" for example).
<Search value>: Any type
Value of the element whose index or property you want to get.
<Start index>: Optional integer
Start position for the search (linear search only). This parameter is not required for a binary search.
PHP Syntax not available in PHP

Searching for an element in a two-dimensional array of simple elements using multiple columns Hide the details

<Result> = ArraySeek(<WLanguage array> , <Type of search> , <Columns> , <Sought value 1> [, <Sought value 2> [... [, <Sought value N>]]] [, <Start index>])
<Result>: Integer
  • Index of the sought element,
  • -1 if the element is not found in the array.
<WLanguage array>: Array
Name of the Array variable to use. This array must be a two-dimensional array. This array can also correspond to a two-dimensional array of an advanced type (sort performed on a variable of type xlsDocument according to the values of one or more columns for example).
<Type of search>: Integer constant
Search to perform. No binary search is available.
asLinearLinear search. The search starts:
  • from the first element.
  • from the value of the parameter <Start index>.
The search stops as soon as an element is found.
asLinearFirstLinear search from the first element. This constant must not be used if <Start index> is specified.
asLinearLastLinear search from the last element. This constant must not be used if <Start index> is specified.
asLinearNextLinear search for the next element. This search is performed from the current position or the value of <Start index>.
asLinearPreviousLinear search for the previous element. This search is performed from the current position or the value of <Start index>.
The type of search can be combined with one or more search options:
tccIgnoreAccentSearch ignoring accented characters.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseSearch ignoring the case.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
tccIgnoreInsideSpaceSearch ignoring spaces inside strings.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
tccIgnorePunctuationAndSpaceSearch ignoring spaces and punctuation.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceSearch ignoring spaces at the beginning and end of strings.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
tccLexicographicOrderArray sorted according to the linguistic order.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.
tccRespectNumericArray sorted according to the order of numeric values.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option is applied to all columns on which the search is performed.
This option is useful for arrays of strings.
WEBDEV - Browser code This constant is not available.

AndroidAndroid Widget Java The constants used to define the search options are not available.
For a dichotomous search, the search options must be exactly the same as the options that were used to sort the array (see ArraySort).
<Columns>: Character string
  • Simple array: List of columns to be searched. The different columns must be separated by a semicolon. Example: "2;3" to perform a search on the columns 2 and 3.
  • Advanced array: List of properties to be searched. The properties must be separated by a semicolon.
<Sought value 1>: Any type
Value of the element whose index or property you want to get. A value must be indicated for each column or property specified in <Columns>.
<Sought value 2>: Any optional type
Value of the element whose index or property you want to get. A value must be indicated for each column or property specified in <Columns>.
<Sought value N>: Any optional type
Value of the element whose index or property you want to get. A value must be indicated for each column or property specified in <Columns>.
<Start index>: Optional integer
Start position for the search (linear search only). This parameter is not required for a binary search.

Seek an element in a one-dimensional array of structures, classes, advanced types or records. Hide the details

<Result> = ArraySeek(<WLanguage array> , <Type of search> , <Sought members> [, <Sought value 1> [, <Sought value 2> [... [, <Sought value N>]]]] [, <Start index>])
<Result>: Integer
  • Index of the sought element,
  • -1 if the element is not found in the array.
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array. This array can be:
  • an array of classes,
  • an array of structures,
    PHP No search can be performed in an array of structures.
  • an array of advanced types,
  • WINDEVWEBDEV - Server code an array of records.
<Type of search>: Integer constant
Type of search to perform:
asBinaryBinary search.
This search mode is fast but it must be used on an array sorted in ascending order, without duplicates, and by using exactly the same search options as the ones used for the sort (ArraySort).
This search mode can also be used when performing a search on a single member.
asLinearLinear search. The search starts:
  • from the first element.
  • from the value of the parameter <Start index>.
The search stops as soon as an element is found.
asLinearFirstLinear search from the first element. This constant must not be used if <Start index> is specified.
asLinearLastLinear search from the last element. This constant must not be used if <Start index> is specified.
asLinearNextLinear search for the next element. This search is performed from the current position or the value of <Start index>.
asLinearPreviousLinear search for the previous element. This search is performed from the current position or the value of <Start index>.

The type of search can be combined with one or more search options:
tccIgnoreAccentSearch ignoring accented characters.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.
tccIgnoreCaseSearch ignoring the case.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
tccIgnoreInsideSpaceSearch ignoring spaces inside strings.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
tccIgnorePunctuationAndSpaceSearch ignoring spaces and punctuation.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.
tccIgnoreSpaceSearch ignoring spaces at the beginning and end of strings.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
tccLexicographicOrderArray sorted according to the linguistic order.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.
tccRespectNumericArray sorted according to the order of numeric values.
This option is useful for a dichotomous search and it has no effect on a linear search.
This option is applied to all members on which the search is performed.
This option is useful for the "character string" members.
WEBDEV - Browser code This constant is not available.

AndroidAndroid Widget JavaPHP The constants used to define the search options are not available.
For a dichotomous search, the search options must be exactly the same as the options that were used to sort the array (see ArraySort).
<Sought members>: Character string
  • Structures and classes: Name of members searched. If several members are sought, their names must be separated by a semicolon. You also have the ability to chain the sought members (by using "." or ":" between the members). In a class, you also have the ability to perform a search on the class properties.
  • Advanced types: Searched property name. If several properties are sought, their names must be separated by a semicolon. You also have the ability to chain the sought properties (by using "." or ":" between the properties). For example, "Border.Color".
  • Registrations: Name of searched fields. If several items are sought, their names must be separated by a semicolon. You also have the ability to chain the sought items (by using "." or ":" between the properties).
<Sought value 1>: Any type
Value of element whose member or property you want to get. A value must be indicated for each member specified in <Sought members>.
<Sought value 2>: Any optional type
Value of element whose member or property you want to get. A value must be indicated for each member specified in <Sought members>.
<Sought value N>: Any optional type
Value of element whose member or property you want to get. A value must be indicated for each member specified in <Sought members>.
<Start index>: Optional integer
Start position for the search (linear search only). This parameter is not required for a binary search.

Searching for the index of an object in a one-dimensional array (syntax for the data binding) Hide the details

<Result> = ArraySeek(<WLanguage array> , <Type of search> , <Sought object>)
<Result>: Integer
  • Index of the sought object,
  • -1 if the object is not found in the array.
<WLanguage array>: Array
Name of the Array variable to use. This array must be a one-dimensional array. This array can be an array of classes, dynamic classes, structures, dynamic structures, advanced types, dynamic advanced types.
<Type of search>: Integer constant
Type of search to perform:
asLinearLinear search.
<Sought object>: Any type
Instance of sought object.
Remarks

Special cases

  • This function cannot be used on the fixed arrays.
  • This function can be used on the arrays of advanced variables.
  • This function cannot be used on the array of "Dynamic objects". The type of the objects must be specified.
  • This function must be used on the arrays of objects with a defined type.
    • For example, no search can be performed in the following array:
      t is array of 2 objects dynamique
    • On the contrary, a search can be performed in the following array:
      t is array of 2 MaClass

      t is array of 2 MaClass dynamic
  • No search can be performed on an array of variants.
  • AndroidAndroid Widget Java If the type of the search is dichotomous and if the array is not sorted, no WLanguage error will be displayed but the result of the search will be undefined.
Component: wd300vm.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Se existe janela aberta, não abra e se sair, limpe o array
//Global
arrayJanelas is array of string
----
//Se existe janela aberta não abra
ResSubscript is int = ArraySeek(arrayJanelas, asLinearFirst, NomeWindow)

IF ResSubscript = -1
Add(arrayJanelas, NomeWindow)
open(NomeWindow)
END

---

//Ao sair limpe do array a janela aberta em close window

nJanela is int = ArraySeek(arrayJanelas, asLinearFirst, MyWindow..name)

if nJanela > 0
arraydelete(arrayJanelas,nJanela)
end

BOLLER
11 Sep. 2019

Last update: 09/20/2024

Send a report | Local help