Bonjour à tous,

Bon je n'ai aucune compétence dans le langage VBS mais dans mon travail j'ai besoin de comprendre le fonctionnement de cette fonction pour comprendre un script d'installation de windows hotfix , la fonction est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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

Bon c'est clair que la fonction compare les deux input mais je ne comprend pas le détails de fonctionnement, donc ma question pour les connaisseurs du langage merci de me donner le résultat de la fonction avec les entrées suivantes par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CompareLevels(S 7.7 , S 7.10)
Merci d'avance