Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

bonjour comparaison de 2 fichier

10 réponses
Avatar
webcomic
je chrche a faire la comparaison entre 2 fichier

10 réponses

Avatar
LE TROLL
Salut, plus d'expications stp, sont-ce des fichiers de
même type?
----------------

"webcomic" a écrit dans le message
de news: k21Wd.54215$
je chrche a faire la comparaison entre 2 fichier




Avatar
Jean-Marc
"webcomic" a écrit dans le message de
news:k21Wd.54215$
je chrche a faire la comparaison entre 2 fichier




Bonne idée! Et que veux tu comparer ?

- les noms ?
- les tailles ?
- les dates de création/modification ?
- les contenus ?
- en binaire ?
- en fichier "texte" ?
- si il y a des différences trouvées, que dois tu faire?
- reporter l'offset de la première différence?
- reporter le numéro de ligne de la première différence ?
- reporter toutes les différences ?
- en offset absolu dans le fichier ?
- en offset relatif aux débuts de ligne ?
- faut il "re-synchroniser" apres la première différence ?
- la taille des fichiers peut elle être importante ?
- si oui peux tu préciser cette taille ?
- l'occupation mémoire de ton programme est il une contrainte ?
- si oui, peux tu préciser ?
- la vitesse d'exécution est elle une contrainte ?
- si oui, peux tu préciser ?
- Dans le cas ou il y a des différences, sous quelle forme
dois tu rapporter ces différences?
- Dans un fichier ?
- a l'écran sous forme graphique ?
- si oui, sous quel forme ? mise en couleur des différences ?
- As tu une contrainte de format pour le reporting ?
- les 2 ?
- dans le cas d'un rapport dans un fichier, dois tu gérer la
sécurité ? Que se passe t'il si il n'y a plus d'espace disque
par exemple ?
- le fait que tu écrives "2 fichier" sans mettre de "s" à fichier
est il volontaire ?
- si oui, est ce que cela indique une contrainte
supplémentaire sur les fichiers ?
- si la vitesse est une contrainte, l'appel de fonctions écrites
dans d'autres langages est il admissible ?
- doit on prévoir des paramètres additionel pour la fonction de
comparaisons, comme par exemple:
- distinction minuscule/majuscule ?
- CR equivalent CRLF ?
- arrêt après N erreurs ?

Bref, quelques simples questions qui, si tu veux bien y répondre, nous
permettront certainement de t'orienter dans la bonne direction pour
cette réalisation. En l'état, j'ai peur qu'il soit difficile sinon
impossible d'apporter une réponse constructive, faute de connaitre les
spécifications de ton problème.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
ng
Jean-Marc wrote:

<snip>

wa ! ...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Richer
les dates et heure de modification serais un bon depart.

Richer

"Jean-Marc" a écrit dans le message de
news:4228aa6e$0$28063$
"webcomic" a écrit dans le message de
news:k21Wd.54215$
> je chrche a faire la comparaison entre 2 fichier


Bonne idée! Et que veux tu comparer ?

- les noms ?
- les tailles ?
- les dates de création/modification ?
- les contenus ?
- en binaire ?
- en fichier "texte" ?
- si il y a des différences trouvées, que dois tu faire?
- reporter l'offset de la première différence?
- reporter le numéro de ligne de la première différence ?
- reporter toutes les différences ?
- en offset absolu dans le fichier ?
- en offset relatif aux débuts de ligne ?
- faut il "re-synchroniser" apres la première différence ?
- la taille des fichiers peut elle être importante ?
- si oui peux tu préciser cette taille ?
- l'occupation mémoire de ton programme est il une contrainte ?
- si oui, peux tu préciser ?
- la vitesse d'exécution est elle une contrainte ?
- si oui, peux tu préciser ?
- Dans le cas ou il y a des différences, sous quelle forme
dois tu rapporter ces différences?
- Dans un fichier ?
- a l'écran sous forme graphique ?
- si oui, sous quel forme ? mise en couleur des différences ?
- As tu une contrainte de format pour le reporting ?
- les 2 ?
- dans le cas d'un rapport dans un fichier, dois tu gérer la
sécurité ? Que se passe t'il si il n'y a plus d'espace disque
par exemple ?
- le fait que tu écrives "2 fichier" sans mettre de "s" à fichier
est il volontaire ?
- si oui, est ce que cela indique une contrainte
supplémentaire sur les fichiers ?
- si la vitesse est une contrainte, l'appel de fonctions écrites
dans d'autres langages est il admissible ?
- doit on prévoir des paramètres additionel pour la fonction de
comparaisons, comme par exemple:
- distinction minuscule/majuscule ?
- CR equivalent CRLF ?
- arrêt après N erreurs ?

Bref, quelques simples questions qui, si tu veux bien y répondre, nous
permettront certainement de t'orienter dans la bonne direction pour
cette réalisation. En l'état, j'ai peur qu'il soit difficile sinon
impossible d'apporter une réponse constructive, faute de connaitre les
spécifications de ton problème.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."





Avatar
Aski
Bonjour,

L'identité de la date et de l'heure ainsi de la longueur devraient suffire.
Si tu veux aller plus loin, il faut ouvrir les 2 fichiers en binaire et
faire la comparaison bit à bit.

Aski

"Richer" a écrit dans le message de
news:
les dates et heure de modification serais un bon depart.

Richer

"Jean-Marc" a écrit dans le message de
news:4228aa6e$0$28063$
> "webcomic" a écrit dans le message de
> news:k21Wd.54215$
> > je chrche a faire la comparaison entre 2 fichier
>
>
> Bonne idée! Et que veux tu comparer ?
>
> - les noms ?
> - les tailles ?
> - les dates de création/modification ?
> - les contenus ?
> - en binaire ?
> - en fichier "texte" ?
> - si il y a des différences trouvées, que dois tu faire?
> - reporter l'offset de la première différence?
> - reporter le numéro de ligne de la première différence ?
> - reporter toutes les différences ?
> - en offset absolu dans le fichier ?
> - en offset relatif aux débuts de ligne ?
> - faut il "re-synchroniser" apres la première différence ?
> - la taille des fichiers peut elle être importante ?
> - si oui peux tu préciser cette taille ?
> - l'occupation mémoire de ton programme est il une contrainte ?
> - si oui, peux tu préciser ?
> - la vitesse d'exécution est elle une contrainte ?
> - si oui, peux tu préciser ?
> - Dans le cas ou il y a des différences, sous quelle forme
> dois tu rapporter ces différences?
> - Dans un fichier ?
> - a l'écran sous forme graphique ?
> - si oui, sous quel forme ? mise en couleur des différences ?
> - As tu une contrainte de format pour le reporting ?
> - les 2 ?
> - dans le cas d'un rapport dans un fichier, dois tu gérer la
> sécurité ? Que se passe t'il si il n'y a plus d'espace disque
> par exemple ?
> - le fait que tu écrives "2 fichier" sans mettre de "s" à fichier
> est il volontaire ?
> - si oui, est ce que cela indique une contrainte
> supplémentaire sur les fichiers ?
> - si la vitesse est une contrainte, l'appel de fonctions écrites
> dans d'autres langages est il admissible ?
> - doit on prévoir des paramètres additionel pour la fonction de
> comparaisons, comme par exemple:
> - distinction minuscule/majuscule ?
> - CR equivalent CRLF ?
> - arrêt après N erreurs ?
>
> Bref, quelques simples questions qui, si tu veux bien y répondre, nous
> permettront certainement de t'orienter dans la bonne direction pour
> cette réalisation. En l'état, j'ai peur qu'il soit difficile sinon
> impossible d'apporter une réponse constructive, faute de connaitre les
> spécifications de ton problème.
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
>
>
>




Avatar
Jean-Marc
"Richer" a écrit dans le message de
news:
les dates et heure de modification serais un bon depart.



Voici qui devrait faire l'affaire alors:

'
' Objet:
' Compare les tailles et date de création ou de dernière modification
' de 2 fichiers.
' Paramètres:
' szFile1 Chemin et nom du premier fichier
' szFile2 Chemin et nom du second fichier
'
' Valeur de retour:
' 0 Les fichiers ont une taille différente et des dates
différentes
' 1 Les fichiers ont même taille mais une date différente
' 2 Les fichiers ont même date mais une taille différente
' 3 Les fichiers ont même date et taille
' -1 La fonction a rencontrée une erreur (fichier n'existe pas,
etc.)
'
Public Function CompareFile(ByVal szFile1 As String, ByVal szFile2 As
String, Optional ByRef szErrorString) As Integer
Dim datFile1 As Date
Dim datFile2 As Date
Dim lenFile1 As Long
Dim lenFile2 As Long
Dim retComp As Integer

On Error GoTo CompareFile_ERROR

datFile1 = FileDateTime(szFile1)
datFile2 = FileDateTime(szFile2)
lenFile1 = FileLen(szFile1)
lenFile2 = FileLen(szFile2)

If datFile1 = datFile2 Then
retComp = retComp + 1
End If
If lenFile1 = lenFile2 Then
retComp = retComp + 2
End If
CompareFile_EXIT:
CompareFile = retComp
Exit Function
CompareFile_ERROR:
If Not IsNull(szErrorString) Then
szErrorString = Err.Description
End If
retComp = -1
Resume CompareFile_EXIT
End Function

Private Sub test_compare_file()
Dim ret As Integer
Dim szErr As String
Dim szResultString As String

ret = CompareFile("c:toto.txt", "c:titi.txt", szErr)

Select Case ret
Case -1
szResultString = "Erreur lors de l'appel de la fonction." &
vbCrLf & "raison=" & szErr
Case 0
szResultString = "Les 2 fichiers n'ont ni même taille ni même
date"
Case 1
szResultString = "Les fichiers ont même date mais une taille
différente"
Case 2
szResultString = "Les fichiers ont même taille mais une date
différente"
Case 3
szResultString = "Les fichiers ont même date et taille"
End Select
MsgBox szResultString
End Sub


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Richer
merci je vais l'essayez

Richer



"Jean-Marc" a écrit dans le message de
news:42297bf6$0$20685$
"Richer" a écrit dans le message de
news:
> les dates et heure de modification serais un bon depart.

Voici qui devrait faire l'affaire alors:

'
' Objet:
' Compare les tailles et date de création ou de dernière modification
' de 2 fichiers.
' Paramètres:
' szFile1 Chemin et nom du premier fichier
' szFile2 Chemin et nom du second fichier
'
' Valeur de retour:
' 0 Les fichiers ont une taille différente et des dates
différentes
' 1 Les fichiers ont même taille mais une date différente
' 2 Les fichiers ont même date mais une taille différente
' 3 Les fichiers ont même date et taille
' -1 La fonction a rencontrée une erreur (fichier n'existe pas,
etc.)
'
Public Function CompareFile(ByVal szFile1 As String, ByVal szFile2 As
String, Optional ByRef szErrorString) As Integer
Dim datFile1 As Date
Dim datFile2 As Date
Dim lenFile1 As Long
Dim lenFile2 As Long
Dim retComp As Integer

On Error GoTo CompareFile_ERROR

datFile1 = FileDateTime(szFile1)
datFile2 = FileDateTime(szFile2)
lenFile1 = FileLen(szFile1)
lenFile2 = FileLen(szFile2)

If datFile1 = datFile2 Then
retComp = retComp + 1
End If
If lenFile1 = lenFile2 Then
retComp = retComp + 2
End If
CompareFile_EXIT:
CompareFile = retComp
Exit Function
CompareFile_ERROR:
If Not IsNull(szErrorString) Then
szErrorString = Err.Description
End If
retComp = -1
Resume CompareFile_EXIT
End Function

Private Sub test_compare_file()
Dim ret As Integer
Dim szErr As String
Dim szResultString As String

ret = CompareFile("c:toto.txt", "c:titi.txt", szErr)

Select Case ret
Case -1
szResultString = "Erreur lors de l'appel de la fonction." &
vbCrLf & "raison=" & szErr
Case 0
szResultString = "Les 2 fichiers n'ont ni même taille ni même
date"
Case 1
szResultString = "Les fichiers ont même date mais une taille
différente"
Case 2
szResultString = "Les fichiers ont même taille mais une date
différente"
Case 3
szResultString = "Les fichiers ont même date et taille"
End Select
MsgBox szResultString
End Sub


--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




Avatar
Nico
J'irais un peu plus loin en te proposant de faire une comparaison via
un algo CRC32, ainsi tu obtiens une empreinte unique pour chaque fichier
ensuite tu regardes si tu as deux fois le même CRC32 c'est que tu as un
fichier en double (j'utilise ce procédé !)

Frost
Avatar
LE TROLL
Ben Nico Tine, il n'a pas repris le complément de son énigme
depuis trois jours, faut regarder les dates...
Par contre le CRC32 est dépassé, moi j'utilise le CRC34bis,
c'est formidable, il laisse une empreinte digitale du
fichier :o)
-----------

"Nico" a écrit dans le message de
news: 42543c4a$0$15279$
J'irais un peu plus loin en te proposant de faire une
comparaison via
un algo CRC32, ainsi tu obtiens une empreinte unique pour
chaque fichier
ensuite tu regardes si tu as deux fois le même CRC32 c'est
que tu as un fichier en double (j'utilise ce procédé !)

Frost


Avatar
Jean-Marc
"Nico" a écrit dans le message de
news:42543c4a$0$15279$
J'irais un peu plus loin en te proposant de faire une comparaison via
un algo CRC32, ainsi tu obtiens une empreinte unique pour chaque fichier
ensuite tu regardes si tu as deux fois le même CRC32 c'est que tu as un
fichier en double (j'utilise ce procédé !)



Sans nul doute le meilleur moyen. On peut aussi calculer un
hash MD5, ça revient au même dans le cas présent.

Pour implémenter le calcul de CRC32, on peut s'inspirer de
l'implémentation donné en exemple dans la RFC 3309:
http://www.faqs.org/rfcs/rfc3309.html

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."