
                                        **********General Help**********

This program, EqulFlds, has facilities to help you prepare data for use in the Sort program. Specifically,
you can:

     1.     Equalize the sort fields within a file
     2.     Add one (1) or more new sort fields to an existing file

Your data must reside in one (1) or more ASCII files (text files). Each file must have two (2) more records.
record is one (1) line of data in the file. Each record contains one (1) or more sort fields. Each
field has data of a specific type. For example, the first field might contain the names of people in your
address book. A second field might contain their telephone numbers. The third might have their E-Mail
addresses. A fourth field might contain everyone's birth date. Similarly, other fields could exist, each
one containing data of a specific type.

The Sort program allows you to change the ordering of the records in your file, based on alphanumeric
sorting of the data in all the records. You can sort on any field. Using the above example, you could
sort on the names of the people. If so, the records would be rearranged alphabetically by those names.
Similarly, you could sort on birth dates. If so, the records would be arranged numerically by those dates.
Please see the documentation and online help, contained in Sort for more information on the capabilities
of that program. Sort is distributed together with EqulFlds.

The must be "properly prepared" before you can use it in Sort. That is, each sort field must start at the
same character position across all the records. And, each field must have the same length across all the
records. An example might help. Suppose you wish to sort the following data:
   
      4/19/04   7:50p        1808  C:\Maintenance\Back_Again_2000\BackUpLog
         7/09/12   5:57a        2031  C:\Maintenance\Back_Again_2000\BAII.CFG
     1/21/02  12:00p       12730  C:\Maintenance\Back_Again_2000\baii.exe
       1/21/02  12:00p       30818  C:\Maintenance\Back_Again_2000\baii.hlp
       1/21/02  12:00p      117455  C:\Maintenance\Back_Again_2000\baiibase.dll
     1/21/02  12:00p      109056  C:\Maintenance\Back_Again_2000\baiicl.dll

This data has six (6) records, each one containing four (4) sort fields. The first field has file creation
dates. The second field contains the creation times. The third has the file sizes. The last field has the
file paths.

As it stands, the data is not properly prepared. For example, the first field starts at different positions
across the 6 records. You might correct this problem by placing the data in a text editor and manually
adjusting the field spacing on each record. If so, the result might be as follows:

    4/19/04 7:50p  1808   C:\Maintenance\Back_Again_2000\BackUpLog
    7/09/12 5:57a  2031   C:\Maintenance\Back_Again_2000\BAII.CFG
    1/21/02 12:00p 12730  C:\Maintenance\Back_Again_2000\baii.exe
    1/21/02 12:00p 30818  C:\Maintenance\Back_Again_2000\baii.hlp
    1/21/02 12:00p 117455 C:\Maintenance\Back_Again_2000\baiibase.dll
    1/21/02 12:00p 109056 C:\Maintenance\Back_Again_2000\baiicl.dll

Disregarding the five (5) place indentation at the start of each record (the indentation is used here
only to set apart this data from remaining portions of the help explanation), note that the first sort
field starts at character position N 1 and has a length of seven (7) characters. This is true across all
six (6) data records. The table, below, shows the starting position and the length of the four (4) sort
fields across all 6 records:

     Sort Field  Starting    Field
          N       Position   Length

          1            1            7
          2            9            6
          3           16            6
          4           23           43

If you have many records, manually adjusting them could be time consuming and tedious. As an alternative,
use EqulFlds to "equalize" the fields. This is an automated process and the output might be as follows:

    4/19/04##??##7:50p ##??##1808  ##??##C:\Maintenance\Back_Again_2000\BackUpLog   ##??##
    7/09/12##??##5:57a ##??##2031  ##??##C:\Maintenance\Back_Again_2000\BAII.CFG    ##??##
    1/21/02##??##12:00p##??##12730 ##??##C:\Maintenance\Back_Again_2000\baii.exe    ##??##
    1/21/02##??##12:00p##??##30818 ##??##C:\Maintenance\Back_Again_2000\baii.hlp    ##??##
    1/21/02##??##12:00p##??##117455##??##C:\Maintenance\Back_Again_2000\baiibase.dll##??##
    1/21/02##??##12:00p##??##109056##??##C:\Maintenance\Back_Again_2000\baiicl.dll  ##??##

Above, "##??##" is "personal delimiter", that separates the various fields. You can specify one of your
own choosing.

In the example, EqulFlds placed a single space after "7:50p" in the first record and also after "5:57a" in
the second record. A space is required because the time field is six (6) characters in length in all the
other records. The field was only five (5) characters in the first two. Also, EqulFlds placed two spaces
after "1808" in the first record. That is true, because the file size field contains six digits numbers in
the last two records. After using EqulFlds we now have:

     Sort Field  Starting    Field
          N       Position   Length

          1            1            7
          2           14            6
          3           26            6
          4           38           43

NOTE: The personal delimiter, "##??##", is not included in any field length.


In addition to the problem of equalizing the fields, you might have data that you want to sort together,
but located in different files. You could combine the data into a single file by importing it into different
columns of a spreadsheet and then exporting all the data to a file. A more straightforward process
is to use the "add" facility in EqulFlds.


NOTE: In the address book example, each sort field has data of a different type, but the fields are all
related. They contain information from each person in your address book. Generally, that is true, but it
does not have to be. It is possible that you might want to sort unrelated data.




                                        *******Help on Equalizing Sort Fields*******

This program helps you to "equalize" the sort fields in an ASCII data file. Equalize means preparing the
data so that:

     1.     Each given field starts at the same character position across all the records.
     2.     Each given field is the same length across all the records.

Equalizing the fields is one of the requirements for "properly preparing input data" for use in the Sort
program. Sort and current program, EqulFlds, are distributed together as a package. Please execute
Sort and consult its online help and documentation.

To equalize the fields, you must complete the following tasks within this program:

     1.     Select the Radio Button, "Equalize the sort fields across all records, contained in a data file".
     2.     Specify the number of sort fields contained in the data file.
     3.     Specify the delimiter that separates each pair of fields.
     4.     If necessary, specify the treatment of multiple delimiters.
     5.     Select the data file.
     6.     Press the "OK" button in the Browse graphical user interface (GUI) window.

After you select the Radio Button (the first task), a Spin Button, a Text Tool and an Entry Field become
visible. The Spin Button entitled, "Specify the number of fields contained in the data file", defaults to
the value of two (2). Use it as indicated, to specify up to ten (10) sort fields.

The Text Tool states: "Specify the delimiter(s) existing between the various fields". The single, default
Entry Field states: "Between fields 1 and 2". As indicated in these messages, enter the exact delimiter
that exists between sort fields 1 and 2. The delimiter can be any character, or set of characters, that
delineates the actual separation of the two (2) fields. Often, it is a space, a tab or a comma. These
are well-known methods of delimiting, used in various in text files. Whatever it is, it must be the actual
character-based entity that separates the two (2) sort fields. You can enter a set of characters as
wide as twelve (12) capital W's. (that is, "WWWWWWWWWWWW", without the quotation marks).

A new Entry Field becomes visible after you cycle the Spin Button up to the next larger number. For
example, with the Spin Button at three (3) the next Entry Field states: "Between fields 2 and 3". As
indicated, enter the exact delimiter that separates those two (2) fields.

More or fewer Entry Fields become visible, when you cycle the Spin Button up or down. Enter the
appropriate delimiter information in each Entry Field, as indicated.

The Main form GUI has three (3) Radio Buttons to specify how to handle a set of multiple delimiters
between the various fields. You can:

     1.     Treat multiple same delimiters as a single delimiter set.
     2.     Treat multiple different delimiters as a single delimiter set.
     3.     Not consider multiple delimiters at all (the "Reset" Radio Button).

The first choice allows the program to consider multiple instances of the same delimiter, all grouped
together, as a single delimiter. That would be helpful if, for example, two (2) or more spaces separate
the fields.

The second choice allows the program to consider instances of different delimiters, all grouped together,
as a single delimiter. That would be helpful if, for example, space and tab delimiters are grouped together.

The "Reset" button allows you to unselect either of the above two (2) Radio Buttons. That is, you can
elect to not consider sets of multiple delimiters.

Finally, press the "OK" button to locate the data file that contains your sort fields. Doing so opens the
Browse window. Select your file in Browse and press the "OK" button near the bottom of that window.

The "OK" button remains disabled in the Main form window, until you specify all the delimiters between 
the various fields. That is, you have to write something in each Entry Field to enable it. In the Browse
window the "OK" button remains disabled, until you select a data file.


NOTE: The program separates the sort fields by using the specified delimiters within the REXX "Parse"
function. Unfortunately, it cannot use numerical delimiters to separate the fields, treating them as
"Parse" positional templates. In other words, the program cannot use the positional template facility
within "Parse". Instead, it will only look for the numbers as actual delimiters. Finally, the program may
not correctly locate and equalize the fields, if a delimiter appears within a field, instead of only between
them. Spaces, commas and tabs are examples of commonly used text file delimiters, ones which also
appear as legitimate characters within the data fields.

NOTE: You can equalize a set of records that contains only one (1) field. That is true, even though the
Spin Button has a minimum value of two (2) fields. Simply do the following:

     1.     Set the Spin Button at the default value of two (2).
     2.     Specify a set of characters for the delimiter, that is not present in the data file.
     3.     Press the "OK" button in the Main window, thereby enabling the Browse window.
     3.     Specify the same delimiter as your personal delimiter in the Browse window.
     4.     Locate your data file in the Browse window.
     5.     Press "OK" in Browse.




                                        *******Help on Adding New Sort Fields*******

This program helps you to add one (1) or more new sort fields to an existing ASCII data file (text file).
You must complete the following tasks to add new fields:

     1.    Select the Radio Button, "Add one or more new sort fields to an existing ASCII data file".
     2.    Specify the number of fields that you will add.
     3.    Press the "OK" button in the Main window, thereby enabling the Browse window.
     4.    Select the data file that contains the existing field(s).
     5.    Press "OK" in Browse.
     6.    Select the data file that contains the first field that you are adding.
     7.    Press "OK" in Browse.
     8.    Select each additional file, if any, that contains a field you are adding.
     9.    Press "OK".

After you select the Radio Button (the first task), a Spin Button entitled, "Specify the number of fields
that you will add to the data file", becomes visible. The button defaults to the value of one (1). Use it
as indicated, to add up to nine (9) new fields.

Finally, press the "OK" button to locate the existing data file and the one or more files that contain the
new fields. Note, each new field must be on a separate data file (one field per file).


NOTE: The action performed here is to add new fields. The fields are not equalized.

NOTE: The program provides a facility to place your own personal delimiter between the various fields
(fields that are added, not already existing ones). We recommend that you ALWAYS use a personal
delimiter. It makes the task of equalizing easier to perform, should you want to do so. Also, there are
other advantages.

NOTE: If you are adding fields and later will equalize them, try not to specify a personal delimiter under
both actions (add and equalize). Doing so will result in a duplication of that delimiter between the fields.
The length of each record might be excessively increased, if the delimiter has a large number of characters
and/or you have many fields. REXX can handle data reads from files that have line lengths exceeding exceeding
1024 characters, so that might not be a problem. However, your file size could become excessive, the file reads
will consume more time and the requested data sorts will be slower. Some programs, such as spreadsheets and
text editors, may not handle the data, if line lengths exceed a certain value.

If you decide to use a personal delimiter under both actions, try to keep its length to the minimum required
to make it a unique set of grouped-together characters (a good idea in any case). Make it unique, other than
possibly the delimiters already existing between the fields under an equalize action.

If you use a personal delimiter, the add action will only place it between the first added field and the
last field in your existing data and also between any additional added fields. It does not place the
delimiter between any already existing fields (the data file specified in item N 4, above). Therefore,
if you later decide to equalize the same data, it might be advantage to use a personal delimiter in both
actions. After equalizing all the fields will have your delimiter between them. Now, you can clearly
distinquish each and every field in each record. The equalize action will also provide the the starting
character positions and field length values for use in the Sort program. Should decide to manually
manipulate the records before sorting, you can easily determine its affect on starting position and
length data. Finally, you can use other means, such as a spreadsheet, to later remove the delimiters,
should you decide to do so.




                        **********Help on Locating the File You Want to Equalize**********

Locate your data file by pressing the "OK" button on the Main form graphical user interface (GUI). The
Browse window will then appear. Starting at the top and proceeding to the bottom, it has the following
facilities and controls to help you find and select your file:

     1.     A message area, showing you the currently selected drive, folder or file
     2.     A Check Box to retain the configuration of the window at its next opening
     3.     A Check Box to display removable media and networked drives (volumes)
     4.     A Check Box to not remember open subfolders inside of subfolders
     5.     One or more drive (volume) selection Radio Buttons
     6.     A List Box, showing all of the folders on the selected drive
     7.     A List Box, showing all of the files in the selected folder
     8.     A Check Box to use your own personal delimiter to separate the equalized field(s)
     9.     A Entry Field to write in your personal delimiter
    10.     An "OK" button
    11.     A "CANCEL" button
    12.     A "HELP" button

Use the message to identify what you are selecting in the 2 List Boxes. The beginning portion of the
message tells you the selection object type: a drive, folder or file. The second portion, after the
semicolon, tells you the path to the selected drive, folder or file. If the path description is too long to
fit in the message area, the program shows you the first part of the path, followed by a " ..., ", followed
by the last part of the path. For example, it might show:

     C:\Acrobat\AcrobatReader51Pre1\Adobe\Acrobat 5.0\ ..., \ZY______.MMM

The first Check Box, near the top of the window, allows you to retain your Browse window configuration after
pressing the "CANCEL" button. You can later go back to the Browse window (reenter it). You will see the same
selections that you had, when you last left it. This works only if the Check Box is checked, when you press
the "CANCEL" button (the opening default for this window). If it is not checked, you will not retain your
selections, if you later return. It does not matter what you do to the control before pressing "CANCEL".
You can toggle it to your liking. It's status when you press "CANCEL" determines whether or not you retain
your selections. It only works with the "CANCEL" button. If you press "OK", we assume that you have found
your data file. The program will then proceed to equalized the fields, outputting the result to a new file.

NOTE: You might experience a slight delay, if you reenter Browse after pressing "CANCEL" and the
Check Box is selected. Your system may require several seconds to redraw the window.

The second Check Box from the top allows you to select removable media and networked drives on
on your system (floppy, CD and DVD drives, for example). You must check this control to select any of
these drives. The opening default is unchecked for this control.

The third Check Box allows you to retain, or not retain, your selection of "opened" subfolders inside of
selected folders on the "Folders List Box". This is the List Box that shows the various folders on a selected
drive. It displays them a cascading treelike structure. The initial display shows only the first
level of folders on the drive (level 1 folders). It does not show any of the subfolders that may exist
inside the level 1 folders. If a given folder has a plus sign ("+") to the left of its name, that folder has
1 or more subfolders. The plus sign indicates that you have not "opened" that folder to display its subfolder(s).

Select any folder that has a + sign. Select it by clicking on it anywhere, including on the + sign. The +
sign changes to a minus ("-") and a cascading sublevel now appears, indented slightly to the right. The
sublevel shows all of subfolders of the selected folder. These are next level folders (level 2). If any
folder on this level has subfolders, it also has a + sign to the left of its name. If desired, you can continue
to select + signs at this or any level, thereby opening, or displaying, the subfolders of a given
folder. In this way you can display the cascading subfolders down to any level that contains subfolders.

In a similar fashion you can also select any folder that has been opened (one that has a - sign). Doing
so will collapse the view of all the subfolders underneath. They will all disappear from view and the
- sign becomes a + sign. If you later decide to reopen this folder, all of the cascading subfolders, that
you previously opened underneath it, if any, will reappear. You do not have to reopen them. This behavior
will occur as along as the Check Box entitled, "Do not remember opened subfolders inside of subfolders",
emains unchecked (the default for the Browse window).

Next, locate the set of drive Radio Buttons on the window. These buttons display the drives (volumes)
on your system and allow you to select the one that contains your file. When you select a particular
drive, the List Boxes display the level 1 folders on that drive and the files that reside in the drive root
directory, if any. A small delay may occur before the List Boxes display their information. The computer
must read and retrieve the data from hardware. This type of data access is typically the slowest.

If you select the Check Box for removable media and network drives, those drives also appear in this
section of the window. If you toggle the removable media and network drives Check Box, you will reset
the selections that you previously made. No drives will be selected and the List Boxes will not show
any folders or files.

Next, the List Box on the left side of the window shows all of the folders on a selected drive. The use
and operation of this control has already been explained. Please see the above discussion on the "Do
not remember opened subfolders inside of subfolders" Check Box.

The List Box on the right side shows the files that reside in the folder selected on the Folders List Box.
If no files are shown, the selected folder does not contain any. Nevertheless, you must select a file,
displayed in this List Box, to complete the data file selection. Please note, you must select an ASCII
(text) data file, the one that contains all the desired records. Each record must contain the appropriate
data fields, the same number you selected on the Main form GUI. Nothing prevents you from selecting the
wrong file, or an inappropriate one (non-ASCII, for example). If you select wrongly, the field
equalization will not be successful.

Next, you can place a special delimiter, one of your own choosing, between the equalized fields. Do so
by selecting the Check Box entitled, "Use a personal delimiter to separate the various fields". An Entry
Field will appear, where you can specify the delimiter. Choose a set of characters not present in any
of your data records. Use one that contains a combination of special characters ("#", "?", and "%", for
example) and alphanumeric characters, unlikely to be present in the records.

We recommend that you ALWAYS use a special delimiter. It provides the following advantages:

     1.     You can clearly see the individual sort fields in each record.
     2.     You no longer have to work around common delimiters, such as spaces and tabs.
     3.     The delimiter does not affect sorting in Sort program.
     4.     You can easily remove the delimiter, if needed, at a later time.

Note that the equalize program inserts the appropriate number of spaces at the end of each field to
make each have the same length across all the records. That is a requirement for correct operation
of the Sort program (see the online help from Sort). But now the problem becomes the fact that
the sort fields have one or more spaces at their ends. That makes it difficult to continue using spaces
as delimiters between fields. Methods that you might use to separate the fields at a later time may
not work. For example, how can you programmatically determine that a particular space is part of a
delimiter, versus part of the field equalization, versus a legitimate character, contained within a field?

It would very difficult to do so. The same comments apply to any character that might be found within
the sort fields and commonly used as a delimiter. Tabs and commas are examples of these. Therefore,
switch to a different delimiter, immediately. Use a combination of special and alphanumeric characters
that does not exist within any field.  Create a personal delimiter to avoid these problems.

After you have completed all the required operations with data records (equalizing the fields, adding
more fields and/or sorting the data) you can remove the delimiter. One easy method is to import the
data into a spreadsheet and specify your personal delimiter as the entity that separates the fields. Another
method is to use the "PARSE" function in a REXX script.

The personal delimiter is especially important, if you are equalizing only one (1) sort field. With only one
field you can clearly see and maintain the spaces at the end of each record. That is true because they
are followed by two (2) delimiters in each single field record. It is unlikely that the spaces will be
inadvertently removed by another process, such as importing the data into a spreadsheet.

Next, the "OK" button becomes enabled after you select a file. Select the correct one, then press "OK"
to complete the field equalization process. The program leaves your data file unchanged and places
the equalized fields in a new file:

     EqualizeFields_MMDDYYYY_HHMMSS.TXT
     
Within that name, "MMDDYYYY" is the file creation date, with "MM" being the two (2) digit month number, "DD"
is the 2 digit day number and "YYYY" is the four (4) digit year number. "HHMMSS" is the file creation time,
with "HH" being the 2 digit hours, "MM" is the 2 digit minutes and "SS" is the 2 digit seconds. The program
saves "EqualizeFields_MMDDYYYY_HHMMSS.TXT" to the same location as your data file.

IMPORTANT! IMPORTANT! The first nine (9) lines in "EqualizeFields_MMDDYYYY_HHMMSS.TXT" contain
information on the (character) starting position and length of the equalized fields. You will need that
information to sort the records, contained in "EqualizeFields_MMDDYYYY_HHMMSS.TXT". It becomes part
of the sort parameters, used in Sort. "EqualizeFields_MMDDYYYY_HHMMSS.TXT" then becomes the data
file. You must erase the first nine (9) lines before using it as the data file. IMPORTANT! IMPORTANT!

Finally, press "CANCEL", if you are not ready to complete the field equalization. The program will return
you to the Main window.




                        **********Help on Locating the Files You Want to Add**********

Briefly, locate your data files by pressing the "OK" button on the Main form graphical user interface
(GUI). The Browse window will appear. Locate your data files in this window. These consists of the
following:

     1.     The file that contains your existing data field(s).
     2.     Each file, containing a single field that you will add.

Press "OK" in the Browse window after selecting (locating) each file. The program will complete the
add action after you select the last file and press "OK".


Starting at the top of the Browse window and proceeding to the bottom, it has the following facilities
and controls to help you find and then select your files:

     1.     A message area, showing you the currently selected drive, folder or file
     2.     A Check Box to retain the configuration of the window at its next opening
     3.     A Check Box to display removable media and networked drives (volumes)
     4.     A Check Box to not remember open subfolders inside of subfolders
     5.     One or more drive (volume) selection Radio Buttons
     6.     A List Box, showing all of the folders on the selected drive
     7.     A List Box, showing all of the files in the selected folder
     8.     A Check Box to use your own personal delimiter to separate the added field(s)
     9.     A Entry Field to write in your personal delimiter
    10.     An "OK" button
    11.     A "CANCEL" button
    12.     A "HELP" button

Use the message to identify what you are selecting in the 2 List Boxes. The beginning portion of the
message tells you the selection object type: a drive, folder or file. The second portion, after the
semicolon, tells you the path to the selected drive, folder or file. If the path description is too long to
fit in the message area, the program shows you the first part of the path, followed by a " ..., ", followed
by the last part of the path. For example, it might show:

     C:\Acrobat\AcrobatReader51Pre1\Adobe\Acrobat 5.0\ ..., \ZY______.MMM

The first Check Box, near the top of the window, allows you to retain your Browse window configuration
after pressing the "CANCEL" button. You can later go back to the Browse window (reenter it).
You will see the same selections that you had, when you last left it. This works only if the Check Box
is checked, when you press the "CANCEL" button (the opening default for this window). If it is not
checked, you will not retain your selections, if you later return. It does not matter what you do to the
control before pressing "CANCEL". You can toggle it to your liking. It's status when you press "CANCEL"
determines whether or not you retain your selections. It only works with the "CANCEL" button. If you
press "OK", we assume that you have found your data file. The program will then proceed through the
remainder of the add fields process, outputting the result to a new file.

NOTE: You might experience a slight delay, if you reenter Browse after pressing "CANCEL" and the
Check Box is selected. Your system may require several seconds to redraw the window.

The second Check Box from the top allows you to select removable media and networked drives on
on your system (floppy, CD and DVD drives, for example). You must check this control to select any of
these drives. The opening default is unchecked for this control.

The third Check Box allows you to retain, or not retain, your selection of "opened" subfolders inside of
selected folders on the "Folders List Box". This is the List Box that shows the various folders on a selected
drive. It displays them a cascading treelike structure. The initial display shows only the first
level of folders on the drive (level 1 folders). It does not show any of the subfolders that may exist
inside the level 1 folders. If a given folder has a plus sign ("+") to the left of its name, that folder has
1 or more subfolders. The plus sign indicates that you have not "opened" that folder to display its subfolder(s).

Select any folder that has a + sign. Select it by clicking on it anywhere, including on the + sign. The +
sign changes to a minus ("-") and a cascading sublevel now appears, indented slightly to the right. The
sublevel shows all of subfolders of the selected folder. These are next level folders (level 2). If any
folder on this level has subfolders, it also has a + sign to the left of its name. If desired, you can continue
to select + signs at this or any level, thereby opening, or displaying, the subfolders of a given
folder. In this way you can display the cascading subfolders down to any level that contains subfolders.

In a similar fashion you can also select any folder that has been opened (one that has a - sign). Doing
so will collapse the view of all the subfolders underneath. They will all disappear from view and the
- sign becomes a + sign. If you later decide to reopen this folder, all of the cascading subfolders, that
you previously opened underneath it, if any, will reappear. You do not have to reopen them. This behavior
will occur as along as the Check Box entitled, "Do not remember opened subfolders inside of subfolders",
remains unchecked (the default for the Browse window).

Next, locate the set of drive Radio Buttons on the window. These buttons display the drives (volumes)
on your system and allow you to select the one that contains your file. When you select a particular
drive, the List Boxes display the level 1 folders on that drive and the files that reside in the drive root
directory, if any. A small delay may occur before the List Boxes display their information. The computer
must read and retrieve the data from hardware. This type of data access is typically the slowest.

If you select the Check Box for removable media and network drives, those drives also appear in this
section of the window. If you toggle the removable media and network drives Check Box, you will reset
the selections that you previously made. No drives will be selected and the List Boxes will not show
any folders or files.

Next, the List Box on the left side of the window shows all of the folders on a selected drive. The use
and operation of this control has already been explained. Please see the above discussion on the "Do
not remember opened subfolders inside of subfolders" Check Box.

The List Box on the right side shows the files that reside in the folder selected on the Folders List Box.
If no files are shown, the selected folder does not contain any. Nevertheless, you must select a file,
displayed in this List Box, to complete the data file selection. Please note, you must select an ASCII
(text) data file, the one that contains all the desired records. Each record must contain the appropriate
data fields, the same number you selected on the Main form GUI. Nothing prevents you from selecting the
wrong file, or an inappropriate one (non-ASCII, for example). If you select wrongly, the add fields
process will not be successful.

Next, you can place a special delimiter, one of your own choosing, between the added fields. Do so
by selecting the Check Box entitled, "Use a personal delimiter to separate the various fields". An Entry
Field will appear, where you can specify the delimiter. Choose a set of characters not present in any
of your data records. Use one that contains a combination of special characters ("#", "?", and "%", for
example) and alphanumeric characters, unlikely to be present in the records.

We recommend that you ALWAYS use a personal delimiter. It provides the following advantages:

     1.     You can clearly see the individual sort fields in each record.
     2.     You no longer have to work around common delimiters, such as spaces and tabs.
     3.     The delimiter does not affect sorting in Sort program.
     4.     You can easily remove the delimiter, if needed, at a later time.

Note that the equalize program inserts the appropriate number of spaces at the end of each field to
make each have the same length across all the records. That is a requirement for correct operation
of the Sort program. But now the problem becomes the fact that the sort fields have one or more spaces
at their ends. That makes it difficult to continue using spaces as delimiters between fields. Methods
that you might use to separate the fields at a later time may not work. For example, how can you
programmatically determine that a particular space is part of a delimiter, versus part of the field
equalization, versus a legitimate character, contained within a field?

It would very difficult to do so. The same comments apply to any character that might be found within
the sort fields and commonly used as a delimiter. Tabs and commas are examples of these. Therefore,
switch to a different delimiter, immediately. Use a combination of special and alphanumeric characters
that does not exist within any field.  Create a personal delimiter to avoid these problems.

After you have completed all the required operations with data records (equalizing the fields, adding
more fields and/or sorting the data) you can remove the delimiter. One easy method is to import the
data into a spreadsheet and specify your personal delimiter as the entity that separates the fields. Another method
is to use the "PARSE" function in a REXX script.

Next, the "OK" button becomes enabled after you select a file. Select the correct one, then press "OK".
Select each required file and press "OK". You must select the file that contains your existing field(s)
and a file that contains each single field that you are adding. The file that has the existing fields may
have several of them. However, each added field must be on a single file. The Sort program will handle
a maximum of ten (10) fields. Using the Add facility, however, it is possible to place more than ten fields
in a resulting file. For example, if you have nine (9) fields on an existing file and attempt to add two (2)
more, this program will let you do so. If you then attempt to sort those fields, the results will be unpredictable,
perhaps not what you desire.

This program leaves your data files unchanged and places the existing and added fields in a new file:

     AddFields_MMDDYYYY_HHMMSS.TXT
     
Within that name, "MMDDYYYY" is the file creation date, with "MM" being the two (2) digit month number,
 "DD" is the 2 digit day number and "YYYY" is the four (4) digit year number. "HHMMSS" is the file
creation time, with "HH" being the 2 digit hours, "MM" is the 2 digit minutes and "SS" is the 2 digit seconds.
The program saves "AddFields_MMDDYYYY_HHMMSS.TXT" to the same location as your data file.

Finally, press "CANCEL", if you are not ready to complete the add fields process. The program will return
you to the Main window.




                                        ********Enabling the "OK" Button Help********

There are two (2) "OK" buttons. One is on the Main form graphical user interface (GUI). The other is
on the Browse GUI. Both buttons are initially disabled at the opening of each window.

Use the following procedure to enable the "OK" button on the Main form GUI:

     1.     Select your "desired action". That is, press exactly one of the following Radio Buttons:
                 A.     "Equalize the sort fields across all the records contained in a data file".
                 B.     "Add one or more new sort fields to an existing ASCII data file".

     2.     For the "equalize" action, do the following:
                 A.     Select the number of fields contained in the data file.
                 B.     Specify the delimiter that separates each field in the file.
                 C.     If needed, select the treatment of multiple delimiters.


     3.     For the "add" action, specify the number of fields that you will add to your data file.
 
The "OK" button becomes enabled for the equalize action only after you specify all the delimiters. You
do not have to specify the treatment of multiple delimiters. You should do so, however, if it is needed,
before you use (press) "OK".

For the add action "OK" becomes enabled immediately after selecting that action. You do not have to
adjust the Spin Button for the number of fields. You should do so, however, if it is needed, before you
select "OK".


For the Browse GUI the "OK" button becomes enabled only after you select a file. For the equalize action
you select only one file. It is the one that contains the records you want to equalize. Press "OK" to complete
the equalize action and output the result to a file.

For the add action you must select more than one file. The first selection will be (must be) the file that
contains the records upon which you will add one or more new fields. The "OK" button becomes enabled
after you complete that selection. Press it to lock that file into the add action. The button then becomes
disabled. Next, select the first file that has a field that you are going to add. The button is now enabled.
Press it to lock in that selection to the add process. The button becomes disabled. In a similar fashion,
select each additional file, if any, that contains a field you are adding. Press "OK". After pressing "OK"
for the last added field, the program completes the add action and outputs the result to a file.

HCM, 10/12/2012.
