PC-FILE+ 3.0 QUICK REFERENCE CARD

Special Keys and their Function

(Alt)C                 Calculator hot-key
(Alt)D                 Drop to DOS
(Alt)H                 Help
(Alt)M                 Load new Macro smart keys
(Alt)P                 Print screen (cleaned up)
(Alt)T                 TEACH mode (on/off)
(Alt)Y                 Smart key memorize (on/off)
backspace              delete character to the left of cursor
(Ctrl)A                Accept data (same as (F10))
(Ctrl)B                Blank right, to end of field
(Ctrl)D                Duplicate all of previous record
(Ctrl)F                duplicate Field from previous record
(Ctrl)L                print a Label (Snapshot)
(Ctrl)left arrow      move cursor one word to the left
(Ctrl)P                Print screen (cleaned up)
(Ctrl)R                Read into memory
(Ctrl)right arrow     move cursor one word to the right
(Ctrl)W                Write from memory
(Ctrl)Z                display batch number of program
(Del)                  delete the character at the cursor
down arrow             move cursor to following field or line
(End)                  move cursor to right, past last character
(Enter)                move cursor to next field, or accept data
(Esc)                  cancel this operation
(F10)                  accept data
(Home)                 move cursor left, to start of field
(Ins)                  Insert mode (on/off)
left arrow             move cursor left one position
(PgDn)                 move cursor to last field, or page down in
                       browse mode
(PgUp)                 move cursor to first field, or page up in
                       browse mode
right arrow            move cursor right one position
(Tab)                  move cursor to next field, or move browse
                       window one field to the right
(Shift)(Tab)          move cursor to prior field, or move browse
                       window one field to the left
tilde (~)              the flip data character
up arrow               move cursor to preceding field or line

SPECIAL KEYS WHEN IN EDITOR

(Ctrl)(End)            move to lower left corner of current window
(Ctrl)(Home)           move to upper left corner of current window
(Ctrl)(left arrow)     move to beginning of previous word
(Ctrl)(PgDn)           move to left of last line of text
(Ctrl)(PgUp)           move to left of first line of text
(Ctrl)(right arrow)    move to beginning of next word
down arrow             move down one line if not at end
(End)                  move past last character on current line
(Enter)                move cursor to next line, creating a new line
(Home)                 move to first position on current line
left arrow             move one position to left
right arrow            move one position to right
(PgDn)                 scroll down one screen
(PgUp)                 scroll up one screen
(Shift)(Tab)           tab left
(Tab)                  tab right
up arrow               move up one line if not at top

Editor Commands

(Ctrl)\                split line at cursor
(Ctrl)A                toggle automatic paragraph wrapping
(Ctrl)B                mark corner of block
(Ctrl)C                copy marked block below cursor
(Ctrl)D                delete marked block
(Ctrl)E                erase from cursor line to end of document
(Ctrl)F                fill marked block with selected character
(Ctrl)L                mark line or lined block
(Ctrl)M                move marked block
(Ctrl)O                overlay marked block
(Ctrl)R                reformat marked block; reformat current
                       paragraph if no marked block
(Ctrl)U                unmark the marked block
(Ctrl)V                enable/disable "whoops key"
(Ctrl)W                "whoops key"--recall previous buffer
(Esc)                  escape from editor or insert (Esc) character in
                       text
(F3)                   activate Editor Menu
(F5)                   delete current line
(F6)                   erase from cursor to end of line
(F10)                  exit and save all changes

DATABASE DEFINITION

Edit Masks specify characters allowed in a field and provide
automatic data.  Examples:

:azAZ:                 allows only alpha characters
:NNnnYYyy:             allows upper and lowercase N and Y
:09//--  :             allows numbers, slash, dash and space
:BA:                   does not allow any character
:DATE*:                automatic date field in mm-dd-yy format
:MM/DD/YY*:            automatic date field in mm/dd/yy format
:DD/MM/YY*:            automatic date field in dd/mm/yy format
:YYMMDD*:              automatic date field in yymmdd format
:MO*:                  automatic field supplying month (mm)
:DY*:                  automatic field supplying day (dd)
:YR*:                  automatic field supplying year (yy)
:TIME*:                automatic time field in hh:mm format
:UNIQUE*:              automatic field for unique number
:DUPE*:                automatically duplicate field from previous
                       record
:DATE*09//:            automatic date field with edit mask
:DATE*:*A              automatic field only when adding only
:DATE*:*M              automatic field only when modifying only

Constants supply default data when adding and/or modifying records.
Examples:

"New York City"             supply text
"(   )   -    "*A           supply text only when adding
"Milton Freewater"*M        supply text only when modifying

Calculated fields generate data based on arithmetic, date or
relational calculations.  Examples:

((cost+adjustments)/100)               sample numeric calculation
((d1(@DAY#,mdy)+60)(@DATE,mdy/))       sample date calculation
(@acct,master,acct,city)               sample relational lookup

SEARCHING AND SELECTING RECORDS

Types Of Simple Searches

xxxxx       generic (exact, first part)
~xxxxx      scan across
?xxxxx      sounds-like
___x_x      wildcard (ignore certain characters)

WHEN CALCULATIONS ARE ASKED FOR

Arithmetic Operators:

+           addition
-           subtraction
*           multiplication
/           division
%           modulo (remainder)
^           exponentiation

Logical Operators:

&           and
|           or

Comparison Operators:

=           equal
!=          not equal
>           greater than
>=          greater than or equal
<           less than
<=          less than or equal

Special Calculations:

(@RANDOM#)                       creates random number between 0 and 1
(@TODAY#)                        creates todays "day number"
(@DAY#,mask)                     gets date from stack, converts to
                                 day-number.  mask tells date format:
                                 ymd ydm mdy myd dmy dym yymmdd
(@DATE,mask)                     gets day-number from stack, converts
                                 to date.  mask tells date format:
                                 examples mdy/ dmy-
(@key1,DBASE2,key2,ANSWER2)      a relational lookup

Examples of calculations:

(SUBTOTAL + TAX + SHIPPING - DISCOUNT)
((age >= 21 & age < 40) & sex = "F")
(date2(@DAY#,mdy)-(date1(@DAY#,mdy))
                           difference between 2 dates
(date2(@DAY#,mdy) > date1(@DAY#,mdy))
                           date2 greater than date1
((date(@DAY#,mdy)+60)(@DATE,mdy/))
                           date 60 days later

COMMANDS WITHIN SMART KEY DATA

[2]                        simulate (Ctrl)B (blank to right)
[4]                        simulate (Ctrl)D (dupe record)
[6]                        simulate (Ctrl)F (dupe field)
[9]                        simulate (Tab) key
[12]                       simulate (Ctrl)L (snapshot label)
[18]                       simulate (Ctrl)R (read into memory)
[23]                       simulate (Ctrl)W (write from memory)
[271]                      simulate (Shift)(Tab)
[288]                      simulate (Alt)D
[291]                      simulate (Alt)H
[302]                      simulate (Alt)C
[315]                      simulate (F1)
[316]                      simulate (F2)
[317]                      simulate (F3)
[319]                      simulate (F5)
[320]                      simulate (F6)
[321]                      simulate (F7)
[322]                      simulate (F8)
[323]                      simulate (F9)
[324]                      simulate (F10)
[327]                      simulate (Home)
[328]                      simulate up arrow
[329]                      simulate (PgUp)
[331]                      simulate left arrow
[333]                      simulate right arrow
[335]                      simulate (End)
[336]                      simulate down arrow
[337]                      simulate (PgDn)
[338]                      simulate (Ins)
[339]                      simulate (Del)
^n                         imbed smart key #n (0 - 9 supported)
^K                         get keyboard input

REPORTS

Sections of a report:

:COVER            prints once at beginning of report
:HEADING          prints at the top of each page
:DETAIL           prints once for each record printed
:SUBTOTAL         prints at each subtotal break
:FOOTING          prints at the bottom of each page
:TOTAL            prints once at end of the report

Commands in Command report (1 command per line):

[xxx]                           field xxx data prints here
<xxx>                           field xxx data (excess spaces removed)
"xxx"                           a constant
(#)                             relative record number
(a+b)                           calculation
(@f1,DB,f2,f3)                  relational lookup
=nn                             tab to column nn
/n                              insert n newlines
.FF                             form feed to new page
.CP nn                          conditional skip to new page
.GROUP                          start a group (no blank lines)
.EGROUP                         end a group
.EGROUP R                       end a group, replace blank lines
A nn,nnn,nn                     ASCII printer control codes
.IF (calculation spec)          do next commands(s) if true
.ELSE                           do next commands(s) if .IF was false
.ENDIF                          end of .IF .ELSE sequence
[COUNT*]                        number of records printed
[DATE*]                         today's date
[KEYIN*prompt]                  get operator input
[PAGE*]                         current page number
[RECORD*]                       record number of current record
[RECORDS*]                      number of rcds in database
[SELECT*]                       selection criteria for report
[SORT*]                         current index or primary sort field
                                name
[SUBCOUNT*]                     number of records in subtotal group
[SUBFLD*]                       field name of subtotal break field
[SUBID*]                        data from subtotal break field
[TIME*]                         current time

Output Edit Masks (examples):

:@@@@@@@@@:          character field mask
:#####:              numbers, all digits appear
:zz,zz#.##:          zero suppress, with commas
:$$$$$$.##:          floating dollar sign
:******.##:          asterisk check protection
:=12,0,100,* :       barchart mask
::                   no output (don't print anything)

MAIL MERGE LETTER COMMANDS

.<fieldname>                insert data, blanks stripped
.[fieldname]                insert data, no blanks removed
.<KEYIN*prompt>             insert data from keyboard
.<DATE*>                    insert today's date
.GROUP                      start a group (no blank lines)
.EGROUP                     end a group
.EGROUP R                   end a group, replace blank lines
.FORMFEED                   skip to new page on printer
.FF                         skip to new page on printer
.CP nn                      conditional skip to new page
.<(a+b):z,zz#.##:>          calculation
.<(@k1,db2,k2,x2):@@@:>     relational lookup

SORT ALTERNATIVES (SORT FIELD #n)

fieldname                   sort on entire field
fieldname,x,y               data starts in position x, length y
fieldname,R                 roman numeral sort
fieldname,S                 sounds-like sort
(@RANDOM#)                  random sequence
(fieldname(@DAY#,mdy))      sort field in mm/dd/yy format

PROFILE COMMANDS

/ADDPW,xxx                  password allowing additions to database
/AUTOSKIP                   automatic skip to next field when full
/BG,n                       background screen color 0-7 (note 1)
/CASEFIND                   case sensitive searches
/CASESORT                   case sensitive indexes and sorts
/CONDENSED,n,n              ASCII values to cause condensed print
/DELPW,xxx                  password allowing deletions in database
/DRIVE,x                    default disk for data
/EURODATE                   print dates in european date format
/EXPERT                     smaller menu prompts where possible
/FASTVIEW                   fastest screen writes (possible snow)
/FG,n                       foreground screen color 0-15 (note 1)
/FG2,n                      alternate color (field names, highlight)
/FILE,xxx                   default database name
/KEYIN,xxx                  keystrokes to run at startup
/LBL,xxx                    gives Snapshot label format (note 2)
/MODPW,xxx                  password allowing modify in database
/NORMAL,n,n                 ASCII values to cause normal print size
/NOTRAP                     don't trap disk errors and (Ctrl)(Break)
/PAGELEN,n                  size of page (number of print lines)
/PATH,xxx                   default subdirectory for data
/PRPORT,xxx                 printer output port
/SORTPW,xxx                 password allowing sorts on database
/SYSPW,xxx                  password allowing system operations
/USEPW,xxx                  password allowing use of the database
/XXXPW,xxx                  allows override of all passwords

Screen colors: background 0-7, foreground 0-15

0 black   4 red       8 gray         12 lt. red
1 blue    5 magenta   9 lt. blue     13 lt. magenta
2 green   6 brown     10 lt. green   14 yellow
3 cyan    7 white     11 lt. cyan    15 bright white

Snapshot Feature specification:

dev,t,f,f,f,f......

dev = LPT1:, LPT2:, MYFILE, etc.
t = no.  chars to tab in at left margin
f = field number, or command
0 = new line
-n = insert n spaces
'xx' = insert xx (a constant)
