UUDWin32 1.1 Readme
Introduction
  UUDWin32 is a Win32 based GUI application.  It is designed to run onWin95 and Win NT (I have only tested on Win NT 4.0, although it should work on NT 3.51),  it will not work on WIN32s.
This program is a UU-Decoder and an UU-Encoder.  It can decode UUencoded, XXencoded, Base64 and BinHex files.  It can encode files to all except the BinHex format.

FreeWare
UUDWin32 is provided as FREEWARE.  Meaning you can use it for free, and as long as you supply all of the files you can freely distribute it to others.  Of course if you think UUDWin32 is so useful that you have to give me money, I won't turn it away.  It can be sent to the address at the bottom of this document.

Installing
Run SETUP.EXE to install the program on your machine.  After setup completes you should run UUDWin32 so that the Registry is properly setup for you.  The Setup program should set the registry up for you, however running the program ensures this.

How to use UUDWin32
It is fairly easy to use.  Once you start the application a splash screen is displayed while it is loading (you can click on the splash screen to dismiss it).  Once loaded you can either drag files from the explorer and drop them onto the main window, or you can select the "Add Files" button (or menu choice).  The selected files they are displayed in the left hand side of the application.  I highly recommend that you click the "Check Files" button, this will scan the selected files and make sure they can be properly decoded.  However; You do not have to do this, you can click on "Decode Files", and this will also perform the check. Files with errors are not decoded by default.  Once you Click "Check Files" the selected files will be processed, and the resulting files will be displayed in the right hand side.  You can double click on an item to get error information (if there is a check mark next to the file then this means its OK, and X indicates a problem).  You can also right click on the file to change the resulting file name (of course if you clicked "Decode Files" then you will need to decode them again for the name change to take affect).  You can not specify a path to store the files to while changing the name.  You can specify the path via the "Save Path" edit box.    By default UUDWin32 is setup to overwrite existing files, and to stop decoding a file if an error occurs.  You can change these defaults via the View|Options menu.  NOTE: These changes are remembered and become the default.

Encoding
  The Encoding portion is fairly self explanatory.  You either type in a directory\filename or click the "..." button.  Select what kind of encoding you want to use.  If you want it to be decoded to a single file, or brake the file up into multiple parts (some mail programs can't handle large files).  You can take the default name or you can change it.  NOTE:  If you select to break the file into multiple parts the resulting file will be the name you specified with an extension of .XXX where XXX is the number of the module.  For example part one will have the extension .001, part 2 will have an extension of .002.  You have no control over this.

How decoding works
The Internet provides us with a fast and reliable means of user-to-user message delivery, using private email or newsgroups. Both systems have originally been designed to transport plain-text messages. Over the years, some methods appeared allowing transport of arbitrary binary data by "encoding'' the data into plain-text messages. But even after all these years, there are still certain problems handling the encoded data, and many recipients have difficulties decoding the messages back into their original form. 

It should be the job of the mail delivery agent to handle sending and receiving binary data transparently. However, the support of most applications is limited, and several incompatibilities among different programs exists. 

There are three common formats for encoding binary data, called uuencoding, Base64 and BinHex. Issues are further complicated by slight variations of the formats, the packaging, and some broken implementations. 

Further problems arise with multi-part postings, where the encoding of a huge file has been split up into several individual messages to ensure proper transfer over gateways with limited message sizes. Very few mail programs are able to properly sort and decode the parts. Even nowadays, many users are at a loss to decode these kinds of messages.

The UUDWin32 program handles most of these issues for you.   It can decode multi-part files as well as many files simultaneously. Part numbers are evaluated, thus making it possible to re-arrange parts that aren't in their correct order. 

Decoding files is done in two passes. During the first pass, all input files are scanned. Information is gathered about each chunk of encoded data (testing). 

If the scanner finds a properly MIME-formatted message, a proper MIME parser steps into action. Because MIME messages include precise information about the message's contents, there is seldom doubt about its parts. 

For other, non-MIME messages, the "Subject'' header line is closely examined. Two things are extracted: the part number (usually given in parentheses) and a unique identifier, which is used to group series of postings. If the subject is, for example, "meaning.exe (01/04)'', the scanner concludes that this message is the first in a series of four, and the indicated filename is an ideal key to identify each of the four parts.  

If the subject is incomplete (no part number) or missing, the scanner tries to make the best of the available information, but some of the advanced features won't work. For example, without any information about the part number, it must be assumed that the available parts are in correct order and can't be automatically rearranged.  Given this information it is best to insure that the files being decoded have a subject line in them that has the file name and part number in it.  For example:
Subject: Foo.txt (1/2)

How UUDWin32 Works
  UUDWin32 uses a DLL (uulib32.dll) which performs all the decoding and encoding.  This DLL was created from source code provided by Frank Pilhofer (http://www.uni-frankfurt.de/~fp/uudeview).  The DLL is available on my web page along with the import library and headers needed.  Please check my web site for information on this.  

Known Problems
  Unfortunately I am aware of a couple of problems which I haven't had time to fix.

* Cursory checks are made to ensure filenames & directories are valid.  The testing performed is 99.9% accurate, meaning I doubt you will run into any problems.  This will not change, unless people are running into some real issue
* If you select the option to prevent a file from being overwritten & the file exists you will get two error dialogs, instead of just one.  I will fix this when I get a chance

Reporting Bugs
You can send your bug reports to me, at   Jim_Marshall@msn.com.
Please try to provide me with enough information so I can duplicate the problem.  Generally I will need the OS & version, the steps to reproduce the problem.

The Future
I plan on adding some new features in the future, specfically OLE Automation support.  If you have any suggestions please email them to me, my address is listed in the paragraph above.

Thank you for using UUDWin32
Jim Marshall
7 Allendale Ave
Billerica MA 01821-5960 (USA)
