This content has been translated automatically. Click here to view the French version.
WINDEV
WEBDEV
WINDEV Mobile
Others
ArrayDeleteDuplicate (Function)
In french: TableauSupprimeDoublon
Deletes the duplicates from an array.
The following arrays can be handled:
• One-dimensional array of simple elements.
• Two-dimensional array of simple elements. The deletion of duplicates is performed according to the value of one or more columns.
• One-dimensional array of classes or structures. Duplicates are deleted according to the value of one or more members.
• One-dimensional array by providing a comparison procedure.
Versions 26 and later
Remark: The ArrayDistinct function makes it possible to obtain a new array without the duplicates.
New in version 26
Remark: The ArrayDistinct function makes it possible to obtain a new array without the duplicates.
Remark: The ArrayDistinct function makes it possible to obtain a new array without the duplicates.
Versions 17 and later
This function is now available for iPhone/iPad applications.
New in version 17
This function is now available for iPhone/iPad applications.
This function is now available for iPhone/iPad applications.
Versions 18 and later
This function is now available in Windows Store apps mode.
New in version 18
This function is now available in Windows Store apps mode.
This function is now available in Windows Store apps mode.
Versions 21 and later
This function is now available in Apple Watch mode.
This function is now available in Universal Windows 10 App mode.
New in version 21
This function is now available in Apple Watch mode.
This function is now available in Universal Windows 10 App mode.
This function is now available in Apple Watch mode.
This function is now available in Universal Windows 10 App mode.
Example
arrMyArray is array of int = [ 1, 2, 3, 1, 4, 5, 2, 6 ]
// arrMyArray contains [ 1, 2, 3, 1, 4, 5, 2, 6 ]

ArrayDeleteDuplicate(arrMyArray)
// arrMyArray contains [ 1, 2, 3, 4, 5, 6 ]
// Use with an array of structures
StACategory is Structure
CODE_CATEGORY is string(5)
CATEGORY is string(300)
END
arrTheCategories is array of StACategory

// Code for filling the array
...

// Delete the duplicates
ArrayDeleteDuplicate(arrTheCategories, asMember, "CODE_CATEGORY;CATEGORY")
Syntax

Deleting the duplicates from a one-dimensional array of simple elements

ArrayDeleteDuplicate(<WLanguage array> [, <Deletion options>])
<WLanguage array>: Array
Name of Array variable to use. This array must be a one-dimensional array.
This array can also correspond to an array of simple elements of an advanced variable ("Group" array in the gglContact variables for example).
<Deletion options>: Optional integer constant
Versions 17 and later
Deletion options corresponding to one or more constants:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is useful for the arrays of character strings.
New in version 17
Deletion options corresponding to one or more constants:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is useful for the arrays of character strings.
Deletion options corresponding to one or more constants:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is useful for the arrays of character strings.

Deleting the duplicates from a two-dimensional array of simple elements according to one or more columns

ArrayDeleteDuplicate(<WLanguage array> , <asColumn> , <Column>)
<WLanguage array>: Array
Name of 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 (for example, deleting duplicates from an xlsDocument variable according to the column value).
<asColumn>: Constant
asColumn: Constant used to handle a two-dimensional array of simple elements according to several columns.
Versions 17 and later
The asColumn constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings.
New in version 17
The asColumn constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings.
The asColumn constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the columns according to which the deletion of duplicates is performed.This option is useful for the arrays of character strings.
<Column>: Integer or character string
• If a single column must be taken into account, subscript of the column that must be taken into account for the deletion of duplicates.
• If several columns must be taken into account, list of columns that must be taken into account for the deletion of duplicates. The different columns must be separated by a semicolon.

Deleting the duplicates from a one-dimensional array of classes, structures or advanced types

ArrayDeleteDuplicate(<WLanguage array> , <asMember> , <Members>)
<WLanguage array>: Array
Name of Array variable to use. This array must be a one-dimensional array. This array can be an array of classes, structures or advanced types.
<asMember>: Constant
asMember: Constant used to handle a one-dimensional array of classes, structures or advanced types.
Versions 17 and later
The asMember constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members.
New in version 17
The asMember constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members.
The asMember constant can be combined with one or more options for deletion:
 tccIgnoreAccent Removal of duplicates without taking accents into account.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreCase Delete the duplicates while ignoring the case.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnoreSpace Delete the duplicates while ignoring the space characters found at the beginning and at the end of strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. Versions 20 and latertccIgnoreInsideSpaceNew in version 20tccIgnoreInsideSpacetccIgnoreInsideSpace Delete the duplicates while ignoring the space characters found inside the strings.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members. tccIgnorePonctuationAndSpace Delete the duplicates while ignoring the space characters and the punctuation characters.This option is applied to all the members according to which the deletion of duplicates is performed.This option is useful for the "character string" members.
<Members>: Character string
Name of members used. If the deletion of duplicates is performed according to the value of several members, their names must be separated by semicolons.

Deleting the duplicates from a one-dimensional array with a sort procedure

ArrayDeleteDuplicate(<WLanguage array> , <asFunction> , <WLanguage procedure>)
<WLanguage array>: Array
Name of Array variable to use. This array must be a one-dimensional array.
This array can be an array of advanced types.
<asFunction>: Constant
asFunction: Constant used to handle a one-dimensional array with a sort procedure.
<WLanguage procedure>: Procedure name
WLanguage procedure in the following format:
PROCEDURE <Procedure name>(<Element1>, <Element2>)
This procedure is automatically called by the deletion mechanism to compare the elements between themselves, two by two.
• If the element 1 must be found before the element 2 in the sort order, the procedure must return -1.
• If the element 1 must be found after the element 2 in the sort order, the procedure must return 1.
• If the element 1 and the element 2 are identical, the procedure must return 0.
Remarks
• This function is not available for the fixed arrays.
• This function can be used on the arrays of advanced variables.
• Dynamic array of variants: Only a custom deletion (with a WLanguage procedure) can be used.
Component: wd260vm.dll
Minimum version required
• Version 16