- Сообщения
- 8,673
- Репутация
- 2,487
Своего рода аналог встроенному _VersionCompare:
Код:
ConsoleWrite(_VersCompare('1.0.0.0', '1.0.0.1') & @CRLF)
Func _VersCompare($sVer1, $sVer2)
Local $aVer1 = StringSplit($sVer1, '.')
$sVer1 = ''
For $i = 1 To $aVer1[0]
$sVer1 &= ($sVer1 ? '.' : '') & StringFormat('%02s', $aVer1[$i])
Next
Local $aVer2 = StringSplit($sVer2, '.')
$sVer2 = ''
For $i = 1 To $aVer2[0]
$sVer2 &= ($sVer2 ? '.' : '') & StringFormat('%02s', $aVer2[$i])
Next
$sVer1 = StringRegExpReplace($sVer1 & '.0.0.0', '^(\d\d?\.\d\d?\.\d\d?\.\d\d?).*', '\1')
$sVer2 = StringRegExpReplace($sVer2 & '.0.0.0', '^(\d\d?\.\d\d?\.\d\d?\.\d\d?).*', '\1')
If $sVer1 = $sVer2 Then
Return 0
EndIf
Return ($sVer1 > $sVer2 ? 1 : -1)
EndFunc