Comparer 2 fichiers

Contenu du snippet

Cette routine permet de comparer deux fichiers pour savoir si il contiennent exactement la meme chose.

Ti£oi$

Source / Exemple :


Function CompareFiles(ByVal file1 As String, ByVal file2 As String) As Boolean
    Dim fnum1 As Integer, isOpen1 As Boolean
    Dim fnum2 As Integer, isopen2 As Boolean
    Dim buffer1 As String, buffer2 As String
    Dim bytesLeft As Long
    
    ' staille du buffer
    Const BUFFERSIZE = 10240
    
    buffer1 = Space$(BUFFERSIZE)
    buffer2 = buffer1
    
    On Error GoTo ExitProc
    
    ' compare d'abord la longueur du fichier
    bytesLeft = FileLen(file1)
    If bytesLeft <> FileLen(file2) Then Exit Function
    
    'ouverture du premier fichier
    fnum1 = FreeFile
    Open file1 For Binary As #fnum1
    isOpen1 = True
    
    ' ouverture du second
    fnum2 = FreeFile
    Open file2 For Binary As #fnum2
    isopen2 = True
    
    Do While bytesLeft

        If bytesLeft < Len(buffer1) Then
            buffer1 = Space$(bytesLeft)
            buffer2 = buffer1
        End If

        Get #fnum1, , buffer1
        Get #fnum2, , buffer2
        If buffer1 <> buffer2 Then Exit Do
        bytesLeft = bytesLeft - Len(buffer1)
    Loop
    
    CompareFiles = (bytesLeft = 0)

    
ExitProc:
    If isOpen1 Then Close #fnum1
    If isopen2 Then Close #fnum2

    If Err Then
        Err.Raise Err.Number, , Err.Description
    End If

End Function

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.