Comparer 2 fichiers

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 813 fois - Téléchargée 56 fois

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

Ajouter un commentaire

Commentaires

sghchafaa
Messages postés
104
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
16 juillet 2010
-
sélém alikom;
comme il a dit SEBSAKO,tres utile votre code,mais il ne reste qu'a verifier sa validiter.
ensuite je veut prendre votre permission de prendre votre code et l'integrer dans mon code de projet fin d'etude que je prepare!!!!!!!!!!!!!?
merci d'avance de votre effort
Sélém alikom.
sbesako
Messages postés
1
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
30 janvier 2006
-
Très pratique votre script, j'aimerais l'intégrer dans mon programme mais j'ai essayé de l'exécuter et ça ne marche pas. j'ai une erreur a la première ligne. j'ai vérifier la syntaxe de byval apparemment tout semble correct.
Pouvez-vous l'exécuter de votre coté à nouveau pour voir si vous n'aurez pas le même problème que moi?

Merci.
cs_urban
Messages postés
8
Date d'inscription
vendredi 21 juin 2002
Statut
Membre
Dernière intervention
8 août 2002
-
Moi j'utilise File Compare du dos (FC.EXE). Très pratique, il ressort les divergences et se resynchronise ... C'est certainement le plus difficile (la re synchronistion)
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
Sinon ya windiff.exe qui fait un matching de 2 fichiers en indiquant les portions qui coincident, c'est un utilitaire livré avec les outils de VC++ de microsoft

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.