Vbwindiff : interface d'options pour le comparateur windiff

Soyez le premier à donner votre avis sur cette source.

Vue 6 902 fois - Téléchargée 439 fois

Description

VBWinDiff permet d'ajouter des options utiles pour le comparateur de fichier texte WinDiff : en fait, ces options ne sont pas prises en charge par WinDiff, mais l'idée, c'est d'effectuer un prétraitement des fichiers textes à comparer, de façon à ignorer des détails qui surchargent la comparaison via WinDiff. Exemple : si vous avez des espaces insécables dans un fichier et pas dans l'autre, WinDiff vous affiche des tas de différences qui ne vous intéressent sans doute pas. De même pour la casse (majuscule/minuscule), les accents, la ponctuation. J'utilise WinDiff tous les jours, mais malheureusement, il est assez limité : si les phrases sont trop longues, ou bien s'il y a un retour à la ligne dans une phrase, la détection ne fonctionne plus. Du coup, j'ai ajouté une option qui ajoute un saut de ligne à chaque mot, ce qui permet une comparaison mot à mot : WinDiff retrouve alors l'ensemble des différences, ce qui est utile par exemple pour comparer deux versions d'un texte.

Source / Exemple :


Cf. Zip.

Conclusion :


Si le texte est trop long, le temps de comparaison explose avec WinDiff (en mode mot à mot), du coup j'ai ajouté une pagination, par page de 100 Ko. Cela évite le plantage donc, mais si les tailles des deux documents divergent un peu, la divergence s'accentue de page en page. On pourrait améliorer un peu la pagination au prorata de la longueur des deux fichiers (au lieu d'une taille unique pour les deux fichiers), mais la limitation vient essentiellement de WinDiff. Sur CodeProject, il y a eu un concourt en 2009 pour concevoir le meilleur algorithme de comparaison de fichier texte, mais il n'y avait pas d'interface graphique (GUI) comme WinDiff au programme : dommage ! (c'est un peu ballot tout de même).
Aussi je lance un appel à ceux qui auraient un lien au sujet d'une interface aussi simple que WinDiff (avec ou sans le code source en DotNet), pour un algo. aussi performant que ceux du concourt de CodeProject.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Version 1.07 : Possibilité d'ignorer des sauts de ligne multiples
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Version 1.06 : prise en compte d'un type de guillemet supplémentaire.
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Version 1.05 : Utilisation de Winmerge si on décoche WinDiff, et ajout de plusieurs options pour comparer facilement des textes avec des présentations différentes, par ex. une page web avec un document Word ; possibilité de fusionner des mots (sur une base statistique) pour lesquels une césure automatique a été appliquée sur un format texte brut.
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Version 1.04 : Ajout d'une option Ratio pour une pagination proportionnelle.
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
28
Bonjour

As-tu essayé WinMerge ? (http://winmerge.org/)
je trouve qu'il offre des fonctions performantes et une interface efficace.

-----
Bob
Afficher les 8 commentaires

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.