This is a small tray utility for removing duplicate lines of text from
data in the Windows clipboard. When run, it first displays a small window
that allows you to control a few options affecting program operation.
When the options are set to your liking, you can hide the small window
leaving the icon in the system tray, by selecting the "Continue" button.
The "Close" button shuts the program down.

Your data may or may not contain a heading in its first line. The top 
three options are radio buttons that let you either protect the heading
from being sorted (and possibly removed), force the heading to be removed,
or say there is no heading.

It may be important that the original order of the data is preserved,
apart from removal of duplicates (the first occurrence of a set of 
duplicates is always kept, 2nd, 3rd occurrences etc are deleted). The
checkbox labelled "Maintain original order" is used for this purpose
(defaulted to YES).

When you click on the tray icon with the LEFT mouse button, duplicate
lines are removed from the clipboard in accordance with the option chosen.
If you click with the RIGHT mouse button, the small window is shown again,
in case you want to modify the options or close down.


This tool was built using Borland C++ BUilder (Version 6). I have included
all source code and project files, in case anyone wants to customise or
extend it. The file Unit1_DFM.TXT is a text version of the main (only)
form. It will be useful for anyone who wants to rebuild the project with
a version of C++ Builder (or Delphi) earlier than version 6.

It does not write to the registry, nor does it place any files anywhere
other than in the folder where the .exe is saved. Hence you can copy the
file Unduplicate.exe (and optionally Unduplicate.INI) to a USB stick
or other portable media, and run it from there on any Windows machine.

I would appreciate hearing reports of errors in this project, should you
find any.

My name:  Adrian Carter
Email:    Adrianbc1@gmail.com

August 16th,  2008


Change Log
------------

Aug 18, 2008
- Included checkbox to allow removal of ALL duplicate lines (Only Keep Unique Lines).
- Startup options controlled by .INI file (which is itself optional).
- Parameter in the .INI file controls whether the window is shown at startup.
- Parameter in the .INI file ("NotifySound") for a .WAV file to play immediately
  after clipboard processing is complete. Useful for dealing with very large datasets.

Example .INI file
---------------------
[PARAMETERS]
Immediate=N
HeadingAction=none
KeepOnlyUnique=N
KeepOriginalOrder=Y
NotifySound=Owl.wav"
---------------------

A setup program has been provided; however its use is not mandatory. You can edit
and save a file called Unduplicate.INI yourself, using the example above as a guide.
A copy of the sound file has been provided, but you can replace with your own copy
or else not use a sound file at all.


Aug 31, 2008
- Added checkbox to control removal of blank/empty lines PRIOR to removing duplicates.
- Added checkbox to control whether duplicate lines are deleted, or replaced with empty lines.
  These two options, in combination, can ensure that the number of lines remains the same
  after duplicates are identified. This can be important for some spreadsheet applications.
- Corresponding changes made to the optional installation program.