Vbwindiff : interface d'options pour le comparateur windiff

5/5 (8 avis)

Vue 7 984 fois - Téléchargée 512 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

Ajouter un commentaire Commentaires
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
26 mars 2017 à 09:22
Version 1.07 : Possibilité d'ignorer des sauts de ligne multiples
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
22 mars 2015 à 11:08
Version 1.06 : prise en compte d'un type de guillemet supplémentaire.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
3 mai 2014 à 10:40
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.
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
11 janv. 2014 à 16:15
Oui tu as raison
Ton wrapper pourrait être utile :-)
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
11 janv. 2014 à 11:22
Oui effectivement WinMerge est super et complet, son interface est claire et facile à utiliser, merci. La seule option que je n'ai pas trouvée est la possibilité d'ignorer les espaces insécables.

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.