Comparer 2 fichiers texte [Résolu]

Messages postés
47
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
18 septembre 2009
- - Dernière réponse : econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
- 15 sept. 2004 à 13:32
bonjour

en vb6

je voudrai comparer toutes les lignes de 2 fichiers texte sauf la premiere de chaque fichier

si les lignes sont identique effacer le fichier texte 2

comment faire????

merci
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
18
3
Merci

Dim numFile1 As Long
Dim numFile2 As Long
Dim difference_detected As Boolean
Dim s1 As String
Dim s2 As String

difference_detected = False
numFile1 = FreeFile
Open "C:\mon_premier_fichier_texte.txt" For Input As #numFile1
Line Input #numFile1, s1 ' Skip de la première ligne
numFile2 = FreeFile
Open "C:\mon_second_fichier_texte.txt" For Input As #numFile2
Line Input #numFile2, s2 ' Skip de la seconde ligne

While (Not (EOF(numFile1)) And (Not EOF(numFile2))) And difference_detected = False
Line Input #numFile1, s1
Line Input #numFile2, s2
If Trim(s1) <> Trim(s2) Then
difference_detected = True
End If
Wend

' Verifie que les deux fichiers avaient la même taille
If Not (EOF(numFile1) And EOF(numFile2)) Then
' L'un des deux fichiers n'est pas complètement lu
difference_detected = True
End If
Close #numFile2
Close #numFile1

If difference_detected Then
Kill "C:\mon_second_fichier_texte.txt"
End If


Manu

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
85
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
5 octobre 2004
0
Merci
Lut.
Tu peux utiliser le modèle fso, en te servant de la méthode ReadLine sur tes deux fichiers, tu l'utilises une première fois sans faire de traitement pour sauter la première ligne, ensuite tant que tu trouve des lignes identiques tu continus de lire les fichiers, sinon tu supprime ton fichier 2.
A+
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
18
0
Merci
Une erreur dans le commentaire .. rien de grave, mais c'est mieux de corriger pour la compréhension :)


Dim numFile1 As Long
Dim numFile2 As Long
Dim difference_detected As Boolean
Dim s1 As String
Dim s2 As String

difference_detected = False
numFile1 = FreeFile
Open "C:\mon_premier_fichier_texte.txt" For Input As #numFile1
Line Input #numFile1, s1 ' Skip de la première ligne
numFile2 = FreeFile
Open "C:\mon_second_fichier_texte.txt" For Input As #numFile2

<s>Line Input #numFile2, s2 ' Skip de la seconde ligne</s>
Line Input #numFile2, s2 ' Skip de la première ligne

[...]

Manu
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
9
0
Merci
Bonjour
ludwig89 a écrit :
"si les lignes sont identique effacer le fichier texte 2"

il faut donc remplacer la ligne :

If difference_detected Then
   Kill "C:\mon_second_fichier_texte.txt"
End If


par

If Not difference_detected Then
   Kill "C:\mon_second_fichier_texte.txt"
End If
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
18
0
Merci
Ah oui .. tiens .... :)
Bien vu !

Manu