Looking for code to implement QuickDiff in programs that are compliant with the MicrosoftWay. Probably works as a subroutinee, similar (to enduser) presentation to whats here at WardsWiki (or UseMod). ''Looking for a practical, simple and maintenable solution with above constraints.'' * I have seen a few that I would not use even if they were free. At a discussion I have been told the "good algorithms" came out in mid 70s, but even now lots of "average" tools lie about. Unfortunately WindowsXp has not got functions I can call like Unix. I tried looking on the net but cannot locate freeware addons nor code to do this. Thanks for help. DavidLiu P.S. Our resident algorithm guru (DM) caution me that lots of implementations on the market (including the Gnu C code) are not very good. Personally I can survive if the only problem is bloated code, but I cannot bear with QuickDiff that does poor matchup, as I am spoiled by what I have seen on wikis. * He recommends pseudocode listed in DiffAlgorithm and said it is "couple hours work" :) ---- '''PythonLanguage code may be an option''' ''"Unfortunately WindowsXp has not got functions I can call like Unix. I tried looking on the net but cannot locate freeware addons nor code to do this."'' David, I hope I'm not telling you something you know already and have discounted as unfeasible. Have you looked into the GnuTools diffutils package? It has full source code in CeeLanguage for some diffing CommandLine programs. Or if you want them already compiled, try the GnuWin32 port at SourceForge. I bet you could pipe the diff results to a little PythonScript that outputs the diff as nice HTML, assuming that's what you're after. Does this help? -- ElizabethWiethoff * Elizabeth thanks. It does help a lot as I do not have UnixCulturalAssumption. I will wait a bit as I cannot see why advances in a useful algorithm has not gone out to the non-unix world already. I have added DM comments to the QuickDiff page. I will however try to see whether anyone is willing to do it free (nonUnix related, at least non CeeLanguage) as a contribution to the community. -- dl I'm glad it helps. I'm not a Unix expert myself, being a long-time Mac-head. But when I'm stuck on a Windows PC, I throw in some of those GnuWin32 command-line utilities just so I can get some work accomplished! I have found the coreutils, diffutils, findutils, and grep to be very handy. If you download these and use them from time to time, the Unix culture will not be so foreign. -- Eliz '''News flash:''' The PythonLanguage difflib module does diffs (http://docs.python.org/lib/module-difflib.html). Results can be output as HTML using the Html''''''Diff class (in Python 2.4 or later). There's a diff.py script in Python's Tools/scripts directory (2.3 or later) all set to run. I haven't tried any of this; I just discovered it. -- Eliz * In fact, I just added sample code which uses the difflib module to PythonSample. -- IanOsgood ---- '''MicrosoftWindows options''' There is a CeePlusPlus sample program called Win''''''Diff that comes with VisualStudio. Perhaps you could adapt that. * ''Not very good according to comments on the web.'' Consider COM/ActiveX/VBX/OCX components for the task. Consider "OLE Automation" of GUI-driven tools. Doing a Google, pointed me to this tool, and there may be others: http://www.softinterface.com/CFX/CFX.htm (OK, so it's not cheap: http://www.vbxtras.com/products/comparefilesx.asp ;-) See also discussion at http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki/DiffForWindows ---- As if you didn't already have enough suggestions, I've had great success with Win''''''Merge, an Open Source diff/merge tool (http://winmerge.org/). I don't know how it compares algorithmically with the others, as I haven't read the source yet, but from an EndUser point of view it's significantly faster and more accurate than Win''''''Diff. The only thing it lacks from my point of view is ThreeWayMerge. --TimLesher