Je récupère des numéros de version de la forme (xx.x.xx) d'une page internet que je stocke dans un tableau.
Lorsque j'effectue un tri, les valeurs 11, 12, ... sont stockées après le 1 et avant le 2.
L'utilisation de la fonction Number ne résoud pas le problème.
Code : Tout sélectionner
Local $sPattern = '(?i)<td><a href=".*?/">(\d+)\.(\d\.?\d*)/</a></td>'
Local $oIE = _IECreate($sUrl, 0, 0); Fenêtre invisible
Local $sHTML = _IEBodyReadHTML($oIE)
Local $aArray = StringRegExp($sHTML, $sPattern, 3)
If @error = 0 Then
Local $aVersions[0][3]
; Tri des versions en créant deux tableaux
Local $iVersion = 0
;~ Local $aSubVersions[0]
For $i = 0 To UBound($aArray) - 1 Step 2
_ArrayAdd($aVersions, Number($aArray[$i]))
;~ $aSubVersions = StringSplit($aArray[$i + 1], ".", $STR_NOCOUNT)
;~ If @error = 1 Then
;~ $aVersions[$iVersion][1] = Number($aArray[$i + 1])
;~ Else
;~ $aVersions[$iVersion][1] = Number($aSubVersions[0])
;~ $aVersions[$iVersion][2] = Number($aSubVersions[1])
;~ EndIf
$iVersion += 1
Next
_ArrayColDelete($aVersions, 2)
_ArrayColDelete($aVersions, 1)
_ArrayDisplay($aVersions)
_ArraySort($aVersions)
_ArrayDisplay($aVersions)
EndIfCode : Tout sélectionner
Local $aArray[0]
_ArrayAdd($aArray,Number("7"))
_ArrayAdd($aArray,Number("33"))
_ArrayAdd($aArray,Number("10"))
_ArrayAdd($aArray,Number("2"))
_ArrayDisplay($aArray)
_ArraySort($aArray)
_ArrayDisplay($aArray)

