File Compare is a utility that every program developer should have. It allows two binary files to be compared on a byte by byte basis. Developers can test the functionality of their programs by comparing their output to a known good file, either from another source or from an earlier version of the program. File Compare does more than a simple comparison. It resynchronizes the files when differences are found. Differences are shown in hexadecimal and ACSII, and can be saved to a text file. Initial offsets allow portions of the files to be compared. The download file contains the following files: FileCompare.exe - the executable program FileCompare.hlp - the help file FileCompare.inf - installation information RTSiLicense.txt - the end-user licensing agreement Install.exe - an installation program FCTest1.txt - a file to compare against FCTest2.txt FCTest2.txt - a file to compare against FCTest1.txt FileCompReadMe.txt - this file The install program will move the executable and help files to the selected directory and place a link in the selected program group. (The Accessories group is the default program group.) The test files will not be moved. They will remain in the temporary directory where the Zip decompression took place. These files are similar but not identical and can be used experiment with the various resynchornization and display options. The following text is contained in the help file. Click on the Help button to veiw it when the program is running. The File Compare program compares two files on a byte by byte basis. Differences are shown in the Results text window. The files are resynchronized after differences. Resynchronization allows comparison of two files when the files are similar but not identical to each other. (Although this program is intended for binary files, it is also capable of comparing text files. However, no line number, page number or other text-based information is used.) The Compare button starts the comparison. The cursor will change to an hourglass and the Progress Indicator will show how far along the comparison has gone. (The length of File 1 determines the value of the progress.) The Kill Comparison button can be used to terminate the comparison. In general, comparing identical files is quite fast. If the progress indicator slows significantly, it is because there are a lot of difference at that point in the files. The two files are specified in edit boxes with drop down MRU (Most Recently Used) lists. Each MRU list keeps track of the most recent 16 files compared. Browse buttons are associated with each file to help locate files. File Compare compares the time and date when each file was last modified. The file times are shown in the Results if they are different. The file sizes are examined. Differences are reported in the Results but the program compares the contents regardless of the file sizes. The Results text will show if the end of each file was reached. Save Results causes the results of the comparison to be echoed out to a text file. The Results File also has a drop down MRU list and a Browse button. NOTE: Save Results must be checked BEFORE the comparison is performed. To save the results after a comparison, check the box and rerun the comparison. Since the results will be around after the program has been dismissed, the two file names and the time of the comparison are added at the top of the results file. An Initial Offset can be specified for each file to skip the first section of one or both files. Use this to skip a large portion of a file when the data from one file has been concatenated onto the end of the other. The Offsets can also be used to manually resynchronize the files when the automatic resynchronization has failed. These fields accept either decimal or C-style hexadecimal numbers (for example 0x12ab34). If enabled, File Compare will try to Resynchronize after a difference has been found. The Always checkbox indicates that the program should attempt to resynchronize after each difference until the end of one of the files is reached. The N Times checkbox and value indicate a maximum number of differences before the file comparison is terminated. (A difference only counts as a single difference until the comparison has resynchronized regardless of the number of bytes that are skipped.) To select Always or N Times, click on the appropriate check box. To disable resynchronization, click on the selected checkbox. Both check boxes will then be blank. When a difference is encountered, resynchronize skips bytes until it finds Resync Size (RS) bytes of each file that match. The number of bytes skipped in each file is reported in the output. The maximum number of bytes that can be skipped is set by the Max Skipped Bytes (MSB) entry. Resynchronization Details - File Compare reads in RS bytes of File 1 and compares them to the next RS+MSB bytes of File 2. It then compares RS bytes of File 2 to RS+MSB bytes of File 1. It then skips a byte in each file and repeats the process. If a match is found, the number of skipped bytes from each file is reported and the comparison continues. Both Files, File 1, File 2, Larger File specify which files are allowed to skip bytes during resynchronization. This may help to limit the possible number of spurious resynchronizations. The Similar Skip / Max Offset causes the resynchronization to skip a similar number of bytes in each file. The number of bytes skipped in File 1 will be the same as the number skipped in File 2 plus or minus the Max Offset limit. Zero will cause the synchronization to always skip exactly the same number of bytes in each file. (NOTE: if only one file is allowed to skip bytes, Max Offset effectively becomes the Max Skipped Bytes value.) View Contents displays the contents of the files around any differences. The Results window will show 16 bytes before the difference, the bytes that are skipped and 16 bytes after the files have been resynchronized. (In general the leading and trailing bytes will be the same for both files. However, if the files are synchronized for less than 16 bytes, these bytes may be different.) In the Results window, the leading and trailing bytes are shown in black while the bytes that differ are shown in red. The dialog can be resized in order to accommodate screen sizes and viewing preferences. The minimum recommended screen resolution is 800 x 600 pixels. The following text is also contained in the About box. The permanent license version of the program can be purchased for $5.00 from the Romeo Tango Software, Inc website at www.romeotango.com/FileCompare.html. Or a diskette can be ordered for $7.00 from: Romeo Tango Software, Inc P.O. Box 7236 Wilmington, DE 19803-0236 Please report any problems or send any suggestions to support@romeotango.com.