ZDIFF v2.3 The Visual Directory/Archive comparison Shareware program Copyright 1994 - 1996, Christophe Dubourg ---*--- Table of contents 1 ........................Purpose 2 ........................ Syntax 3 ... Using full screen interface 4 ........ Reading the saved file 5 ...................... Features 6 .................. How it works 7 .................. Requirements 8 ........................ Limits 9 ....................... Remarks 10 ............... ZDiff and SHARE 11 .................... Disclaimer 12 ............ Distribution files 13 ............Registration/Author 14 .....You are french ? read this ---*--- 1. Purpose : ------------ ZDiff is a directory tree comparison utility. You can compare a pair of archives, or a pair of directories, or an archive and a directory. (that's the new of this !) The two sets of files are then displayed in two synchronized windows, with colors, showing ANY differences found. þ ZDIFF.EXE is the normal DOS version, using regular memory. þ ZDIFFD.EXE is the protected mode version, using all memory. The protected mode version allows you to compare much more files (up to 16380) using as much of system memory as needed. (Borland's DPMI host included with protected mode version) (ZDIFFD is available for registered users - see REGISTER.DOC) 2. Syntax : ----------- ZDIFF or ZDIFF [options] [wildcards] Note : To simplify the following, the archive or directory that is compared to an other archive or directory will be called a Set of files. There is a NEW set of files, and an OLD set of files. (to indicate during the comparison, if files are older or newer than other files, for instance). The and parameters are needed (not optional). The order in which you specify the New/Old pair is important. It will make the difference between a 'Deleted' file or 'Inserted' file, or a 'Newer' and 'Older', or 'Bigger' and 'Smaller'. (This will only affect the output result and make it simpler for you to read) To specify that a set of files is a LIST (not an archive or a directory), just add an '@' in front of the LIST filename. Like this : ZDIFF @MyList.LST MyNewDir /R This way, I compare MYLIST.LST (which is a list) to MYNEWDIR (which is a directory) Note:if the extension is .LST, ZDiff assume that it's a list. The NEW set of files must be specified first. --------------------------------------------- Then, you may specify wildcards if you need. a. Wildcards The wildcards may be used to restrict the files compared inside the directory or archive. (for both the new and old sets, because it would be unlogical to have two different wildcards). The DOS standard wildcards are allowed. Note : wildcards are not used inside LISTs. b. Options The options may be specified anywhere on the command line, and are not case sensitive. The options are (alphabetic order) : /a : Automatic mode. /as : Automatic mode, silent. By default, once the files have been read, the result of comparison is shown in a window, on screen, and you can browse through the whole output, using dialogs to specify such things as filters, video options, save options, and so on. In Automatic mode, ZDiff output the result to standard output, and immediatly exits, without any user action. This allow the use of ZDiff in batch files, to redirect output into a file or to a printer, or pipe to another program. Example : You can use 'ZDIFF FILE.ZIP C:\DATA /A >PRN' to directly send the result to printer. Note : You can also save the result of comparison in a file, from the user interface : use File|Save. The form /As tells Zdiff to not display any file information while working. ('s' stands for 'Silent') /b : Batch output. Only the file names are saved. (no diff info) Use this option to select a set of files (the Newer files, for instance) and to save the resulting list. You may re-use this list as input with an other program. (to update an archive with new files, or delete files that are already in an archive or on a backup disk, for example) /c : Country flag override. If the dates for the ZIP files are not well recognized, you may use this option to force the date format to use while reading ZIP files : /C0 - USA date format. (MM/DD/YY) /C1 - EUROPEAN date format. (DD/MM/YY) /C2 - JAPANESE date format. (YY/MM/DD) /d : Differences only. Once the two sets of files are compared, the output will only show the files that are different between the 2 sets. (ANY difference : date, size, crc, name...) By default, all the files of the two sets are displayed. This is equivalent to /X= (Exclude Equals) /exx : Skip files with Errors Where xx can be : 'X' to exclude skipped files from comparison. When ZDiff can't open a file for looking inside (to calculate CRC), it displays a dialog box asking you to choose between Retry, Skip, and Abort. If you skip, the CRC of the file is set to 0 (and the file is anyway included in the comparison, with a zeroed CRC). If you abort, the program quits. This option allows you to Skip automatically the files with errors, so you don't have to stand by the machine waiting for such errors when you know it will occur (shared or system files, etc). The count of skipped files is displayed in the Status dialog box. /fxx : Files atributes Where xx is one or more of : H : Hidden files S : System files D : Hidden/system directories The default is to scan only normal files - but you can, with this option, tell ZDiff to scan Hidden files and/or System files and/or hidden/system directories. Examples : /FHS : scan Hidden (H) and System (S) files. /FD : scan hidden and system directories /FSHD: scan hidden/system directories and hidden and system files (any file on disk). /h : Help ! This display help screens, plus registration information screen. /i : Ignore Filter You can ignore the differences matching certain criterias. These criteria must immediately follow the /i switch. The letters that can be used are (in any order) : c - Ignore the CRC differences. d - Ignore Date differences. s - Ignore Size differences. An example : ZDIFF NEWFILE.ARJ C:\DATA /id The output will ignore date difference in comparisons. (/id = Ignore Date differences) /l : Generate a list. With this option turned on, you don't compare two sets of files, you just generate a list from ONE set of files, that can later be used to compare with... an other listing, or an other set of files. This allows you to gain a lot of time if you want to compare one set of files with several sets of files. (ZDiff, when using a list, don't have to scan a disk for names, sizes, dates, and CRC so it's incredibly FAST !) When you generate a list, ZDiff obtains the maximum information that comes from source files, as explained below. You can specify a label name for the list, which will be included in the output file. This is for information only. If you don't specify any label, the default label will be the volume label if the source is a directory, the archive name if it's an archive, or the first label of the list if it's a previously saved list. If the source is a directory, both 16-bit and 32-bit CRC are calculated and displayed in the output list. This allows you to later either compare with a 16-bit CRC archiver output, or a 32-bit CRC one. If the source is an archive, only the CRC used by the unarchiver output can be obtained and sent to the list output. Using the Automatic mode, the display is sent to standard output, so you can just re-direct it, like this : ZDIFF EXAMPLES /A /L >EXAMPLES.LST or ZDIFF MYSAMPLES.ARJ /A /L >SAMPLSET.1 or ZDIFF /A /LMyLabel DUMM.ZOO >DIR1.LST The first example outputs a list from the EXAMPLES directory, calculating both 16 and 32-bit CRC, to EXAMPLES.LST. The second example outputs a list of the files contained in MYSAMPLES.ARJ - the CRC is 32-bit, since ARJ use 32-bit CRC. The third example outputs a list from DUMM.ZOO, which use the 16-bit CRC. "MyLabel" will be the label of this list. If you don't use Automatic mode, the list is whown on screen, along with all the calculated informations. You can look at it and save it from the menus (File|Save). Several lists can be concatenated to form a list of lists. These big lists are treated like a single list when used in ZDiff. Example : ZDIFF DISK1 /A /L > MASTER.LST ZDIFF DISK2 /A /L >> MASTER.LST ZDIFF DISK3 /A /L >> MASTER.LST ZDIFF @MASTER.LST OLDMAST.ZOO In this example, MASTER.LST contains the information of the files from the DISK1, DISK2 and DISK3 directories. This information is then compared to the ZOO archive called OLDMAST.ZOO. /m : Matching files only. The output will only show the files that are BOTH in the NEW and the OLD set of files. Files that are only in the NEW set or only in the OLD set (i.e., Deleted or Inserted files) will not be shown. This is useful if you want to compare a set which is only a subset of the other. This is equivalent to /Xid (eXclude Inserted and Deleted) /n : No Path in names With this option, you can compare a full directory tree with a single directory. Useful to compare a ZIP file that have a directory tree stored inside of it, and a directory that contains all the files without subdirectories. Note : use this option with caution, since the path is barely stripped from each name. If two files have the same name in two different directories, the latest file information updates the data from the previous one in memory. Example : to compare two directories, one containing the 'cut' product, and one containing the 'development' version, like : New directory : BUILD\*.* Old directory : CUT\DISK1\*.* CUT\DISK2\*.* CUT\DISK3\*.* etc... You can compare these 2 directories with the following command : ZDIFF /r /n BUILD CUT /p : Pause. With this option, ZDiff will prompt you before reading each set of file. The purpose of this is essentially while using floppies, or any other removable media (Syquest,...). For example, if you need to compare two sets that are on two different floppies that have the same format, you'll have to insert one disk, read the files from it, and then the second disk. Maybe, you could compare 2 removable hard disks, or a hard disk and an archive, or whatever you want. /q : Quick scan. If a directory is involved in comparison, this permits to skip the CRC calculation on each file of this directory, in order to speed up the process. Of course, use this option with caution, since the comparison is then only made with TimeStamp and Size ! (two files can have the same date and time of last modification, the same size, and be binary different : using this option, they will be marked as 'Same'). However, if the timestamp or size is different, the difference will be shown. /r : Recurse directories. By default, the subdirectories are not searched, either in the archive or the directory file structure. (to save time). This switch allows the comparison of the full tree of directories. Note : if you don't specify the -r option, the filenames that contains a path in the archives are not treated at all. A warning is displayed if a path is found in an archive, if you have not used the -r option. /v : Verbose output. Used in conjonction with the (/a) Automatic mode, this option causes a status to be output at the end of comparison. This status report shows the number of files that are : - Identical - Different - Newer - Older - Bigger - Smaller - Inserted - Deleted It gives a quick idea of the amount of differences between the two sets, without having to analyze the whole output. /x : eXclude filter. You can exclude from output the files that match a certain criteria. These criteria must immediatly follow the /X switch. The symbols that can be used are (in any order) : i - exclude Inserted files. d - exclude Deleted files. n - exclude Newer files. o - exclude Older files. b - exclude Bigger files. s - exclude Smaller files. c - exclude CRC different files. = - exclude Identical files. An example : ZDIFF NEWFILE.ZIP C:\DATA /Xo= Exclude from output the files that are Equals, and the Older files, too. /z : Zpecial messages. (troubleshooting option) Troubleshooting mode option - display more information while running, like Country code detected, date used, Zip version... It may help if something seems to go wrong (with date format detection, for example). Please note that using the DPMI version of ZDiff with the Borland RTM DPMI server, the Country Code number MAY be inaccurate. However this doesn't affect the DATE FORMAT detection. (See the /C option to override the Date format detection). The same information can be obtained in the user interface, using the shortcut Alt+Z. 3. Using the user interface --------------------------- Once all the files have been read in memory, the output is displayed in a scrolling window, on screen, with colors that show where the differences are. Each color have a meaning. Use Alt-L (or /Help|Legend in the menu) to obtain the reference (legend) of colors. - White on blue represent 'No difference'. - White on Red represent 'CRC difference'. - White on Magenta represent 'Date newer' or 'Size bigger'. - White on Cyan represent 'Date older' or 'Size smaller'. - Yellow on blue represent 'Inserted' files. - Red on blue represent 'Deleted' files. Here are the menu options : File|Save : Saves the files information to a text file, either Side-by-side or Single column (See Options|Misc) If /L specified on command line, it saves the file as a list. otherwise, it saves a diff file. ShortCut : F2. File|Exit : Quits ZDiff, back to DOS. No confirmation, except if a list is in memory and has not been saved yet. ShortCut : Alt+X. Options|Filters : show a dialog box to let you specify the different filtering options, (Exclude and Ignore) and where these filters apply (to screen only, or Saved file also). These options match by default the command line options, if you have specified some. ShortCut : Alt+T. Options|Misc : at this time, you can only specify how you want the saved file output to be. (single or side-by-side) Options|Toggle video : toggle between 25 and 43/50 lines screen. ShortCut : Alt+V. Options|Toggle directory : toggle between side-by-side output (the directory information is still shown on the extreme right, just scroll to the right to see it), and Single column output (the names and directories fit on the screen) ShortCut : Alt+D. Help|Arguments : brings deveral dialogs explaining how to use ZDiff. (equivalent to /H on the command line). Help|Legend : brings a dialog explaining the meaning of each color. ShortCut : Alt+L. Help|Status : display the global status of the comparison. ShortCut : Alt+S. Help|Register : information for registration of ZDiff. ShortCut : Esc. Help|About : Version information, and registration information. (plus greetings, if you can find how) ShortCut : F1. 4. Reading the saved DIFF file ------------------------------ When you save a file, using the File|Save option, or redirecting the output with the Automatic option, you obtain a text file, listing all what you could see in the scrolling window (depending on the filtering options you choose). There is first a header, to indicate the files or directories that were compared, the file pattern used, the options, etc. Following is the list itself. In front of each filename, there are several status indicators. These can be "Same, Differs, CRC Differs, Bigger, Smaller, Newer, Older". These terms are explicit enough so I don't have to explain their meaning. However, the terms "Same", "Differs" and "CRC differs" explanation can be expanded : First, remember that the (/Q) Quick mode allows you to compare files without CRC, just on date, time and size. If you use the normal comparison (with CRC), ZDiff relies on the CRC to say if two files are "Same" or "CRC Differs". If you use the Quick mode (no CRC), then ZDiff relies on date, time and size to say if 2 files are "Same" or "Differs". (Please note the difference between "CRC Differs" and "Differs") This is why, using the normal mode, you can obtain 2 files that are "Same", but with different dates. (here, the CRC is here to say that the files are identical) But in quick mode, if ever 2 files have 2 different dates, the display will be "Differs" - even if they are binary equal (since no CRC was done to prove this). If you use the "Ignore CRC" option, then file that have CRC differences will be marked as "Same", except if the Size are different - and you didn't use "Ignore Size" ! 5. Features : ------------- Since this is a comparison program, you will probably want to know how it compares the two sets of files : The keys of comparison are : Name : If two names of the sets don't match, either one is new or one is deleted, depending on the order you specified for the comparison. if the -r option is specified, the full relative filename must match. Once two files are found in both the 2 sets, a more precise comparison occurs. The keys for comparison between two files that have the same name are : CRC : The most accurate CRC method is used to know if files are absolutely identical or not. CRC is either taken from the archive, or calculated from the files in the case of a directory. 32-bit CRC is the default. Note : if one of the sets is an archive of type LZH, LHA, ARC or ZOO, then a 16-bit calculation is done on files, to match the CRC that these archives use. -> If you compare one archive which use 16-bit CRC and an other which use 32-bit CRC, then they can't match : the Quick mode is then automatically set to ON. (CRC are not compared). In this case, the only way to compare these archives with a CRC is to extract one of them to a directory, and then compare this directory to the unextracted archive. If the Quick option is set, and at least one of the 2 sets is a directory, no CRC calculation occurs, and files are assumed binary identical. Date : To know which one is the oldest file, or the newest. (Time is used, too) Note : see the section "Limits" below for more information on time information while comparing ZIP files. Size : To know which one is the biggest file, or the smallest. 6. How it works --------------- To compare two directories, or a directory and a saved list, or two lists, you won't need nothing but ZDIFF.EXE. But to compare two archives, or an archive and a directory, you'll need the correct unarchiver in your PATH, to access the archives you have specified. NOTE : New in version 2.1, the unarchivers path can be specified in the DOS environment variable ZDIFF. So you don't have to add a directory path to your long PATH statement. Example : SET ZDIFF=D:\TOOLS\ARCTOOLS (tells ZDiff that PKUNZIP, ZOO, ARJ, etc - are in the directory called D:\TOOLS\ARCTOOLS) The program supports all the current archive formats that are commonly used and that I am aware of : ZIP, ARJ, LHA, LZH, PAK, ZOO, ARC. The needed unarchiver, for each extension is : *.ZIP PKUNZIP.EXE (v1.10 or v2.04+) *.ARJ ARJ.EXE (v2.30) *.LHA \ *.LZH - LHA.EXE (v2.12) *.PAK / *.ZOO ZOO.EXE (v2.1) *.ARC PKUNPAK.EXE (v3.61) (each of these can be easily found on many BBS, Compuserve or on the World Wide Web) Now, here is how ZDiff works : The program first checks if the archive or directory or list that you specified exists. (to prevent an error after some precious seconds of calculation). At this point, it decides if a 32-bit or 16-bit calculation will occur (or no crc, if Quick mode is set). Then, it analyzes the NEW set, and then the OLD set. Three choices, concerning each set of file : a. If it's an archive: The unarchiver is called, to obtain a list of each file in the archive, along with the date, crc, size, and so on. This list is saved in a temporary file. (Using the TEMP environment variable if available) Then, the temporary file is opened, and scanned for each file in it. Since all the informations are already calculated by the unarchiver, there's nothing to compute (the crc is already there). Each file entry is then compared or stored to a list in memory. b. If it's a directory: The directory is scanned, and all the files are opened, to obtain their date, time, size, and a CRC calculation occurs. (except if the Quick mode is set). Each file entry is then treated like archive files entries. c. If it's a list: The list is opened, and scanned like an archiver output. The only difference is that since BOTH the 16 and 32 bits CRC can be presents, the CRC choosen is the one that correspond the best to the other set of file to compare to. (the most accurate is always taken) Each file entry is then treated like archives file entries. After all the files have been read in memory (the NEW set and the OLD set of files), the sorted list displayed. Using automatic mode, you can redirect standard output; you can use this facility to pipe the output to a finder program (FIND, GREP), or a viewer program (VIEW, LIST), or any filter program of your choice, or just redirect to printer or a file. If any difference is found, in the set of files selected by the filters, the ERRORLEVEL (or DOS exit code) is set to 2. You can then test this in a batch file, if you use ZDiff in an automated process. Here are some examples : 1. ZDIFF NEWARC.ZIP OLDARC.ARJ This compares the 2 archives, and display the result on screen, in double column format and with colors. (if the archive contains sub-dirs, they are not included, since no -r parameter is there - instead, you'll obtain a warning while running ZDiff). 2. ZDIFF /A /R NEWARC.ARJ C:\TEMP\OLDDIR >DIFF.TXT This compares the new archive NEWARC.ARJ to the directory C:\TEMP\OLDDIR, the subdirectories are scanned (/R) and the result is redirected to standard output (/A) so that DIFF.TXT contains the printable result of comparison. 3. ZDIFF /r NEWARC.ZIP OLDDIR *.DOC /XIDO This displays all the NEW files (/XIDO excludes Inserted, Deleted and Older files) in NEWARC.ZIP, compared to the OLDDIR directory files. Subdirectories are scanned, too. Only the .DOC files are processed. 4. ZDIFF NEWZIP.EXE . -r -q -c1 /1zip This displays the differences between the archive NEWZIP.EXE (/1zip tells ZDiff that it's a ZIP archive) and the current directory. The subdirectories are scanned, too, (-r) both in the archive and the directory. A Quick scan (-q) of directories files will be made (no CRC), so the comparison will be based on date, time and size only. The date format used by PKUNZIP on this machine is the EUROPEAN date format (-c1 means DD/MM/YY date format). 5. ZDIFF . -r OLDARC.LHA /d /q -m This displays the differences between the current directory and the archive OLDARC.LHA. Subdirs (-r) are scanned also. Only the differences are shown (/d), and no CRC is calculated (/q). Only the matching files (-m) of the two sets are displayed. 6. ZDIFF -A -L \BIN >MASTER.LST This outputs in MASTER.LST the list of files in the \BIN directory, along with their date, time, 16-bit and 32-bit CRC, and size. For later comparison purpose. (later, you'll use @MASTER.LST as one of two sets) /A tells ZDiff to redirect the output to standard output. 7. ZDIFF LATEST.ZIP @MASTER.LST -d This displays the differences between the latest product zipped in LATEST.ZIP, and the master list generated by the previous example. 7. Requirements : ---------------- ZDiff is compiled for 80286 and above systems. DOS version : a minimum of 300kb is required. You need a standard color adapter, if you want to browse the results on screen. (otherwise you can still output to an ASCII file with /A). Protected mode (DPMI) version : 2MB or more memory would be good. Optional : a mouse ! 8. Limits : ----------- þ ZDIFF.EXE (Standard DOS version) : All the files informations are stored in DOS memory (no EMS). It allows between about 5500 to 9900 files to be stored, depending on the path lengths and your available system memory - this is much enough for everyday personal/business use, I guess. þ ZDIFFD.EXE (DPMI - protected mode version) : All the files informations are stored in the GLOBAL memory. So, you can virtually store as many files that you have memory free, up to 16380 files at one time in memory. þ Note concerning the archives : if the -r option is not specified, the files containing a path in their name are not included in the comparison. Only the files in the main directory of the archive are scanned, and only the files in the specified directory are scanned also. However, a warning is displayed if a directory path is found in an archive, and if you haven't specified the -r option - so you know what it going on. þ Note concerning the LISTS generated by ZDiff : wildcards are not used at all while reading from saved list. All files that are in a list are read, even if you specifed a wildcard on the command line. -> But you can use wildcards to generate a list. þ Note concerning Date/Time information using ZIP files : since PKUNZIP don't display seconds in its regular output, if a ZIP file is used in comparison, the seconds are set to 0 for all time comparisons, even if you compare the ZIP file to a directory. This could be a problem if seconds are important in comparison. 9. Remarks ---------- I made my possible to make this program free of bugs, but if ever something is wrong with ZDIFF, please tell me. I'll fix it ASAP. ZDiff is written in Object Pascal and Assembly, compiled using Borland Pascal 7.01, (for DOS and DPMI targets), with Turbo Vision 2.0. Please note that ZDiff supports international information from DOS, since PKUNZIP does. (it concerns the date format, used for date comparison, that is different in US and in France, for instance). The DOS Country information is read for this purpose. The 3 date formats that exists are USA, European and Japanese. If ever the comparison of dates seems to be wrong in ZDiff, you can override (with the /C option) the automatic detection to set a date format to use on your machine. See the 'Syntax' section. Note : if you use the /Z option to display technical information, the country information reported by ZDIFFD.EXE (the DPMI hosted version) may be inaccurate, if you use the Borland DPMI RTM ; The date format, however, will be correctly detected and used. The correct country number will be correctly obtained, running ZDIFFD under Windows DPMI. Note : The country number is for information only. Don't worry if it's wrong. Just check that the date format displayed match your PKUNZIP outputs. Since ZDiff writes a few temporary data on your hard disk (in your temp directory), you should not reboot while ZDiff is running, as this could result in lost sectors. (CHKDSK /F would corrects it anyway) Just press a key if you want to abort the program - a dialog box will ask you if you want to exit or continue. 10. ZDiff and SHARE ------------------- ZDiff uses resources for storing dialogs and various texts. These resources are stored in ZDIFF.EXE (or ZDIFFD.EXE for DPMI version) and are accessed dynamically at run-time, using less precious memory. If you use SHARE.EXE, and obtain an error while running ZDIFF, just set the file ZDIFF.EXE as READ-ONLY. This is because SHARE won't allow ZDIFF to re-open ZDIFF.EXE twice. Setting the file READONLY allows you to run ZDIFF successfully while SHARE is loaded. This applies only to the DPMI version of ZDIFF, on non-shareable drives. Please note that ZDiff runs perfectly with networks and CD-ROMS. 11. Disclaimer -------------- Even if there is really no possibility for this program to damage your data, here is the usual disclaimer message : As a shareware program, ZDIFF is distributed as-is. The author disclaims all warranties, expressed or implied. The author will assume no liability for damages either from the direct use of this product or as a consequence of it's use. PKUNZIP, PKUNPAK, ZIP, ARJ, ZOO, PAK, LZH, LHARC, LHA are copyrighted by their respective authors. Borland Pascal and Turbo Vision are Copyright Borland International. 12. Distribution files ---------------------- Here is the file distribution list : ------ -------- ------------ -------------------------- 6719 a55512a3 WHATSNEW.DOC What's new in version 2.2 174169 9e486abc ZDIFF.EXE The main DOS program 40293 n/a ZDIFF.DOC The full documentation 1866 7808b898 REGISTER.DOC Registration form 330 7b5d35f0 FILE_ID.DIZ Short description for BBS 201065 ae4f04c4 ZDIFFD.EXE The protected mode version (if you have registered for it) ------ -------- ------------ -------------------------- 13. Registration / author ------------------------- If you like this program, and plan to use it, you may try it during a 21 days period, after this trial period, you should register. I make many tools for my own professionnal use, (this one helps me a lot!) and it is very pleasant to me, to know that these tools are useful to someone else ! If you register, I'll spend more time to update these tools, and add features - according to your requests or suggestions. The registration fee is $20 for a single user. You can use postal money order to send money, or send directly cash. Please don't send bank checks that are not in french francs, since I have to pay $40 to have them paid ! **************************************************** * * * PLEASE NO CHECK !!! * * use cash or POSTAL money order, please * * * *--------------------------------------------------* * Please note that a US check costs $40 to me, so * * don't send a check for less than $100 * * (I live in France). * * * * If you must pay by check, please add $40 to the * * amount, corresponding to the bank fees. Thanks! * * * * (by the way - are you french? if yes then go to * * section 14 below). * **************************************************** Protected mode version (DPMI) and site licence are also available. The protected mode version allows you to compare MUCH more files in memory. This is suitable for networks or CD-ROMs. The Protected mode version price is $40 (see REGISTER.DOC). For site licence, please look at the REGISTER.DOC form included in the ZDiff package. I made this registration form for your convenience ; you can print it, fill-in the blank fields, and send it to me along with your money. The unregistered version of ZDiff is limited to a certain amount of files... Much enough to work and have a good idea of its possibilities. Please register to override this (small!) limitation. * Advertising : Are you looking for a Windows diff program ? * Check Compuserve and the internet, (ftp.coast.net) for my * upcoming Windows diff program, called TreeDiff. * * For latest information, please check my WEB page : * http://ourworld.compuserve.com/homepages/cdubourg * * Nice, fast and easy, just like the DOS version ! ** Thanks in advance. ** ------------------------------------------------- HERE IS MY ADDRESS Christophe Dubourg FOR (paper) MAIL, 23, rue Victor Hugo CHECKS, Money orders 78370 PLAISIR or CASH : FRANCE ------------------------------------------------- --> Even if you don't send money, please feel free to send me your remarks, suggestions, and specific problems encountered with this program. It will be a pleasure to read your mail and to answer it ! Don't hesitate to contact me, at the following addresses : (in order of preference) ---------------------------------------------------------------- At home : Christophe Dubourg (paper mail) 23, rue Victor Hugo 78370 PLAISIR FRANCE e-mail : cdubourg@wpo.borland.com or 73233,1412@compuserve.com The WWW : http://ourworld.compuserve.com/homepages/cdubourg Compuserve : 73233,1412 (Christophe Dubourg) ---------------------------------------------------------------- Thanks for using ZDiff. //ChD 14. You are french ? read this ------------------------------- Vous ˆtes fran‡ais ? trŠs bien. L'objet de cette section est de vous inviter … vous enregistrer avec de la monnaie un peu plus pratique que le dollar. J'ai fix‚ le prix minimum de ZDiff … 100 FF, ou 200 FF pour la version en mode prot‚g‚ (DPMI). En ce qui concerne les enregistrements pour plusieurs utilisateurs, veuillez utiliser le fichier REGISTER.DOC, et multiplier le prix en dollars par 5. Merci d'utiliser ZDiff, et n'h‚sitez pas … le conseiller … vos amis si vous l'appr‚ciez. N'h‚sitez pas non plus … m'envoyer du courrier en fran‡ais ! Christophe Dubourg.