Comparer 2 fichiers texte

Résolu
cs_ludwig89 Messages postés 47 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 18 septembre 2009 - 15 sept. 2004 à 09:11
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre 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
A voir également:

5 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
15 sept. 2004 à 09:30

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
3
Fulgy Messages postés 85 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 5 octobre 2004
15 sept. 2004 à 09:29
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+
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
15 sept. 2004 à 09:32
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
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
15 sept. 2004 à 10:20
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
15 sept. 2004 à 13:32
Ah oui .. tiens .... :)
Bien vu !

Manu
0
Rejoignez-nous