**********************
V Version 3.0 - Beta 2
**********************

This version 3.0 beta finally adds file searching and GREP functionality to V.
You may now search for files based on several criteria (name, size, date/time
and attributes) as well as search for files containing specified text.

Regular expressions are not yet implemented and will not be available in the
version 3.0 release. I hope to include this in version 3.1.

Other new features include:

  - Flat Text mode
  - Configurable Start Offset
  - Column Search
  - File Position Maintenance
  - Improved Goto functionality
  - Zoom Font
  - Configurable MRU Size
  - When copying/moving files, you have the option of creating the destination
    directory if it doesn't exist.
  - Different margins maintained for 2UP and Normal printing


The following sections describe these new features in further detail.

If you have any questions (or find any bugs), please email me.

As always, please keep a backup of your current V.EXE, just in case there
are any problems.

*********************
File Searching / GREP
*********************

After selecting the "Find Files/GREP" command, you will be able to
specify a File Search or Text Search by selecting the appropriate tab.

By default, the File Search lets you search for files by file spec - much
like the "Find" command from the Windows 95/NT Start menu does.

Specifying a file/directory to search
=====================================

The "Named" field specifies the file name you want to search for. This can
be a single file name or a file mask (like *.bak). You may use the same rules
here as you can when specifying a file mask in the V Directory View.
In particular, you can select multiple file masks by separating them with a
comma. For further details, see the "File Masks" entry of the "Directory View"
section of the V Help File.

The "In Directory" field specifies what directory to start searching from.
If you want to search the entire disk, you would enter "C:\". You may enter
multiple directories by separating them with a comma (eg, "C:\,D:\"), but
there is no way of telling V to *exclude* a directory from the search.

If you enable the "Current Directory" option, V will search the directory
currently being viewed.

If the "Selected Files" option is enabled, V will limit the search to the
files and/or directories that were highlighted when the search was launched.

Size, Date and Attributes
=========================

If the "Advanced" button is pressed, you may further narrow the search by
specifying a file size, date/time and attributes.

For example, you could search for all files modified today, all files that
are over 2Mb, or even all files that were modified today that are over 2Mb.

If searching by Attribute, the individual attribute fields may have one of
3 states. If it is enabled (with a tick in it), V will only match files that
have that attribute set. If the attribute is not set (no tick in it), V will
match all files that do not have the particular attribute set.

By default, the attributes are "grayed", indicating a "don't care". This
means that V doesn't care about this attribute and will not use it in
deciding whether to match the file.

The Accessed and Created times will only work if they are supported by
your file system (eg, NTFS). In particular, they will not work under
Windows 95.

However, if you do have an NTFS partition, you can very easily determine
what files have *not* been accessed for a certain period of time (like say
a year), thereby making it easy to delete any files that are no longer in use.

(You would do this be enabling "File Date" and then selecting "Accessed",
"Previous", "1 Year" and checking "Invert").

The STOP button on the toolbar will flash while the search is in progress.
Pressing the STOP button will terminate the search.

Note that you can change the search tab while the search is in progress.
For example, you can change from the Results tab to the File Search tab and
back to the Results tab without disturbing the search.

You may also go back to V and continue viewing other files while the search
is in progress.


Text Search
===========

The Text Search (GREP) extends the File Search by also looking for text
in the matching files. Only files that contain the specified text will be
displayed. Enter the text you want to find in the "Search  for" field.

The Results tab for a Text Search is different from a File Search in that
it also displays details of the lines found containing the matching text.

Searching a File List
=====================

A "file list" is a text file where each line consists of a file name.

Instead of specifying a file mask (like *.*, or *.cpp) in the
"In files named" field, you may specify a file list by entering a "@"
followed by the file name. For example, "@FileList.dat".

V will then search all files in "FileList.dat" for the specified text.

If you do not specify a fully qualified path name for the file list, V will
look for it in the directory specified in the "In Directory" field.
Similarly, if the file names in the file list do not include a directory, V
will look for them in the "In Directory".

You may also include comments in a file list by beginning a line with a
semi-colon (;).


Search Options
==============

There are four search options that allow you to control how far you want the
search to go. In each case, you must enable the option and specify a number
(referred to as "n", below).

The four options are:

  Only display first "n" file matches in each directory
  -----------------------------------------------------
  Usually, a File Search will match all files it finds. By enabling this
  option V will stop searching a directory once it finds "n" matches.

  Only display first "n" text matches in each file
  ------------------------------------------------
  By default, a Text Search will search the entire file to find all text
  matches. By enabling this option, V will stop searching the file once it
  finds "n" matches.

  Only display first "n" text matches in each directory
  -----------------------------------------------------
  V will search all files in a directory for the specified text. By enabling
  this option, V will stop searching the directory once it has matched text
  in "n" files.

  Stop after "n" matches in TOTAL
  -------------------------------
  By enabling this option, V will stop searching once it has found "n"
  matching files.


More to come
============

Although this is the third major version of V, it is only the first version
of the search/GREP functionality. I intend to make many more improvements to
this in future versions, including:

  - Regular Expressions
  - Command Line Support
  - Ability to search ZIP files
  - Improved search speed


*************
Column Search
*************

When searching a file for text, you may now restrict your search to a column
or range of columns.

You may specify a single column number, in which case only text that begins
in that column will be matched.

You may specify a column range in one of 2 ways:

  n-m    Match strings that start anywhere between columns n and m
  n-     Match strings that start anywhere after (and including) column n

You may also specify more than one column range by separating them
with commas. The following are examples of valid column specifiers:

  1               Match if text starts at column 1 (ie, start of the line)
  1-10            Match if text starts in columns 1 to 10
  1,12,80         Match if text starts in column 1 or 12 or 80
  1-5,20-29, 80-  Match if text starts in columns 1 to 5, or columns 20 to 29,
                  or starts anywhere after (and including) column 80.

Note that you may also use "columns" in hex mode. In this case, columns must
be between 0 and f.

**************
Flat Text Mode
**************

This is a cross between TEXT and HEX modes.
The file is displayed as TEXT, however, control characters like line feeds
and tabs are not expanded. The file is always wrapped at the specified
wrap length.

This is useful for displaying files of fixed length records, where records
may contain control characters (eg, packed decimal fields).

************
Start Offset
************

You may now set your own start of file position. Any data before this position
will be ignored.

To set the start offset, right-click on the position in the file where you
want to start viewing from and select View/Layout->StartOffset->StartFromHere.

Alternatively, you can specify an absolute position by selecting "Set Offset"
from the above right-click menu or from the main View->StartOffset menu.

A solid blue line will appear at the top of the file, indicating that a start
offset is being used.

Note that the start offset is not "sticky". That is, it is reset to zero once
a new file is viewed.

This is useful if you want view files with fixed line lengths, but the fixed
lines do not begin from the start of the file.

***************************
Improved Goto Functionality
***************************

The Goto dialog box now gives you two extra options:

    Goto Record#
    ------------

    A "record" differs from a "line" in that it is always a fixed length (and
    it doesn't have to end with a newline character).
    If the file being viewed consists of fixed length records, the record
    length will automatically be placed in the "Length" field. If the file
    does not consist of fixed length records, you may specify your own record
    length (although it probably wouldn't make much sense to do this).

    This is useful if you are viewing a file in chunks and want to goto a
    record which is outside the current chunk. (Note that line numbers are
    restricted to the current chunk).

    Goto Chunk#
    -----------

    This lets you jump directly to a particular chunk rather than having to
    load chunks sequentially.

*********
Zoom Font
*********

You may now easily increase (or decrease) the size of the current font by
using the + and - keys (or toolbar buttons).

This does not do a "bitmap zoom", but simply selects the next point size
in the current font. If a larger (or smaller) point size is not available,
nothing will happen.

Note that using the + key to copy text to the clipboard will no longer
work. If this is a major problem for you, please let me know.

*************************
File Position Maintenance
*************************

When viewing a file, the file position when last viewed is now restored.
This means that if you are quickly swapping between 2 files (using the
Previous/Next commands), the file positions will not be reset.

You can disable this behavior by enabling the "Do not restore file position"
option in the File Options tab of Preferences.

*********************
Configurable MRU Size
*********************

If enabled, V maintains a list of Most Recently Used (MRU) files which is
displayed under the "Recent Files" sub-menu. Until now, V remembered the last
9 files. You may now increase (or decrease) the number of files V remembers
by specifying a new MRU size (up to 50) in the "File Options" tab of
Preferences.

Note that the larger the MRU size, the more information V has to read from the
disk on startup and write to the disk on exit.


NOTE
====

If you have customized your toolbar with version 2.5, you will need to
re-customize it for version 3.0.


Charles Prineas    (charles@fileviewer.com)
29th March 1999
