Vbwindiff : interface d'options pour le comparateur windiff

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

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.