MCP Posted October 13, 2007 Posted October 13, 2007 (edited) If you run _INetUpdater() or similar functions, you probably find this UDF may help you. Happy AutoIt to everyone! expandcollapse popup;=============================================================================== ; ; Description: Check if, in two strings reporting a version number each, ; the first one is newer than the second ; eg: when comparing downloaded updates ; ; Syntax: _IsFirstOneNewer($sSource, $sDest) ; ; Parameter(s): $sSource ; eg: '0.1.10.23' ; $sDest ; eg: '0.1.10.17' ; ; Requirement(s): $sSource and $sDest must be in the form number.number.number.number ; ; Return Value(s): On Success - True or False ; On Failure - False and @error is set to 1 ; ; Author: MCP, Aristotele.Skotos, aka ... ; ;=============================================================================== Func _IsFirstOneNewer($sSource, $sDest) ; FYI: newer means not equal too Local $bRC = False, _ $aSource = StringSplit($sSource, '.'), _ $aDest = StringSplit($sDest, '.') If 4 <> $aSource[0] Or 4 <> $aDest[0] Or @NumParams <> 2 Then SetError(1) Return $bRC EndIf For $i = 1 To 4 If Number($aSource[$i]) > Number($aDest[$i]) Then $bRC = True ExitLoop EndIf Next Return $bRC EndFunc ;==>_IsFirstOneNeweroÝ÷ Øî²×èºwm+(ëh¡«¢+Ù} ½µÁÉYÉÍ¥½¸ ÀÌØíÍYÉÍ¥½¸Ä°ÀÌØíÍYÉÍ¥½¸È¤ EDIT: Added check for wrong number of parameters EDIT: Added official UDF from <Misc.au3> EDIT: Corrected an error in the elements number check Edited October 23, 2007 by MCP
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now