1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| MsgBox "On compare la version S 7.10 a celle de S 7.10 le resultat est : "& CompareLevels("S 7.10","S 7.10") & vbcr & " Pas de mise a jour !",vbInformation,"Comparaison des versions"
MsgBox "On compare la version S 7.7 a celle de S 7.10 le resultat est : "& CompareLevels("S 7.7","S 7.10") & vbcr & " La version S 7.0 est plus ancienne par rapport a la version S 7.10 !",vbExclamation,"Comparaison des versions"
MsgBox "On compare la version S 7.10 a celle de S 7.7 le resultat est : " & CompareLevels("S 7.10","S 7.7") & vbcr & "Donc il y a une version plus recente c'est la version S 7.10 !",vbExclamation,"Comparaison des versions"
Function CompareLevels(CompareLevelVersionAlpha, PresentVersionAlpha)
Dim PresentVersionArray, CompareLevelArray, CompareLevelArrayValues, PresentVersionValue
Dim firstPresentVersionArray
Dim LenCompareLevel, LenPresentVersion, MinLength, i, Flag
'RFE_logfile RFE_logfilepath, LOG_LINE_SEPARATOR
CompareLevelVersion = Replace(CompareLevelVersionAlpha, "S", "")
CompareLevelVersion = Replace(CompareLevelVersion, "P", "")
PresentVersion = Replace(PresentVersionAlpha, "S", "")
PresentVersion = Replace(PresentVersion, "P", "")
CompareLevelArray = Split(CompareLevelVersion,".")
PresentVersionArray = Split(PresentVersion,".")
LenCompareLevel = UBound(CompareLevelArray)
LenPresentVersion = UBound(PresentVersionArray)
firstPresentVersionArray = LBound(PresentVersionArray)
'Calculate the Length
If LenPresentVersion > LenCompareLevel Then
For i = LenCompareLevel To (LenPresentVersion - 1)
ReDim Preserve CompareLevelArray(UBound(CompareLevelArray) + 1)
CompareLevelArray(UBound(CompareLevelArray)) = 0
LenCompareLevel = UBound(CompareLevelArray)
Next
MinLength = LenCompareLevel
Else
If LenCompareLevel > LenPresentVersion Then
For i = LenPresentVersion To (LenCompareLevel - 1)
ReDim Preserve PresentVersionArray(UBound(PresentVersionArray) + 1)
PresentVersionArray(UBound(PresentVersionArray)) = 0
LenPresentVersion = UBound(PresentVersionArray)
Next
End If
MinLength = LenPresentVersion
End If
For i = 0 To MinLength
If CInt(CompareLevelArray(i)) > CInt(PresentVersionArray(i)) Then
Flag = -1
Exit For
Else
If CInt(CompareLevelArray(i)) < CInt(PresentVersionArray(i)) Then
Flag = -4
Exit For
Else
Flag = 0
End If
End If
Next
If (Flag = -4) Then
CompareLevels = -4
Exit Function
End If
If (Flag = -1) Then
CompareLevels = -1
Exit Function
End If
If (Flag = 0) Then
CompareLevels = 0
Exit Function
End if
CompareLevels = -1
End Function |
Partager