Application Synopsis
Search/Replace Application Synopsis Version 7.2 for Win95/NT4.0

This Windows Win95/NT4.0 Search/Replace application was built to
allow application developers, html authors, system/network
administrators, and others to change multiple instances of a key
word, phrase, sentence, or paragraph (henceforth called a string
fragment) in many files quickly and efficiently.  It was designed to
be used stand-alone by developers, administrators, HTML authors, et
al. who need to change a piece of information in single or multiple
lines of many files located in multiple directories. New in Version
6.0, Search/Replace has taken a giant step by introducing Batch Mode.
 Batch Mode allows you define multiple search and replace string
fragments, define the file set to apply the changes to, and in one
operation replace all the search fragments with the replace fragments
in the selected file set.  It operates identically to the single
fragment mode (i.e., supports multi-line fragments, wild cards,
special characters etc.) with the exception that you may define as
many search and replace fragments as makes sense to you.  The Batch
Mode feature is only available to licensed customers.

Single Mode Search/Replace allows you to:

o   define a search and replace string fragment or use previously
    defined string fragments;
o   search and replace across multiple lines, new in Version 3.2;
o   display multi-line search and replace results on multiple lines
    new in Version 3.4;
o   define search/replace string fragments up to 32000 characters for
    the greater of the search or replace string fragment, new in Version
    5.0;
o   define long search/replace string fragments using an extended
    edit dialog to accommodate up to 32000 characters, new in Version
    5.0;
o   define DOS file like wild cards in the search string fragment,
    new in Version 4.0;
o   define DOS file like wild cards in the replace string fragment,
    new in Version 5.2;
o   DOS file like wild cards have been enhanced in Version 5.1 to
    match all characters following the * (e.g., t*rible matches
    terrible);
o   DOS file like wild cards have been further enhanced in Version 7.2
    to match across spaces when ending characters are specified * (e.g.,
   't*ter' matches 'terrible winter');
o   when more asterisk wild cards exist in the replace string than
    in the search, the text from the last search match is used for
    the excess asterisks in the replace string, new in Version 7.2;
o   use a set of special characters (discussed below), enhanced in
    Version 3.2;
o   define whether or not the search will be case sensitive (replace
    is always as entered);
o   define whether or not it must find the search string fragment as
    a whole word or allow it to be embedded;
o   control whether the replace operation will be global or a
    confirmation is required for each replace (it will allow you to
    change from confirm each to global during the confirmation process
    plus other options);
o   during a query replace, manually edit found search string
    fragments in lieu of replacing with the replace string fragment (new
    in Version 5.2);
o   now exclusively uses the large query replace dialog (new in
    Version 5.1) for enhanced decision making during replace;
o   select one or more files you want to search in one or more
    directories using an extended file dialog (all customers) or, new in
    Version 3.0, to specify a starting directory and a file filter and
    let the application add the qualifying files to the list (licensed
    customers only);
o   the Explorer style extended file dialog is introduced in Version 7.1;
o   displays long file name when spaces are included in your
    file/directory names in the log window and Search File List of
    extended file dialog (new in Version 6.0);
o   define whether to replace all instances in a line or only the
    first;
o   define the file extensions you want to Always Search or Exclude
    (prompts you when it encounters an extension not on one of these two
    lists or allows you to add it to one of two additional lists which
    are search/exclude for this session only);
o   tell the application you want to Add all files on your current
    search list to the Always Search or Search This Session Only list
    when the application finds a file extension not on one of its lists,
    new in Version 4.4;
o   include an extension to search, for this session only, from its
    Always Exclude list;
o   transparently handles DOS/Windows, UNIX, and MacIntosh
    end-of-line formats, new in Version 5.1 (discussed below);
o   abort/stop in the middle of a replace session when confirm each
    is selected;
o   abort in the middle of a global replace session by double left
    clicking on a displayed line in the active window display during a
    global replace;
o   abort in the middle of a global replace session by double right
    clicking in the active window display during a global replace, new in
    Version 4.2;
o   control whether or not the back up file that is created to allow
    abort/restore is retained or automatically deleted;
o   control whether deleted files are permanently deleted or sent to
    the recycle bin, new in Version 7.2;
o   control how to create the backup (by prepending a character to
    the existing extension or, new in Version 3.1, by defining your own
    replacement back up extension); and
o   change from search/replace to insert a string at a specific
    column in every line of the files you select (discussed below).
o   easily convert line break (newline) file formats from DOS, UNIX,
    or MAC files to DOS, UNIX, or MAC files for the selected file set,
    (new in Version 7.0).

Batch Mode Search/Replace (licensed customers only), new in Version
6.0, does all the above with the exception of stripping end of line
white spaces and inserting a string at a column plus:

o   in one operation allows you to define as many search and replace
    string fragments as makes sense to you to replace in all files in
    your search file set;
o   allows you to save the search and replaces string fragments to
    file for recall in the future;
o   allows you to double click on a file with the .sr extension in an
    Explorer window and automatically fire up Search/Replace in Batch
    Mode ready for file set selection, new in Version 6.1;
o   allows you to modify the search and replaces string fragments in
    a recalled fragment set and save the modified set under the same or
    new file name;
o   automatically detects special characters and wild cards in your
    search and replace fragments with the exception of the strip end of
    line white spaces; and
o   implements a condensed style log window for reporting
    modifications to your file set.

Search/Replace also:

o   allows you to define whether to start in Single Mode or Batch
    Mode, new in Version 6.0;
o   allows you to switch between Single Mode and Batch Mode, new in
    Version 6.0;
o   remembers its last screen/toolbar position;
o   remembers the last drive/directory you searched;
o   allows you to define how many previous search/replace string
    fragments and batch files to remember;
o   allows you to define the character it uses to create a backup of
    files it modifies or to define your own replacement extension;
o   allows you to define your own set of file filters;
o   automatically adds filter extensions containing no wild card
    characters to Search This Session Only list when you define files via
    the Start Directory and File Filter method, new in Version 3.4;
o   allows you to define an editor to launch and will launch that
    editor when you double left click on a file or file line at the
    conclusion of the search and replace operation;
o   allows you to print the results of the search and replace
    operation or save the results in a file; 
o   allows you to define the printer font size, new in Version 4.1;
o   allows you to dictate the number of lines per page to print and
    whether of not to print the "not found in" files and related details,
    new in Version 3.4;
o   allows you to define how many spaces it will use to expand tabs;
o   allows you to close all open log windows with one button click,
    new in Version 4.1;
o   allows you to tile all open Search/Replace windows vertically,
    new in Version 4.1;
o   allows you to set the default state of most check boxes, new in
    Version 4.2;
o   allows you to find a string fragment in the results log window,
    new in Version 4.3;
o   automatically detects wild cards when you select a previous
    search string and prompts for or automatically sets the Wild Card
    Session check box (Single Mode), new in Version 5.2; and
o   automatically detects special characters when you select a
    previous search string and prompts for or automatically sets the
    Special Char Session check box (Single Mode), new in Version 4.2.

Newline in Files Required:   The application expects to find newline
characters (DOS, UNIX, or Mac), as a minimum, at the end of each line
and will not process files that are not constructed in this manner. 
Newline characters are not displayed by most editors.  Files
generated by word processors may or may not fall into this category
unless they are saved in ASCII/text.  When the application encounters
file without newlines, it excludes the file from the session.

Lists Maintained by Search/Replace:   Files are generally grouped by
extension, and in today's environment, more than one type of file can
have the same extension.  As one example, Microsoft Word stores their
files, by default, in non-text format using the doc extension while
you or others may use the same extension to store files in text
format.  Search/Replace makes no assumptions about file types except
for a few universal ones such as exe, dll, and obj.  You may define
the file extensions you do and do not want included in your search. 
You need not predefine the extensions, since the application will
prompt you each time it encounters an extension it does not know
about.  The application keeps five (5) file extension lists which are
Always Search, Always Exclude, Search This Session Only, Exclude This
Session Only, and Override.  Override allows you to include an always
excluded extension for this session only.  You may predefine the
Always ... file extension types by selecting the Options menu and
then the File Type tab.

Back Ups are Automatic:   Any time a file is modified by the
application, a backup file is generated that contains the original
information.  If you choose to Abort a search/replace operation, all
files modified during the session up to the Abort point are restored
(via the back ups) to their pre-session state.  You may also decide,
after the fact, that the changes made were not "as expected" and
manually restore them yourself.  By default, a tilde (~) is prepended
to the original file's extension.  If a tilde is not to your liking,
you may change it to a valid DOS file name character of your choosing
by selecting the Options menu and then the Back Up tab.  
Alternately, you may define your own backup extension.  The
extension must be composed of valid DOS file name characters.  Using
this option, the characters beyond the last period are replaced with
your backup extension.  These back up files may optionally be
automatically deleted (permanently or to the recycle bin)  at the
conclusion of the search/replace operation by selecting No for the
Retain Back Up option in the Back Up tab.

DOS, MacIntosh, and UNIX  File Types:   In today's networking
environment, many files can be manipulated on foreign machines. 
Unfortunately, each operating system (OS) seems to like to designate
a line break (also referred to as newline) differently which can be a
major confusion factor. New in Version 5.1, you no longer have to
worry about what OS a file came from.  As a refresher:

o   DOS/Windows saves files with a carriage return (\r) - linefeed
    (\n) combination;
o   MacIntosh saves files with a carriage return (\r); and
o   UNIX saves files with just a newline (\n) to designate a line
    break.
The application now processes all three file types without
you having to worry about which "type" you have.  Unless the file is
of "type" DOS, however, you may notice in the confirm replace dialog
that you have a very long line to deal with.  That is because,
DOS/Windows doesn't recognize that it is supposed to be breaking the
line when the above characters are encountered embedded in the text
file.  Search/Replace will maintain the file type it reads,
consequently, you will see strange box like (non-printable symbol)
characters in the confirm replace dialogs if the file type is
MacIntosh or UNIX.
Be Aware:	If the file contains mixtures of DOS, MacIntosh, and/or
UNIX newlines, the first new line type encountered dictates the file
type Search/Replace assigns to the file.  When mixtures exist,
multiline searches generally fail.  To handle this problem, a
Convert line break (newline) button has been added (Version 7.0)
to the main dialog that will let you convert the line break for a
file set from its existing type to another.


Special Characters
Search/Replace recognizes a select set of special characters.
These characters are:

o   \t	horizontal tab, 
o   \v	vertical tab, 
o   \f	form feed,
o   \a	bell,
o   \b	back space,
o   \n	newline,
o   \r	carriage return,
o   ^	beginning-of-line, 
o   $	end-of-line, and
o   ~	strip end of line white spaces.
These characters may be embedded in both the Search and Replace
Strings.  These characters may be selected from the pop up this
is displayed when the SpecialChar button is selected on Search/Replace
dialog or entered by you.  Once you have added a special character
from the pop up list, the session automatically becomes a special
character session.  If you enter a special character, you must check
the Special Char Session check box for them to be treated as special
characters.

.sr File Extension:   New in version 6.1, Search/Replace will now
automatically start in Batch Mode if you double click on a previously
saved batch file with a .sr extension in an Explorer window.  The
string fragments from that file are automatically loaded and the
application is ready for you to select an operational file set.
Note:  Batch Mode is only available to licensed customers,
consequently, if non-licensed customers double click on a file having
a .sr extension, the contents of the file will be displayed in a log
window.

Switching from Search/Replace to Insert At:   There have been times when
I needed to insert a character or a character string at a specific
column of every line in a data file and had to do it manually.  As an
added bonus, the application will do that for you if you check the
Insert @ Column box in the Search/Replace Dialog.  Instead of a
search/replace application, the application magically changes to
insert at a column.  The search/replace string captions change as
well as the functionality of its controls allowing you to define the
character or string and the column (1 through 254 minus the insert
string length) where you want it inserted.  Be Aware:	Formerly
blank lines will contain the inserted string at the specified column.

String Fragment Limitation:   Search and replace string fragments are
each limited to a maximum of 32,000 characters for the larger of the
two (new in Version 5.0).  Also note , any single line exceeding
approximately 5000 characters will not be displayed in the Single
Mode log window due to an MFC (Microsoft foundation class) list box
display limitation.  Any changes in the line will occur, you just
won't be able to see them in the log window.

Display Limitation:   The application was designed to handle a huge
number of files from multiple directories.  There is a 128,000 line
display limitation that will limit the number of files you can search
and replace at one time.  The application will stop the
search/replace operation when the display line limitation is reached.
Single Mode If 32 lines are modified per file (96 display lines), the
file limitation is about 1,300 files.  If no changes are made, the
application can handle 128,000 files.  Batch Mode In Batch Mode,
modified lines are NOT displayed, consequently, up to 42,660 files
can be modified in a single operation.

Windows 95 Customers:   With Windows 95, I had hoped that the display
limitations for list boxes et. al. would no longer be a concern.  In
fact, I assumed that, only to find out that I can only display 32767
lines in a list box.  As a result, only 32000 lines are displayed per
display frame.  To overcome this limitation, I allow you to switch
display frames using the Up and Down arrow buttons on the tool bar or
selecting the Next/Previous Display Frame option from the View Menu.
New in Version 4.0, you can now jump to a specific display page using
the Right arrow button on the toolbar.  For those of you who
running NT, forget this paragraph.


