Comparer rapidement 2 fichiers avec un indice de tolérance

Contenu du snippet

Cette source est particulirement utile pour comparer deux images facilement, en choissant le pourcentage de difference.
Mais autrement, vous pouvez comparer tout les autre types de fichier.
Attention la tolérance est en pourcentage.

Pour qu'il n'y ai aucun pourcentage de tolérance : Tolérance = 0

Ensuite, l'executable créé en natif, pour deux fois le même fichier de 20,9 Mo il m'a fallu 59 secondes pour effectuer le test de comparaison.

Source / Exemple :


Public Function Fichiers_Egaux(Path1 As String, Path2 As String, Tolerance As Integer) As Boolean
    Dim Max As Long
    Dim File1() As Byte
    Dim File2() As Byte
    Dim verif As Long

    Open Path1 For Binary As #2
        ReDim File1(LOF(2))
        Get #2, , File1()
    Close #2

    Open Path2 For Binary As #2
        ReDim File2(LOF(2))
        Get #2, , File2()
    Close #2
    
    Max = UBound(File1)

    If UBound(File1) = UBound(File2) Then
        For i = 0 To Max
            DoEvents
            If File1(i) <> File2(i) Then verif = verif + 1
        Next i
    Else
        MsgBox ("Les fichiers n'ont pas la même taille, ils ne sont donc pas identique.")
    End If

    If (verif / UBound(File1) * 100) < Tolerance Then Fichiers_Egaux = True Else Fichiers_Egaux = False
End Function

Conclusion :


Je connais pas de bug, mais si vous en voyez dites le moi.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.