Les Snippets

Connexion

Lister les différences entre les lignes de 2 fichiers texte, y compris de longueur inégale

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 08/04/2007 22:42:43 et initié par jmfmarques [Liste]
Date de mise à jour : 09/04/2007 09:06:20
Vue : 4179
Catégorie(s) : Fichier / Disque, Trucs & Astuces
Langages dispo pour ce code :
- VB6, VBA
- Voir tous les langages pour ce code snippet



Langage : VB6 , VBA
Date ajout : 08/04/2007
Posté par jmfmarques [Liste]

Une forme et 2 boutons de commande
Private Sub Command1_Click()
  'juste pour constituer 2 fhiers de travail (ne lancer donc q'une fois)
  Randomize
  On Error Resume Next
  f1 = "d:\testA.txt"       '| je ne fais ici que
  f2 = "d:\testB.txt"       '| créer 2 petits fichiers
  Kill "d:\testA.txt"       '| qui vont me servir à tester
  Kill "d:\testB.txt"
  Open f1 For Output As #2
  Open f2 For Output As #1
  For i = 1 To 7
    Print #1, i & " " & Int((3 * Rnd) + 1)
  Next
  For i = 1 To 10
    Print #2, i & " " & Int((3 * Rnd) + 1)
  Next
  Close #1
  Close #2
End Sub

Private Sub Command2_Click()
  On Error Resume Next 'hélàs inévitable car un fichier risque d'avoir plus de lignes que l'autre
  Dim f1 As String, f2 As String, f3 As String, nb As Integer, couic As Boolean
  Dim du1 As String, du2 As String, toto As String
  f1 = "d:\testA.txt"    '| les deux fichiers à
  f2 = "d:\testB.txt"    '| comparer
  f3 = "d:\RESUL.txt"   ' le fichier d'enregistrement des résultats de la comparason
  Kill f3
  DoEvents
  Open f1 For Input As #1
  Open f2 For Input As #2
  Open f3 For Output As #3
  nb = 1
  Print #3, "lignes communes différente entre " & f1 & " et " & f2
  While Not (EOF(2) And EOF(1))
   On Error Resume Next
   du1 = "": du2 = ""
   Line Input #2, du2
   Line Input #1, du1
   If Not couic Then
     Select Case du1 & du2
       Case Is = du1
         toto = f1
         couic = True
       Case Is = du2
         toto = f2
         couic = True
     End Select
     If couic Then Print #3, "lignes présentes uniquement dans " & toto
   End If
   If du1 <> du2 Then
     If Not couic Then
       Print #3, "ligne " & nb & " disant " & du1 & " dans " & f1; " et " & du2 & " dans " & f2
     Else
       Print #3, "ligne " & nb & " disant " & du1 & du2
     End If
   End If
   nb = nb + 1
  Wend
  Close #1
  Close #2
  Close #3
End Sub



Snippets en rapport avec : Fichiers, Comparaison, Comparer



Codes sources en rapport avec : Fichiers, Comparaison, Comparer

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR DE FICHIERS PARAMÉTRABLE
Il s'agit d'un outil de recherche avancée qui permet très facilement de : - Rechercher tout type de...

{Visual Basic, VB6, VB.NET, VB 2005} SUPPRIMER DES FICHIERS EN DOUBLE (D'APRES LEUR NOM)
Permet de comparer et de supprimer des fichiers en double. Pour moi il me permet quand je grave des...

{PHP} TEMPS ÉCOULÉ (DURÉE) ENTRE 2 DATES SOUS FORME LITTÉRAL NATURELLE
Fonction calculant l'écart entre 2 timestamps Unix et renvoyant un texte littéral naturel sur cette ...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR EXCEL EN MASSE
En remerciement de toutes les fois ou j'ai trouvé ici une aide précieuse, je vous poste ce petit com...

{PHP} COMPARATEUR DE FICHIERS
Ce script lit deux fichier xml pour vérifier qu'ils sont identiques identiques. Il supprime les e...

{JAVA / J2EE} COMPARAISON
Ce code compare deux suites de nombre . Il s'agit d'un programme simple pour les débutant. ...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARAISON DE 2 FICHIERS VERS 1.0
ce petit code sert à comparer 2 fichiers, aussi il donne quelque infos sur les fichiers... ...

{Visual Basic, VB6, VB.NET, VB 2005} XRCOPY - UNE SORTE DE SYNCHRONISATION DE RÉPERTOIRES
A la demande d'un admin. réseau, j'ai écrit un programme VB qui, en ligne de commande, permet de cop...

{Javascript / DHTML} DOM PARCOURIR LES RÉPERTOIRES ET FICHIERS EN LOCAL (EXCLUSIF : IE)
Ce sript n'a pas de fonction particulière, à la base il s'agit d'un projet personnel dont l'objectif...

{C / C++ / C++.NET} BASE DE DONNÉES FICHIER
LOGICIEL COMPILE AVEC BC++ 5 STANDARD Ce logiciel genere une base de données des fichiers...