# HELP Screens

The Help utility

filePro allows for the creation of extensive Help screens, specifically designed for each application you build.

More importantly, Help can be provided in several different situations.

Types of Help

1. Press the Help key (termcap designated, ansi=F10) while within a field and receive help information for that particular field.

2. Press the Help key while at the option line in Inquire, Update, and Add and receive help for the current screen being displayed.

3. Specific Help can also be displayed from the processing table based upon varying conditions or triggers. By using @whp### processing or by using the HELP command or any combinations, you can provide very elaborate and/or useful Help for your applications.

Steps

1. Use a text editor or word processor to create an ASCII file named "help" in the directory of the specific "filepro file".

Unix: vi /appl/filePro/filename/help

Windows: edit C:\FILEPRO\FILENAME\HELP

2. The contents of the help file determine what help is given to the user and can also specify at what points.

Help for a field

##Fn

Helpful text ...

where "n" can be a real or dummy field

Help for a screen

##Sn

Helpful text ...

where "n" is a screen number or name

Help called from within processing

##helpname

Helpful text ...

where "helpname" can be any name of up to 16 characters. Named help screens are accessed from a processing table.

HELP for any type of entry is ended by the occurrence of another entry (##xn), or by the end of the HELP file itself.

Example - Help on field and screen triggers

##F28

Please fill this field with the name of the purchasing agent

for the customer being added. If you do not know the name,

please enter N/A.

##S3

You only need to enter information on this screen if the account has a bad credit rating. The credit rating is displayed on the bottom left of this screen in RED.

##AA

Please enter the amount of the overdue charge to be added to the customers invoice.

Example - Help Displayed From Within Processing_tables

##helpname

Before you print this invoice, check to be sure the proper paper is in the printer. Align the print head to the exact top of the paper.

Example: From the Input processing table

@whp27 if:

then: HELP "helpname";screen ,27

or

@wlf27 if: 27 = "?"

then: HELP "helpname";screen ,27

HELP can be multiple pages.

If the HELP for any of these entries were several pages long, filePro would allow the operator to scroll backwards and forwards through the HELP until he/she presses RETURN to re-enter the application at the point they left.

HELP can be indexed.

If you want to include indexed help, add a line to the section of the help using prefix "@@@" keyword1, keyword2, etc.

Figure AC-01 is a portion of the "Define Processing" help screen for commands ABS and ACCESS which depicts the use of @@@ ABS, ACCESS to create indexed entries for these commands.

Figure AC-01 - Indexed Help

The end-result of these indexed help entries is depicted when pressing [F9] after invoking help in "Define Processing". See figure AC-02.

Figure AC-02 - Index Help Displayed

The HELP keys can be changed in the termcap entry with an entry for the sequence and the label. See the Terminal Guide section of this manual.

Finally, this is the actual testing and logging code.

If:

Then: show popup "Please wait while files are being updated."

If:

Then: dim after[566]:1

If:

Then: i(3,.0)="1" ; yy(8,ymd/,g)=@td ;ti(8,time)=@tm

chgloop If: i gt "566"

Then: delete clone;clears;return

If: before[i] eq after[i]

Then: i=i+"1";goto chgloop

If:

Then: lookup log=npilog r=free -ep

If:

Then: log(1)="npio"; log(2)=412 ; log(3)=yy ; log(4)=ti ; log(5)=@id

If:

Then: log(6)=i ; log(7)=before[i];log(8)=after[i]

If:

Then: log(10)=1 ; log(9)="npio/input"

If:

Then: write log ; i=i+"1" ; goto chgloop

When someone has a question about this file, you can look in the logfile based on the file you are tracking and its unique reference #. Each change will be cataloged.

You can make a screen for your logfile that tells the whole story. No one can dispute the documented truth.

Transaction Log Screen

In file: !1 Ref#: !10

Unique record#: !2

Field#: !6 was changed by !5 on !3 at !4

From

!7

to

!8

Note: If you have a slow machine, you could build two other arrays of only 1 element each for the total number of characters in the file you want to track. Then, before doing the changed loop, test each array against each other. If there is no change between the one element arrays, there obviously wont be any change to any individual field and you have nothing to write to the logfile. This first big test is not necessary on a fast machine. Checking the arrays on a 566 field record with almost 5K of data per record takes up minimal time.