|
|
|
|
|
- Effect of ListSort
- Comparing numeric values
- Characters taken into account for punctuation and spaces
ListSort (Function) In french: ListeTrie Sorts the elements in a List Box, ListView or Combo Box control populated programmatically. This function has no effect on the File List, File Image List or File Combo Box controls. Remark: This function is useless if the field has been declared "Sorted" in the field description window ("Detail" tab).
ListSort(LIST_Customer, True, ccLexicographicOrder)
Syntax
ListSort(<List Box control> [, <Sort order> [, <Sort options>]])
<List Box control>: Control name Name of List Box or Combo Box control to sort. <Sort order>: Optional boolean - True (by default) to perform a sort in ascending order,
- False to perform a sort in descending order.
<Sort options>: Optional constant (or combination of constants) Sort options selected for the content of List Box (or Combo Box) control: | | ccIgnoreAccent | Sorts text while ignoring accents | ccIgnoreCase | Sorts text while ignoring the case (uppercase/lowercase characters). | ccIgnorePunctuationAndSpace | Sorts text while ignoring punctuation and spaces (for more details, see the Remarks) | ccIgnoreSpace | Sorts text while ignoring leading and trailing spaces in the strings. | ccLexicographicOrder | Sorts the strings in lexicographical order (for example, 'é' is between 'e' and 'f'). | ccNormal | Sort while performing a standard comparison, similar to the = operator =. | ccRespectNumeric | Sorts text while taking into account the numeric values within the strings (e.g., "10" comes after "9"). | sortDefault (default value) | Performs a case-insensitive and accent-insensitive sort. Ignores spaces. | sortWithoutFunctionGxxx | Sort ignores elements of type gImage, gStoredValue, ... By default, these elements are taken into account for sorting. |
Remarks Effect of ListSort The ListSort function has a one-off effect: items added to the List Box control or Combo Box control after using the ListSort function will respect the sorting options defined in the control description window. Comparing numeric values The ccRespectNumeric constant sorts by taking into account the numeric value represented by digits and not just the alphabetical order of the numbers. Thus, without the constant ccRespecteNumérique, the following strings will be sorted in this order: "string1", "string10", "string2". With the constant ccRespecteNumérique, the same strings will be sorted in this order: "string1", "string2", "string10". Lets' see some examples of comparison performed with and without the ccRespectNumeric constant: | | Sorting strings containing digits without the ccRespectNumeric constant | Sorting strings containing digits with the ccRespectNumeric constant | 0 | 00 | 00 | 0 | 001 | 001 | 009 | 01 | 01 | 1 | 010 | 009 | 09 | 09 | 1 | 9 | 10 | 010 | 11 | 10 | 9 | 11 |
| | Sorting strings containing digits without the ccRespectNumeric constant | Sorting strings containing digits with the ccRespectNumeric constant | 10.00Aa | 7.00Aa | 10.01Gh | 7.01Ba | 10.50Ag | 7.01Dfe | 11.00Aa | 7.50Fg | 7.00Aa | 7.51Tga | 7.01Ba | 8.00Aa | 7.01Dfe | 8.01Gjk | 7.50Fg | 8.01Ty | 7.51Tga | 8.50Ze | 8.00Aa | 9.00Aa | 8.01Gjk | 9.80Er | 8.01Ty | 9.99Zaaa | 8.50Ze | 10.00Aa | 9.00Aa | 10.01Gh | 9.80Er | 10.50Ag | 9.99Zaaa | 11.00Aa |
Characters taken into account for punctuation and spaces The characters taken into account for punctuation and spaces are provided by the system. To get the list of these characters, write the following WLanguage code:
s is string
FOR i = 0 TO 255
IF Charact(i) <> StringFormat(Charact(i), ccIgnorePunctuationAndSpace) THEN
s += Charact(i)
END
END
Info(s)
ToClipboard(s)
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|