Vbwindiff : interface d'options pour le comparateur windiff

Soyez le premier à donner votre avis sur cette source.

Vue 6 763 fois - Téléchargée 362 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

cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
26 -
Bonjour

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

-----
Bob
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
> cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
Bonjour, non je n'ai pas testé encore, merci pour le lien, je vais examiner cela et je donnerai mon avis dès que possible.
http://winmerge.org
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
> cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
-
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.
cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
26 > cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
Oui tu as raison
Ton wrapper pourrait être utile :-)
cs_Patrice99
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.

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.