4  74 
PROGRAM DOCUMENTATION

Introduction:

'RoloMan' was written by, the sole property of and copyright (C) 1996
Scott R. Carstens, all rights reserved.  Portions of this program are
copyright (C) 1992 Oxxi Inc.  This program is an autodialing rolodex
integrated with various database functions containing label and
envelope printing capabilities.  This program may be freely
distributed, however please send $20.00 for using the program to:
    Scott Carstens
    3842 S. 74th St.
    Milwaukee, WI  53220
Another program available is 'Studio Manager' which is a comprehensive
invoicing, customer tracking business management program which will
run a Photography Studio, and could be used to run various small
business applications. Scott Carstens can be reached at the
afformentioned address or by telephone at (414)-328-9086 or by
electronic mail at carstens@execpc.com.

Editing Records:

The 'Edit Record' button will place the cursor in the first field for
editing a record.  The cursor may be moved around the form with mouse
clicks or by pressing enter or by using the arrow keys.  After
entering in last field the program will prompt you to see if you wish
to save the record.  When saving in this manner you will again be
prompted to see if you wish to continue data entry.  

New Record:

The 'New Record' button should be clicked on to open up a blank record
for data entry into a new record.

Delete Record:

Simply click on 'Delete Record' button and program will prompt you to
make sure you wish to delete that record.

Save Record:

There are two ways of saving a record.  One is to click on the 'Save
Record' button and the other is to enter through the last field.  When
entering through the last field, after record is saved, you will be
prompted whether you wish to continue data entry.  If you click on yes
or press enter a new empty record will appear with a cursor in the
first field for rapid continous data entry.

Print Labels:

On the programs main form, when you click the 'Print Labels' button
you will be prompted to type in 'A' to print all records as labels or
'M' to print only marked labels.  Labels are printed in a 3x10 (30 per
page) page layout.

Phone Dialing:

'RoloMan' will autodial any one of four phone numbers by clicking the
appropriate button.

Envelopes:

When you click on 'Envelopes' button an envelope form will appear. 
The 'Edit Form' button will allow you to edit the return address,
simply enter cursor through to save return address on form.  The
labels button on this form will print 90 return address labels, 30 per
page (3x10).  The 'Print Envelope' button will print the current
record on an envelope with the return address you edited, for
self-addressed envelopes simply create a record of yourself on the
rolodex form.  The 'Set Printer' button allows you to choose a printer
or change the printer driver's parameters or choose a 'Prefs' printer
driver.  To go back to the main rolodex form simply click on the 'Back
Home' button.

VCR Panel (browsing, search, filter):

The VCR Browsing Control design is a registered trademark of   
'Precision Software Limited'.

The VCR type panel at the bottom of the forms will aid you in
searching through the database.
The 'Pause' button will stop when fast forwarding or rewinding through
database.
The 'Stop' button will stop as opposed to pause.
There is a button to go to either end of the database, fast forward or
rewind or go back and forth one record at a time.  You may also use
key equivalents to do the same.
    spacebar = pause
    crtl + c = stop
    left arrow = previous record
    right arrow = next record
    shift + down = fast forward
    shift + up = rewind
    shift + left = first record
    shift + right = last record
    ? = key lookup
    = = filter


Key Lookup button (?):

To retrieve specific individual records, use the 'Key Lookup' (?) 
button. For example, click on the 'Key Lookup' (?) button, type in the
letter S into the request then click on yes or press enter. This will
bring you to the first name that starts with the letter S.  If you
spell the last name completely in the requestor it will bring you to
that record.

Filter button (=):

This is a very powerful feature.  The filter allows you to enter a set
of values and restricts the display to only those records that match
the values. 
After clicking on the 'Filter' button (=) the program will bring up a
filter requestor.  A filter is created by combination of clicking on
field names and operators and typing in values.  This will produce the
filter command line in the text box.  Clicking on the 'Filter' button
again will terminate the filter.

Fields Box:

You can scroll the field names up and down using the scroll bar and
arrows and the right of the fields box.  The field is specified by
clicking on its name, it then appears in the text box.  

Operators:

These are to the right of the field box and are divided into
relational, logical, and mathematical operators.  Clicking on these
will place them in the text box.

Value Box:

This box is for typing in values ie. names, numbers and dates which
will become part of the filter.  When matching numeric data that has
to be held in a text field such as a phone number you must put the
value in quotes.  You must press enter after typing in the value box
for the filter requestor to work.

Text Box:

This is a long box across the bottom of the requestor.  When you make
selections with the mouse or type values into the box, a filter
command line is constructed.  You immediately find the result of your
command line by clicking ok or pressing enter.  Up to 255 characters
are allowed.  It is not necessary to click fields and operators into
the text box, you may type them in directly by hand if you prefer.

Operators:

The operators are used to relate field names to other fields and or
values.  For example, to display only those records with a zip code of
53220 you would click on the field 'zip' (in the filter requestor)
which would place that field in the text box, then click on the
operator 'LIKE', then type 53220 in the value box and press enter. 
Either click on 'OK' in the filter requestor or press enter. 
'RoloMan' will display only those records with a zip code of 53220. 
To end the filter, simply click on the 'Filter' button and all records
in the database will again be displayed.  

Text String and Pattern Matching:

When searching for names or text string, use LIKE instead of equals
sign (=).  The equals sign requires exact matches and it is case
sensitive whereas LIKE is case insensitive.

LIKE Syntax:

    LIKE "*"        Searches for empty field with '*' on its own
    LIKE "?"        Searches for fields that are not empty
    LIKE "set"      Field with content 'set'

The asterisk represents a text string of any length:
    LIKE "set"      'set' string at start of field
    LIKE "*set"     'set' string at end of field
    LIKE "*set*"    'set' string anywhere in field

The question mark represents a single character:
    LIKE "???"      Fixed length, any content
    LIKE "?set?"    Fixed length, fixed content
    LIKE "?set*"    Fixed leading length/content, any length

A range inside square brackets may be used in place of a question mark
character:
    LIKE "[b-h]"    Single character range 'b' through 'h'
    LIKE "[bcf-x]*" Character 'b ', 'c', or 'f' through 'x' 

The caret or up arrow at the start of a bracketed sequence signifies
exclusion:
    LIKE "[^d-p]"   Excludes characters 'd' through 'p'

You can combine different elements of the pattern matching syntax:
    LIKE "c??[i-n]?z*"

This matches 'c' in the first position, any character in the second
and third positions, the range from 'i' to 'n' in the fourth position,
any character in the fifth position, 'z' in the sixth position, and
any number of characters following the 'z'. LIKE is the operator you
should use when searching for text strings in fields.

Examples:

lastname LIKE "m*" - 'RoloMan' displays only records with last name  
beginning with 'm'
homephone LIKE "671*" - Displays all records with home phone beginning
                        with '671'
firstname LIKE "??p*" - Displays all records where the fourth        
character of the first name is the letter 'p'

Ideas:

You may identify like records by entering text in the 'Notes' field
that would allow you to bring up only those like records with the
'Filter' button whenever you desired, for example, describing a client
as 'client' in the 'Notes' field, then applying a filter to display
only clients.  When creating a record that is a company name, enter it
in the 'Last Name' field so that it's properly indexed then enter the
contact person's full name in the 'Notes' or 'First Name' field.

Relational Operators:

    =       Equal to 
    <>      Not equal to 
    >       Greater than
    <       Less than
    >=      Greater than or equal to
    <=      Less than or equal to 

Logical Operators:

    AND     zip LIKE "53220" AND lastname LIKE "c*"
    OR      zip LIKE "53220" OR lastname LIKE "c*"
    NOT     zip LIKE NOT (zip LIKE "53220")
            Last example would display all records whose zip code was
            not 53220.

Parentheses ():
Expressions in parentheses are given a higher priority in the order of
computation for a filter.

Mathematical Operators:

    +       addition
    -       subtraction
    *       multiplication
    /       division

'Clear' Button:

The 'Clear' button in the requestor simply clears everything out of
the text box in the filter requestor so that you may insert a new
command line filter.

Deactivating Filter:

Simply click on the 'Filter' (=) button to deactivate the program's
filter and all records will again be displayed.
   

'Set Printer' Button:

This button gives you some flexibility for label printing.
The LASERJET_III option can be used for HP DeskJet 550 printers with
30 - 2 5/8 labels per page (centered).  For 33 labels per page style
paper, use the Generic option.  For using Prefs printer and options
use 'PREFS' option.  Other settings may be altered if necessary in the
'Page Setup' window or by altering your Amiga PREFS options.


















   
