PC-FILE 5.0 QUICK REFERENCE CARD SPECIAL KEYS WHEN TYPING KEY FUNCTION + Browse up - Browse down (Alt)C Calculator hot-key (Alt)D drop to DOS (Alt)E activate Editor (in memo field) (Alt)H HELP (Alt)I Switch to next index (Alt)J Jingle (place a phone call) (Alt)M load new Macro smart keys (Alt)P Print screen (cleaned up) (Alt)T TEACH mode (on/off) (Alt)V View memo field data (Alt)X force PC-File to use current indeX (Alt)Y Smart key memorize (on/off) (Ctrl)A accept data (same as (F10)) (Ctrl)B blank right, to end of field (Ctrl)D duplicate all of previous record (Ctrl)E activate Editor (in memo field) (Ctrl)F duplicate Field from previous record (Ctrl)J Jingle (place a phone call) (Ctrl)L print a Label (Snapshot) (Ctrl)O Flip the flip data character (Ctrl)P Print screen (cleaned up) (Ctrl)R read into memory (Ctrl)W write from memory (Del) delete the character at the cursor down arrow move cursor to following field or line (End) cursor right, past last significant character (Enter) move cursor to next field (Esc) cancel this operation (F10) accept data (Home) cursor left, to start of field (Ins) Insert mode (on/off) left arrow move cursor left 1 position (PgDn) move cursor to next data entry screen (PgUp) move cursor to previous data entry screen right arrow move cursor right 1 position tab move cursor to next field, or move browse window one field to the right tab left 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 DEFINING THE DATABASE Edit mask examples: :azAZ: allows only alphabetic characters :AAaaEEeeIIiiOOooUUuu: allows only vowels :09//-- : good for date fields Automatic Fields (In edit mask area) :DATE*: mm-dd-yy :MM/DD/YY*: mm/dd/yy :YYMMDD*: yymmdd :YYYYMMDD*: yyyymmdd :MO*: mm :DY*: dd :YR*: yy :TIME*: hh:mm :DD/MM/YY*: dd/mm/yy :UNIQUE*:*A unique no. :DUPE*: auto dupe Automatic field can also have an input edit mask: :DATE*09//: Automatic field only when adding records: :DATE*:*A Automatic field only when modifying: :DATE*:*M Automatic field only when blank: :DATE*:*B Automatic Constant "New York City" "Des Moines"*A (only when adding records) "Milton Freewater"*M (only when modifying) "Completed"*B (only when blank) Calculated fields example: ((cost + adjustments) / 100).2 Relational lookup example: (@empno,empmast,empnumber,salary)*B FIND: TYPES OF SEARCHES xxx generic (exact, first part) ~xxx scan across ?xxx sounds-like ___x wildcard WHEN CALCULATIONS ARE ASKED FOR: arithmetic operators: + addition - subtraction or negation * 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 a random number between 0 and 1 (@TODAY#) creates todays relative "day number" (@DAY#,mask) get date from stack, convert to day# mask tells date format: ymd ydm mdy myd dmy dym yymmdd (@DATE,mask) get day# from stack, convert to date mask tells date format: examples mdy/ dmy- (@key1,dbase2,key2,answer2) a relational lookup (@*,answer3) a subsequent relational lookup into same record example arithmetic calculation: ((cost + adjust) / 100) example comparison calculation: ((age >= 21 & age < 40) & sex = "F") example date arithmetic: difference between 2 dates (date2(@DAY#,mdy) - date1(@DAY#,mdy)) example date arithmetic: date 60 days later ((date1(@DAY#,mdy) + 60)(@DATE,mdy/)) COMMANDS WITHIN SMART KEY DATA F1 [315] rt arrow [333] (Alt)P [281] F2 [316] End [335] (Alt)T [276] F3 [317] down arrow [336] (Alt)V [303] F4 [318] PgDn [337] (Alt)Y [277] F5 [319] Ins [338] (Ctrl)A [1] F6 [320] Del [339] (Ctrl)B [2] F7 [321] Tab [9] (Ctrl)D [4] F8 [322] Shift Tab [271] (Ctrl)E [5] F9 [323] (Alt)C [302] (Ctrl)F [6] F10 [324] (Alt)D [288] (Ctrl)J [10] Enter [13] (Alt)E [274] (Ctrl)L [12] Home [327] (Alt)H [291] (Ctrl)O [15] up arrow [328] (Alt)I [279] (Ctrl)P [16] PgUp [329] (Alt)J [292] (Ctrl)R [18] lft arrow [331] (Alt)M [306] (Ctrl)V [22] (Ctrl)W [23] REPORT COMMAND LANGUAGE The sections of the report :COVER once at beginning of report :HEADING top of each page :DETAIL once for each record printed :SUBTOTAL at each subtotal break :FOOTING bottom of each page :TOTAL at end of the report Commands in filename.rep (1 command per line): [xxx] field xxx data prints here [COUNT*] print count of records printed so far [DATE*] today's date prints here [KEYIN*prompt] ask operator input, print here [PAGE*] print page number here [RECORDS*] print no. of records in database [SELECT*] print the selection criteria [SORT*] print the primary sort field name [SUBCMD*n] print subtotal trigger formula [SUBCOUNT*n] print count of records in subtotal group [SUBFLD*n] print field name of subtotal break field [SUBID*n] print data from subtotal break field [SUBLEVEL*] print level number of subtotal break [TIME*] the current time prints here A nn,nnn,nn print ASCII printer control codes here field xxx data (excess spaces removed) "xxx" a constant =nn tab to column nn /n insert n newlines .FF form feed to new page .CP nn conditional skip to new page .IF (calc.) if calc is true, include following commands .ELSE if calc is not true, include following .ENDIF end of IF construct .GROUP start a group (no blank lines) .EGROUP end a group .EGROUP R end a group, replace blank lines (a+b):z,zz#.##: a calculated answer, with output mask (@K1,DB,k2,x2):@@@: a relational lookup (@*,fld):@@@@: a relational lookup into the same record Output Edit Masks (examples) :@@@@@@@@@@@@: a character field mask :#####: numbers, all digits appear :zz,zz#.##: zero suppress, with commas :$$$$$$.##: floating dollar sign :******.##: asterisk check protection :=12,0,100,* : bar chart mask :WWWWWW: word wrap mask :: null mask (nothing prints) MAIL-MERGE COMMANDS (IMBED IN LETTER) . insert data, blanks stripped .[fieldname] insert data, no blanks removed . insert data from keyboard . 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 .IF (calculation) if calc is true, include following .ELSE " not true, include " " .ENDIF end of IF construct .<(a+b):z,zz#.##:> a calculated answer .<(@K1,DB2,k2,x2):@@@@@@:> a relational lookup answer SORT ALTERNATIVES (SORT FIELD #n) fieldname sort on entire field fieldname,3,5 data starts in byte=3, length=5 fieldname,R Roman Numeral sort fieldname,S sounds-like sort (@RANDOM#) random sequence (fieldname(@DAY#,mdy)) sort on field that's in mm/dd/yy format COMMANDS IN PROFILE FILES /ADDPW,xxx password allowing additions to database /AUTOSKIP automatic skip to next field when full /BG,n set background screen color 0-7 (note 1) /BGW,n set background window color 0-7 (note 1) /CASEFIND searches will be case sensitive /CASESORT sorts will be case sensitive /CONDENSED,n,n ASCII values to cause condensed print /DELAY,n slow down smart keys n/18 of a second /DELPW,xxx password allowing deletions in database /DRIVE,x default disk for data /EGA use 35 lines on EGA or 40 lines on VGA /ENTER Force Enter key to behave like (F10) key /EURODATE Use european date format in reports /EXPERT smaller menu prompts where possible /FASTVIEW fastest screen writes (possible snow) /FG,n set foreground screen color 0-15 (note 1) /FG2,n set alternate color (field names, highlight) /FGW,n set foreground window color 0-15 (note 1) /FILE,xxx default database name /KEYIN,xxx keystrokes to run at startup /LAN turns on LAN file sharing mode /LBL,xxx gives Snapshot Label format (note 2) /MEMOW,n the width of the Memo window /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 (no. of print lines) /PATH,xxx default subdirectory for data /PHPORT,COMx The COM port to Jingle phone calls thru /PHPRE,xxx Telephone "connect" command characters /PRPORT,LPTx printer output port /SORTPW,xxx password allows sorts on database /SYSPW,xxx password allows system operations /USEPW,xxx password allows use of the database /VGA use 35 lines on EGA or 40 lines on VGA /XXXPW,xxx password allows override of all passwords Note 1. Screen colors: bg 0-7, fg 0-15, fg2 0-15, bgw 0-7, fgw 0-15 0 black 5 magenta 10 lt. green 1 blue 6 brown 11 lt. cyan 2 green 7 white 12 lt. red 3 cyan 8 gray 13 lt. magenta 4 red 9 lt. blue 14 yellow 15 brt white Note 2. 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) SPECIAL KEYS IN EDITOR Cursor movement keys End Move to last character of current line. Home Move to first position on line. PgDn Shift down one screen (if enough left). PgUp Shift up one screen (if enough left). Ctrl End Move to lower left corner of current window. Ctrl Home Move to upper left corner of current window. Ctrl Lft Arrow Move to beginning of previous word. Ctrl PgDn Move to bottom line. Ctrl PgUp Move to top line. Ctrl Rt Arrow Move to beginning of next word. Shift Tab Tab to the left Tab Tab to the right Commands Ctrl \ Split line at cursor Ctrl A Toggles automatic paragraph wrapping Ctrl B Mark corner of block Ctrl C Copy marked area (to below cursor) Ctrl D Delete blocked area Ctrl E Erase from cursor line to end of document Ctrl F Fill marked area with selected character Ctrl L Mark line or lined area Ctrl M Move marked area Ctrl O Overlay marked area Ctrl R Reformat blocked area. If no area blocked, reformats current paragraph Ctrl U Unmark the marked area Ctrl V Enable / disable "whoops" key Ctrl W "Whoops" - Recall previous buffer Esc Inserts esc character in text - two Esc strokes in a row exit the editor F3 Menu of editor commands F5 Delete current line F6 Erase from cursor to end of line F10 Exit and keep all changes COMMANDS FOR USER-DEFINED INDEXES ABS(num) DAY(date) ISDIGIT(char) ASC(char) DESCEND(char) ISLOWER(char) AT(str,str) DOW(date) ISUPPER(char) CDOW(date) DTOC(date) LEFT(char,len) CHR(num) EXP(num) LEN(char) CMONTH(date) IIF(cond,expr,expr) LOWER(char) CTOD(char) INT(num) LTRIM(char) DATE() ISALPHA(char) MAX(num,num) MIN(num,num) RIGHT(char,num) STUFF(char,num,num,char) MOD(num,num) ROMAN(char) SUBSTR(char,num,num) MONTH(date) ROUND(num,num) TIME() RECCOUNT() RTRIM(char) TRIM(char) RECNO() SOUNDEX(char) TYPE(any) RECSIZE() SPACE(num) UPPER(char) REPLICATE(char,num) STR(num,num,num) VAL(char) YEAR(date)