:On-Line Help for LGUIDES source code documentation system.

Brief description is found in README.TXT.
Vendor information is found in VENDOR.TXT.
Pricing and order information in ORDER.TXT

WARNING: IF YOU ALTER A SINGLE BYTE IN THIS FILE
UNREGISTERED LGUIDES WILL NO LONGER RUN!

(You may find it easiest to read this from inside the
LGUIDES program.)

@@@GENERAL
@@INTRODUCTION
LGUIDES:  A Function Documentation Extractor/Viewer$
SHAREWARE VERSION 2.15 (FREE in viewer mode)$
All Rights Reserved.

by: Lloyd Standish
    Zapotal de Nandayure
    Guanacaste
    Costa Rica 

email: standish@sol.racsa.co.cr  or  lmstan@sedona.net$ 
Website: http://users.sedona.net/~lmstan/Products.htm$
Distribution File: LGUID215.ZIP$
(For new features in this version, see VERSION HISTORY.)

LGUIDES is used to browse and maintain function header
documentation adhering to the ~NANFORUM ~TOOLKIT function
header protocol (applies to any programming language- see
the PROTOCOL help topic).  

When the source code is present on your hard disk,
LGUIDES can do ~ONE-CLICK ~UPDATING of the documentation
databases directly from the source files' function
headers.  When this 'UPDATE' option is selected, LGUIDES
will normally scan all your source code files and extract
function header documentation only from those files that
were modified since the last such update. The process is
far easier and faster than any schemes to build NORTON
GUIDES or EXPERT HELP make files to be compiled by those
products.

As a documentation viewer, LGUIDES is similar in some
respects to the familiar NORTON GUIDES reader.  However,
the LGUIDES viewer offers features unavailable in NG and
similar programs, and lacks very few. 

I wrote LGUIDES because I was overwhelmed by the task of
writing and especially maintaining the documentation to
my Clipper class and functions libraries, which were in
a constant state of development.  I was very often
referring directly to my source code for syntax and
other information.  (Does that sound familiar?) 

LGUIDES allows you to document ONLY the source code, in
the function headers (where the documentation ~should
be).  When you run LGUIDES, any function records that are
out-of-date (older than the source code) show up in a
different color.  Updating all such records from the
source code is a one-click affair.  

To distribute a function library, all you have to do is
choose the EXPORT option to make a project documentation
file (extension .LGP) drawn from the LGUIDES databases. 
This LGP file contains all the documentation for a
"project," and will be up-to-date with the latest source
code documentation. (This is a registered-only option.
See the EXPORT help topic.)  

You can then ship the LGP file and LGUIDES with your
library. There is no registration fee or shareware
message for the recipients, since LGUIDES is freeware
when used only to view/browse documentation.  

Your distributed documentation is safe from posterior
unauthorized alteration, due to:

1. Total-file CRC check
2. Function-by-function encrypted CRC check

When used to read documentation from source code, the
registration fee is $35.  This includes free updates
within the current major revision number.  

(See redistribution information in the VENDOR.TXT file.)

LGUIDES is not a TSR, but rather is a full-sized CLIPPER
executable which is best run under WINDOWS (or another
DOS-compatible multitasking OS.)  From your program
editor or IDE, switch to LGUIDES with ALT+TAB, etc. 

@@HELP SYSTEM 
F1 gives context-sensitive (pre-selected) help, but the
entire help system text is always available. 

The help system file is LGUIDES.TXT and can be viewed or
printed by other programs.  To print it from LGUIDES,
choose 'Print/View File' from the REPORT menu item in any
of the browse windows.  Be careful not to alter
LGUIDES.TXT; it you do, the program will not run. 
 
Browse topics in the left-hand column.  Note that there 
is a first-letter search.

If a topic has more text than will fit in the right-hand
text window, arrows () will appear in the lower and/or
upper right corners.  To read/scroll this text, switch
over to the text window by pressing ENTER, TAB, Right
Arrow, or by clicking with the mouse outside of the
topics window. 

While reading text in the right window, the up and down
arrows scroll.  (You can also scroll up/down by
left-clicking and holding on the upper/lower screen
halves.)  Move ahead/back by pages with PgDn and PgUp.  

Note that even while the right (text) screen is active,
you can jump directly to another topic with a mouse
click.  Or, return to the topics window with ENTER, TAB,
ESC, Left Arrow or the right mouse button. 

@@DISCLAIMER
The usual disclaimers apply:

This software and manual are sold "as is" and without
warranties as to performance or merchantability or any
other warranties whether expressed or implied. Because of
the various hardware and software environments into which
this program may be put, no warranty of fitness for a
particular purpose is offered. We will not be liable for
any special, incidental, consequential, indirect or
similar damages due to loss of data, inability to use
this program, or any other reason, even if we or our
agent have been advised of the possibility of such
damages.  

The user must assume the entire risk of using and
evaluating this program. Any liability of Lloyd Standish
will be limited exclusively to product replacement or
refund of purchase price. If you find these terms
unacceptable, do not use this product. 

@@CREDITS
(All of the source code cited in this section was
acquired from the EMS software collection. EMS is a great
source of public domain and shareware programmer's tools.
See the EMS help topic.)  

The idea for writing LGUIDES came from Leo Letendre's
FT_DOC program, which he wrote to make the files
necessary to build NORTON GUIDES databases from source
files using the NANFORUM documentation protocol.  

LGUIDES uses Leo Letendre's excellent mouse interface
functions for Clipper, which are in the public domain.

The multiple-window data browser (not a TBROWSE
derivative) has its origin in an inspiring public-domain
function  by Kevin E. Saffer called KBROWSE, which I have
extensively modified. It is found in the EMS collection.

The blazing-fast black and white raw source code viewer
used in LGUIDES is by Mike Taylor and is part of the
NANFORUM TOOLKIT.

Thanks to Ted Means for his excellent low-level routines
in assembly language. 

I also extend my thanks to all the participants in the
NANFORUM TOOLKIT project.

@@EMS
EMS
505 Buckhurst Ct.; Olney, MD 20832-1830; USA.
Voice phone:+1(301)924-3594, Fax:+1(301)963-2708.
Internet:ems@wdn.com http://www.wdn.com/ems

@@EXAMPLES
The 3 example source code files are included to allow
the user to experiment with using LGUIDES with source
code. 

The example files are part of Mr. Leo Letendre's
excellent moused interface functions.  Their inclusion
here does not imply endorsement by Mr. Letendre, and has
been done without his knowledge.  

For more information on these functions, see the
EXAMPLES.TXT. file.  For source code availability, see
the EMS help topic. For instructions on "installing" the
source code files, see the 'DOC EXTRACTION' help topic.  

@@ESPAOL
Puedo proporcionar una versin en espaol si desea. En el
formulario de pedido especifique la versin en espaol.
Todas las salidas del programa se dan en espaol, pero
hasta ahora no he traducido este archivo de ayuda.

Si quiere el programa con la ayuda en espaol, indique
su deseo en el formulario a la hora de registrar el
programa, o posteriormente por correo electrnico. La
traducir al espaol si 5 personas dueas de una
licencia para LGUIDES me lo piden.

@@REGISTRATION
If you received LGUIDES with a function library and do
not use LGUIDES to read documentation from any source
code files, you are not required to register LGUIDES.

Those who DO use LGUIDES to extract documentation from
source code must register the program with me for ~$35
within 60 days. If you do not register LGUIDES within
this evaluation period, the documentation extraction
options are deactivated.  

To register, please print and fill out ~ORDER.TXT. 

The license code I send registrants gives unlimited
access to the documentation extraction options, and of
course removes the reminder screen when source code files
are analyzed. Also, the EXPORT option, which builds
distribution files for any project, is enabled. 

For more up-to-date registration information, LGUIDES
updates and FAQ sheets, special offers, and other
shareware and ~freeware programs, please visit our Web
Page at http://users.sedona.net/~lmstan/StanHome.htm.

@@REQUIREMENTS
Load size 319 K. (Real mode)

For best results, provide the program with 1 meg of
expanded memory (EMS), which can be provided by Windows.

Windows is highly recommended, both for improved
performance as well as multi-tasking ability.  You will
want to run LGUIDES as a Windows task that is
periodically switched to. 

@@NETWORKS
I have programmed this with a network environment in
mind. However, as of this release, it is ~untested under
a LAN, and therefor probably will not work flawlessly.
Please report your experiences.

@@FEATURE SUMMARY
1. Maintains source code documentation on any number of
   ~projects (akin to NG "Databases"), each having any
   number of ~categories. 

2. ~Extracts source code documentation from source code
   files that adhere to the documentation protocol of the
   NANFORUM TOOLKIT public domain Clipper functions
   library. (See the PROTOCOL help topic and the files
   FTHDR.PRG and FTHDR.ASM.)  

3. Can ~write the CATEGORY keyword into your source code.
   When programming, leave this field blank or with the
   words "To Be Assigned." Can also ~change the CATEGORY
   keywords for a given source file, writing into the
   file. 

4. ~Updates your help databases from source files when
   source files have newer time-date stamps than the
   database info. 

5. If you move your files around, lets you easily locate
   them, then ~fixes ~all ~the ~path ~information for all
   affected function records. 

6. Uses a special multiple ~browser (not a TBROWSE
   variant) that allows both category and functions
   databases to be displayed simultaneously. Has both
   WHILE-limited and entire-database browsing features. 

7. Allows indexed incremental ~searching by category,
   function name, source extension, path, and source file
   name. Indexes are changed automatically when you
   change columns in the browser. 

8. Wild searches tag-and-show only found records, which
   you can then browse, print, etc.. 

9. Includes the familiar SEE ALSO hypertext links to
   related topics. 

10. Makes project distribution files for shipping your
    function library documentation. (Registered users
    only.)  

11. Unauthorized alteration of all LGUIDES databases is
    prevented by dynamic CRC checking of function
    header documentation.

12. Can generate detailed reports of update activities
    and any errors encountered. 

AND MUCH MORE$

@@PROTOCOL
This program works with source code adhering to the
Nanforum ToolKit protocol for function headers. 

The Toolkit is  a public domain, user-supported software
project consisting of Clipper 5.2+ compatible code.

Included with LGUIDES are 2 files, FTHDR.PRG and
FTHDR.ASM, which contain the function headers as approved
by the Toolkit project.

If you have the NANFORUM TOOLKIT Norton Guide, follow$
the guidelines there for the header protocol.$
LGUIDES is, however, somewhat more relaxed in what it
will accept.  

To document your source code using this protocol, copy
the appropriate ~file header to the head of your source
file and the appropriate ~function header to the
beginning of each ~reusable function in the source file.
Assign these headers to macros in your file editor.

Auxiliary functions that are not callable outside the
program file need not have the NANFORUM function header.
LGUIDES lets you view them if you need to from the
function or source file windows, unlike any other
documentation viewer I know.  

Fill in the FUNCNAME, SYNTAX, etc. information on the
line or lines just below the $KEYWORD$. Refer to the 
EXAMPLE?.PRG files.

~REQUIREMENTS
1. All the function documentation must lie between the
   $DOC$ and $END$ keywords.  

2. $KEYWORDS$ have the dollar sign before and after and
   must not be altered in any way.  Uppercase only.

3  The FUNCNAME, CATEGORY, ONELINER, and SEEALSO
   information can occupy only one line. Others can
   occupy as many lines as needed. 

4. FUNCNAME and ONELINER must be filled in.

5. FUNCNAME, CATEGORY, and ONELINER must appear before
   the other keywords. 

6. Only one category to a source file.

7. There must always be at least 1 line of text, or an
   empty line, between keywords. (Except $DOC$ and the
   first keyword.) 

8. SEEALSO entries must all be on the same line, and must
   be separated by at least one space. If the entry
   contains spaces, enclose it in quotation marks ("").
   As for function names, only the first 12 characters
   are used. 

MAXIMUM LENGTHS$

FUNCNAME 12
CATEGORY 20
ONELINER 61
SEEALSO ENTRIES 12
OTHER LINES Suggest 65

~LENIENCIES/FEATURES
1. Any except DOC, END, FUNCNAME, CATEGORY, and ONELINER
   can be omitted.  

2. Beginning-of-line comment asterisks and white space
   are optional.  

3. CATEGORY can be left blank or with "To be Assigned."
   LGUIDES can fill these in for you!

4. You can invent your own keywords, which will appear
   highlighted in the viewer. For example, I use the
   additional keyword $CALLS$.  

5. SEEALSO references can have extra separating spaces
   between entries.

NOT SUPPORTED$
1. Argument names enclosed in <> are not highlighted in
   the viewer.

HYPERTEXT LINKS$

The references to functions named on the line following
$SEEALSO$ will become menu items leading to the these
functions, which can lead to other functions....

@@CLASS LIBRARY
LGUIDES was built with my class and functions libraries.
The class library encapsulates the "grunt work" of a
sophisticated CLIPPER app in the class code, leaving
"only" the app-specific stuff for one to program. 

If anyone is interested in helping develop these
libraries for release to the public domain, let me know. 
They are not stable enough for me to release for general
use. 

@@VERSION HISTORY
(Latest first)

Version 2.15 05/10/2000$ 

Version 2.14 was an "emergency" fix to at least make
LGUIDES usable.  It was a stopgap measure and lacked
necessary testing. 
   
The major bug in 2.13 was due to having made extensive
mods to the underlying class library.  As I suspected,
the problems were not limited to the one bug fixed by
2.14.

This 2.15 release was quite thoroughly tested and
FIXES the following: 

1. Extremely slow and probably incorrect deletion of
   child/grandchild records. 
2. Record recycling was not working, causing very slow
   function header doc extraction. 
3. Too-frequent flushing of the database memory buffers
   caused slow operation. 
4. When updating function docs for a source file whose
   corresponding category and function records were
   deleted, the source record category is now suggested
   as the default category. 

Version 2.14 05/06/2000$ 
1. Emergency bug fix: Version 2.13 would not allow
   changing directories in the Disk Browser!  Version
   2.13 was therefore practically unusable! Sorry folks,
   but I did not notice this for a long time! 
    
Version 2.13 03/21/2000$ 
1. Added: Saved reports have headers and column labels. 
2. Added: ESC key aborts print preview. 
3. Added: Program now aborts if there is no CLIPPER
   environmental variable (set to default by lguides.bat) 
4. Added: hidden text indicator arrows to doc reader.  
5. Added: Executable CRC self-check at startup. If the 
   program starts, you KNOW it is genuine and virus free.
6. Added: Avoid unnecessary buffer writes to disk,
   proving speed.
7. Added: No longer hog the CPU during wait states under 
   Windows.
8. Fixed: Multiuser glitches. (still not multiuser
   tested)
9. Fixed: Could 'edit' non-existing record. 
10. Fixed: Report viewer showed empty screen after last 
   page of report.
11. Fixed: Dropped the first byte of the last line of a
   file when last line did not end with CRLF. 
12. Fixed: Incorrect email address in Readme. 

Version 2.11 03/19/2000$ 
1. Fixed printing routine bugs. A new release was 
   necessary because 2.10 was posted on the Internet for
   one day.

Version 2.10 03/15/2000$ 
1. Fixed: (Help-Viewer) When browsing topics, mouse
   left-click did not switch to text window.
2. Fixed: (Help-Viewer) No hidden text indicator arrows
   while left-hand (topics) window was active. 
3. Fixed: (Color editor) Menu colors input box did not 
   show menu colors in English version. 
4. Added: Color editor confirms user abort. 
5. Added: Color browser confirms color change.     
6. Improvements in reports. 
7. Added: Made 43-line video mode the default.
8. Additions and corrections to doc. 

Version 2.09 02/03/2000$
1. Fixed bug in DISK option that allowed files without
   NANFORUM-style function headers to be tagged for
   documentation extraction.
2. Removed 10-second wait when running documentation
   extraction options in unlicensed LGUIDES.

Version 2.08 01/26/2000 (First Internet Distribution)$
1. Removed all redistribution restrictions, to comply
   with FTP archivers' requirements.
2  Changed FILE_ID.DIZ to README.TXT, and made revisions.
   Changed other .DIZ extension files to .TXT.
3. Increased 45-day extraction options use limit to 60
   days.
4. Fixed minor bug in help viewer's PgUp and PgDn.
5. Removed WEBPAGE.HTM advertisement.
6. Revised LGUIDES.TXT.

Version 2.07 01/12/2000$
1. Fixed bug in browser that kept the FIRST record
   from immediately appearing when added to an empty
   database.

Version 2.06 01/03/2000$ 
1. Changed *.DOC files to *.TXT files for user
   convenience.
2. BUG FIX: Program now properly sets source record
   date/time when categories are automatically written to
   source files. 
3. Eliminated a Funcdata.dbf index by substituting a call
   to oMemo1:NewId().
4. Upgraded documentation editor to new class version
   with added features, including searches and file I/O.
5. Added 45-day time limit to use of Documentation
   Extraction Options. Program remains free as a viewer/
   browser. 
6. Removed offer of software goodies to registrants.
   These goodies are now public domain and may be
   downloaded at:
   http://users.sedona.net/~lmstan/StanHome.htm 

Version 2.05$
1. Fixed SEEALSO links to allow embedded spaces, if
   entry is enclosed in quotation marks.

2. Discovered that the C encryption routines were causing
   the anomalies described in the 2.04 entry. 

   Temporarily substituted the encryption routines with
   another routine which does not allow total-file
   encryption. Project distribution files are no longer
   encrypted, although the file CRC check is in place.

3. Due to #2 I was able to remove the workaround
   described in the version 2.04 entry. 

4. Disabled source file date/time restore, due to bug.

Version 2.04  Nov. 10, 1999$
1. Removed LZHUF compression as it should be unnecessary.

2. It was hard to tell at a glance which was the active
   window, as it was marked only by the window frame. 
   This gave rise to attempts to use, for example,
   category window options in the function window.  
   Now the active window's selection bar is hard-coded
   red.

3. Removed the VIEW_FORMATTED option from the function
   window menu, to make room for a PROJECT option there. 
   Now projects can be changed from the function window. 
   This should further avoid confusion.  

4. Found a intermittent problem with detecting altered
   function headers that is either due to an error in the
   C encryption or CRC calculations routines, or an
   incompatibility between Clipper and the Borland Turbo
   C++ 3 compiler.

   The temporary workaround was to disable the "mangled
   data" warning when showing function headers from a
   different project from the current one.

5. Fixed bugs in file time reading.

Version 2.03   Nov 8, 1999$
1. Added LZHUF compression to project distribution files.

2. Reduced distribution files to only one file per
   project. 

Version 2.02   Nov. 2, 1999$
1. Finally found C code encryption bug, enabling the use
   of encryption in project distribution files.

Version 2.01$
1. Fixed source file parsing bugs.

2. Allow dollar sign in header text if not followed by
   a capital letter.

3. Improved disk file browser

4. Allowed right button tagging in disk file browser

Version 2.0  Oct. 19, 1999 (New major release.)$
1. Program extensively rewritten to use a new recycled
   database storage method instead of a memo field. This
   gives greater security of the data as well as
   eliminates entirely the bloating experienced with .DBT
   files. 

2. Added the EXPORT option for generating CRC-protected
   project documentation package files. See the EXPORT
   help topic. 

3. Added dynamic encrypted CRC protection to all LGUIDES
   databases.  

4. Reduced size of example databases and example source
   files.

5. Removed permission to alter or omit any LGUIDES files
   in distributions.

Version 1.02$
1. Added CTRL+PGUP and CTRL+PGDN to help viewer and
   "FORMATTED" XBASE browser. 

2. Added ability to manually change browse column indexes

Version 1.01 Oct. 6, 1999$
1. Program incorrectly tried to show update log when
   log was turned off. Hung the computer.

2. Added shareware message to 3 UPDATE options.

3. Wasn't deleting the log file when log file option off.

4. Added shareware message to delete actions, except
   source.dbf deletions.

5. Speed improvement in deletions.

Version 1.00 Oct. 3, 1999$
First release

@@TROUBLESHOOTING
FILE HANDLES
If you run out of file handles, the LGUIDES file handle
wizard (!) can modify your CONFIG.SYS for you to increase
the FILE= setting.  You might have to also increase the
number found in LGUIDES.BAT.

VIDEO LINES
Your computer may not display LGUIDES in 43 and 50 row
full-screen mode.  In this case, I suggest you run the
program in a window rather than full-screen. 

NORTON ANTI VIRUS
I read in the Norton knowledge base that Norton Anti
virus 2000 is sometimes incompatible with Clipper
programs, so watch out.  However, I have tested LGUIDES
with this anti virus with no apparent problem. 

NETWORKS
LGUIDES is untested under a LAN, although I programmed it
to be network-ready (except network printing).  Due to
the lack of testing, it will probably fail on a network.
If there are bug reports from registered users, I will
attempt to fix any network problems except network
printing.

@@@INSTRUCTIONS
@@DOC EXTRACTION 
Since LGUIDES is not a TSR, you will probably want to run
it in a WINDOWS task that is periodically switched to
from your IDE or whatever. 

LGUIDES is shipped with example NANFORUM-style
documentation preloaded into the databases.  You can
read, browse, search, and so on with this documentation,
but unless LGUIDES gets a little help in finding the 3
example source code files from whence the documentation
came, you won't be able to ~view the source or ~update
the databases from the source.  

I renamed the example source files as EXAMPLE<n>.PRG
where <n> is 1, 2 or 3.  The original files names are
found in the file header.

When ready to put LGUIDES in "sync" with these example
files, or to extract function header documentation from
other source files using the NANFORUM function header
protocol, use the following procedure: 

Start LGUIDES. Use the batch file (LGUIDES.BAT) If you
ever run out of file handles, you may have to up the
number found in LGUIDES.BAT.  

At program start the top (categories) window is active.
The active window has a double yellow box around it (in
"original" color scheme), and the red selection bar moves
in it.  To change windows (browses), use the TAB key or
click on another window.  

When LGUIDES can't find the functions' source files, the
function records in the lower (function) window will
appear in yellow (original color scheme).  

[NOTE: When ADDING files rather than merely correcting
paths, first always switch to the appropriate project, as
new functions are added to the ~current project.]  

To correct paths/add new files, go to the source code
window by touching F5 from either the categories or
functions windows. (F5 or TAB returns you to the function
window.)

Now choose the DISK option from the menu. This allows
you to browse your disk drives for source files complying
to the NANFORUM documentation protocol.

You will see a list of directories and files, which
is navigated in the customary way. Notice that you can
change drives and also the file mask.

Only source files containing the $DOC$ keyword are
selectable. Source files already included in the LGUIDES
databases, and the directories that contain them, appear
in highlighted color. 

NOTE: Long filenames will be translated to the 8.3$
DOS filename standard.$ 

Look for the example source files, or whatever. When you
are in the proper directory, you can install the files
from the list one at a time by double-clicking on them,
or install all the matching files in the directory by
using the TAG menu to TAG ALL and then ADD/UPDATE TAGGED.

(In the LGUIDES distribution directory, avoid selecting
the example header files FTHDR.*)

If fixing the EXAMPLES paths, answer "Yes" to all the
"new locations" questions, and you're done.

Another way to correct paths is to simply click UPDATE
from either the category or source windows. You will get
to choose each new file location.

When you get done, you will return to the file browse
window.  F5 gets you back to the functions/categories
dual browse.

@@KEYS
~WINDOW

CHANGE WINDOW...................TAB
MAXIMIZE WINDOW.................CTRL+TAB
SWITCH TO/FROM SOURCE WINDOW....F5

~EDITING (Highlighted record)

ADD RECORD..............INS
EDIT RECORD..............F3
VIEW FIELD...............F4
EDIT FIELD...............F9
DELETE/RECALL RECORD....DEL

~TAG

TAG/UNTAG RECORD.........+ or right button
UNTAG ALL...............F2

~MISC

HELP SYSTEM.............F1
ABORT/GO BACK/QUIT ....ESC
CHANGE INDEX MENU......ALT+0-4 or backspace

@@INDEXES
The default index orders vary for different columns, and
change automatically as you change columns.  The defaults
provide for a maximum of SEEKing ability. You can change
the index orders (see below).

In the function window, the first few columns are
normally WHILE-LIMITED to the currently chosen project
and category.  This means that only the records belonging
to current project and category are displayed.  

The last screen row displays index order information.
Whenever a while condition is in effect, the words
"WHILE-LIMITED" will appear in the index description. 
When incremental seeking is possible, the word "SEEK"
appears. 

When moving into the last columns of the function window,
you will find the browse no longer WHILE-LIMITED.  All
function records are displayed, irrespective of the
current category.  These columns/indexes are provided to
allow full-database seeking, searching, and browsing.  

You will often find it expedient to change the default
index orders.  For example, the first function window
column, FUNCNAME, which is by default WHILE-LIMITED to
the current category, might be changed to index 3, which
has no WHILE condition and which allows full-database
incremental seeking (even across projects).

To change indexes, press and hold the ALT key.  A menu
appears that will show a list of all available indexes
for the database.  WHILE-LIMITED and SEEKing index orders
are indicated.

While holding ALT, touch the appropriate number on the
keyboard (not the number keypad).  ALL columns in the 
window will be changed to the selected index.

Notice that forcing a mass change in index orders in this
way will remove the SEEKing ability from some to the
columns. If you need to seek, touch ALT and select an
index that allows SEEKing for the current column. 

To return to the default column index orders, touch
ALT+BACKSPACE. 

To remove all indexes and WHILE conditions (natural
unsorted order), touch ALT+0.  

@@COLORS
(Original color scheme)

~YELLOW
Indicates that no source code is available.

~GREEN
Function paths are correct, but the documentation needs
to be updated.  Select UPDATE from Category or Source
windows. 

This color also appears when the source record gets
deleted for some reason and the function paths are still
good. 

(Modify colors from the CONFIG menu option.)

@@ADD RECORD
ADD PROJECT, CATEGORY, FUNCTION RECORD$

In the appropriate window, press INS or choose Add from
the file menu.

[Note: LGUIDES is designed to add categories and
functions automatically from source. It should
practically never be necessary to add categories or
function records "manually", unless you are making
documentation for which you don't have the source code.]

See the PROTOCOL help topic.

@@EDIT RECORD
MODIFY PROJECT, CATEGORY, FUNCTION$

Highlight the record and touch F3, or choose Edit from
the file menu.

To edit directly in the browse cell, touch F9.

[Note you ~can't edit a ~function record for which you
have source code. If you try, read-only view mode is
entered instead. The program expects to extract new
documentation from source.

When LGUIDES can't find the source code, the function
records appear in blue.  Such records CAN be edited.

I am thinking that perhaps only functions that were
~manually added (never any source) should be manually
editable.  I would like feedback on this.]

If you have to change a category or project name, go to
the Source window and change the category/project for
each ~source record.  You can tag files to process many
files.  This way the new category names will be written
into the source files.

@@VIEW RECORD
View records in read-only mode. (F4) Move back-forward
with arrow keys.

NOTE: While conditions are not respected while RO
viewing.

@@DELETE/RECALL
DELETE/RECALL PROJECT, CATEGORY, FUNCTION record.

Works on the highlighted record or all tagged records.
Tag with the + key or the right mouse button.

If the highlighted record is deleted (VIEW DELETED mode
active), the record will be RECALLED.

"Child" records are deleted/recalled as follows:

PROJECT deletes/recalls CATEGORIES
CATEGORY deletes/recalls FUNCTIONS
CATEGORY deletes/recalls SOURCES
SOURCE deletes/recalls FUNCTIONS

Full record recycling is implemented, except for the
PROJECTS database.  No databases should ever require
packing.

Remember that when deleting a ~source record you are
~NOT deleting the source file!

@@TOGGLE WHILES
The use of WHILE conditions can be shut off for an entire
database with this option.  This may be useful to see all
categories across all projects in the categories window. 

For the function window you will find indexes designed to
allow full-database searching.  Using the Alt key, these
indexes can be selected for any column.  This is usually
better than toggling Use WHILE off, since the structure
of a WHILE-LIMITED index will generally be inappropriate
for full-database seeking.  

@@VIEW DELETED
Toggle the display on deleted records on/off.  When on,
the DEL keys ~recalls records from deletion rather than
deleting them. 

Note that recalling a record also recalls all 'child'
records.  For example, recalling a deleted bill-of-sale
will recall all the deleted invoice items as well as any
deleted payment records. 

NOTE:
If you toggle show deleted on, in the columns with the
'All except deleteds' index description you will still
not see the deleted records. The column has a while
condition that is limiting the displayed records to only
non-deleted ones. Toggle Use WHILE ~OFF to see the
deleteds.  

@@REPORTS
This browse supports generic report generation on "Marked
Columns."

The procedure for generating such a report is a follows:

1. Mark the ~columns you want to appear in the report
   with the F6 key, or from the REPORT menu.
2. Choose how you want the records to be ordered.  Do
   this by moving the light bar into a column that has
   the index you want. The marked columns might scroll
   out of sight-- this is no problem.
3. Go to the first record to appear in the report.
4. Select the REPORTS/Report on Marked Columns menu item.
5. From this point on the process is self-explanatory.

The Print/View File selection is primarily intended to
allow you to print a report that was saved to disk rather
than printed.  However, for generic reports (the only
kind currently available in LGUIDES) the column headers
are not printed.  The only output formatting will be page
breaks.

@@SEARCH
The search options perform a wild search either in the
active column or in all fields shown in the active
window. Memo fields can also be searched.

The found records are tagged and the browse window enters
Show-Only-Tagged mode, which is ended by ESC.
(Incremental searching still works in Show-Only-Tagged
mode!) F2 untags all the tagged records, as will a new
search.

@@WINDOW
CHANGE WINDOW...................TAB
MAXIMIZE WINDOW.................CTRL+TAB
SWITCH TO/FROM SOURCE WINDOW....F5

@@CONFIG
(Find this menu item in the CATEGORIES window menu.)

~COLORS
Allows you to change color schemes, and modify or design
your own color schemes visually.

To choose a color scheme, highlight it with the light bar
and press ENTER.

To design a new color scheme, use the Design New Color
option from the FILE menu.

To edit an existing color scheme, highlight it with the
light bar and select Visual Edit from the FILE menu.

Be sure to exit the color editor with the page down key.
The ESC key will throw away changes.

REBUILD INDEXES$
Choose this option when you are unable to access data
that you know is in the database.

~GENERAL

VIDEO MODE
LGUIDES ships with 43-line mode on by default. In
43-line mode in a window, try the 8x12 font.

SCREEN SAVERS
Since LGUIDES will normally be run in a Windows window
that is periodically switched to, you probably won't want
to use the screen savers.

~SPECIFIC

KEEP LOG FILE
This option causes the program to write a complete,
detailed activities log to the file indicated.  The log
file continues to grow until you delete it, rename it, or
change the log file name in the config menu.

Look in the REPORTS menu in the Source window menu for an
option to view the log file within LGUIDES.

KEEP ORIGINAL SOURCE FILE DATE-TIME
(Temporarily disabled due to problems with date-time$
setting routine in C.  Please help!)$
Makes LGUIDES keep the original source file date-time
stamp even after writing new categories to the function
headers.  This is to avoid triggering your Make utility
to unnecessarily recompile and relink your apps.

@@CHANGE PROJECT
Go to Categories window and click PROJECT to get to the
Project window. Select and click/ENTER.

@@EXPORT
Available from the PROJECTS window. (registered users
only).  

EXPORT will build a distribution file of extension .LGP
containing all the documentation for the highlighted
project, except path and source information.  

In addition to a total-file CRC check of the distribution
file, all LGUIDES databases are protected with encrypted
CRCs on a function-by-function basis.  Any corruption or
unauthorized changes by outside programs will be
announced before function header text is displayed by the
viewer.

When EXPORT files are detected in the current directory,
at startup LGUIDES will automatically give the option to
"load" the project(s). 

The EXPORTed project will be in ~read-only ~mode in the
target computer.  Modification will be impossible from
within LGUIDES.

@@VIEW SOURCE
(Function/Source Windows)

If in the function window, first locate the function
belonging to the source file to view.

Choose VIEW SOURCE to browse the raw source, or FORMATTED
to browse XBASE source by function, procedure, and class.

Neither of these view options require that the source
file have NANFORUM-style header documentation.

@@BROWSE DISKS
Choose this option (DISK) from the Source Window.

Lets you browse directories to locate eligible source
files whose functions will be added to the databases. You
can select files one at a time (ENTER), or tag files and
operate on them in groups (see the TAG MENU).  Tag/untag
with the + key and the TAG/UNTAG ALL menu option. Notice
you can change the file mask and the drive.  

Only source files containing the NANFORUM-approved header
($DOC$ keyword present) are selectable in the picklist.
Others are in unselectable color (green in the original
color scheme.)  

Simply pressing ENTER or clicking on a file does a forced
ADD/UPDATE on it- whichever is appropriate.

Note mouse support and 1st letter search.

Be sure to have selected an appropriate project before
you begin adding files. All new functions will be added
to the currently-active project.

Files whose functions are already in the databases are in
highlighted color, as are the directories containing such
files.

Note that the DISK option is normally used only for
ADDING new files and locating moved files.  The best way
to update from source under normal conditions is to just
click on the UPDATE menu item to update all (modified)
source code files across all directories and drives. 

@@SPECIAL UPDATES

These options in the source windows' FILE menu allow
special kinds of updates from source. (Normal updates
from source code are done using the update option on the
Category or Source menus.)

All of the "SPECIAL" options are "forced" (Time stamp
ignored).


SPECIAL UPDATE OPTIONS

~1. FORCE UPDATE ALL
Same as normal update except time stamp ignored.

~2. FORCE UPDATE HIGHLIGHTED/TAGGED
Same as #1 except acts on only highlighted record or
tagged records.

~3. FORCE UPDATE, READ AUTHOR HIGHLIGHTED/TAGGED
Same as #2, but also reads and updates the Author field.

~4. UPDATE/CHANGE SOURCE'S PROJECT/CATEGORY/AUTHOR
   HIGHLIGHTED/TAGGED

Same as #3, but also allows one to change project and/or
category. Writes new category name to source file
function headers.

@@MOVED FILES
When just a few source files have moved, click on UPDATE
and follow instructions.  It there are several files it
is perhaps fastest to follow the procedure described in
'DOC EXTRACTION' to fix the path information.

@@CHANGE CATEGORY
If you want to change the project/category/author of a
file or group of files, tag them in the SOURCE window
(the PATH column is ordered by path) and choose the
Update/Change Source/Cat/Author from the FILE menu. 


<eof>
