home *** CD-ROM | disk | FTP | other *** search
- .. FORMFORM.DWS March 8, 1982
- .op
- .mt 0
- .hm 0
- .fm 0
- .mb 0
- .po 0
- .. DIMS has a built-in facility for designing a form for the display and
- .. printing of a file. To make DIMS use your form design, you must create
- .. a format control file with all the detailed specifications in it. There
- .. are two ways to make this ".DFO" file. One is to use the transient com-
- .. mand "cform" which can type a form for you to fill out and then accept the
- .. specifications. Another way is to edit this file with WordStar, changing
- .. the numbers to fit your design. Once a ".DFO" file has been created, you
- .. can switch the dislay to that form by typing "format <name>" as a DEDIT
- .. command. DEDIT will respond with "Format <name> loaded."
- ..
- .. To make a format control file for the DIMS file <name>, start Word-
- .. Star, select the N mode and make your file name <name>.DWS. As soon
- .. as you're in the file, do ^KR, and give the name FORMFORM.DWS. This will
- .. read in this file into your workfile. This file contains all the
- .. values which produce the default format (format 0). You will want to
- .. edit these values to design your forms. You may then delete these instruc-
- .. tions to save space, but the single . commands at the top are essential.
- ..
- .. A single format specification controls both screen display and the form
- .. on the printer. These forms may be the same or as different as you
- .. like, only the sequence of fields must be the same for both. Note in
- .. the form below that many items have two values on the line. The second
- .. value is for the printer. The DEDIT variable names into which the
- .. the parameters are read are given for debugging. THE LINES WITH NO DOTS
- .. BECOME THE FORM CONTROL FILE, THEY MUST KEEP EXACTLY THE SAME NUMBER OF
- .. LINES AND ITEMS IN EACH LINE.
- ..
- .. After you have made all the changes you need, save and print it to a
- .. disk file <name>.DFO, which will make all the .. lines disappear.
- .. Edit the .DFO file and delete the extra blank line which may appear
- .. at the end. Try out the format on the DIMS file. To make corrections
- .. edit <name>.DWS again, and "re-assemble" the .DFO file by printing to
- .. disk again.
- ..
- .. Words and numbers will be read as data input items by a Basic INPUT#
- .. statement. Therefore there must be the expected number of words on
- .. each line, or everything after the error will be loaded into DEDIT
- .. wrong, and you will get the message "Error in loading format." and/or
- .. DEDIT will crash. Some of the items are input by DEDIT as whole lines
- .. (LINE INPUT#), and these can have commas or anything you want.
- ..
- .. Code begins here.
- ..
- .. FO$ Name of this format
- DEFAULT
- .. FFD$ Who wrote it, date of last update
- Dan 12/8/81
- ..
- .. PARAMETERS FOR THE WHOLE SCREEN AND PAGE
- ..
- .. TM: Top margin lines LTM: Top margin lines (printer)
- 0 4
- .. (not used for screen) LLM: Left margin
- 0 13
- .. SW: Screen width LW: Printing width
- 80 95
- ..
- .. The following parameters, if not 0, will position a form on the screen
- .. and not use scrolling. This type of form may have bugs in DEDIT.
- .. RS: Records/screen RP: Records/page
- 0 0
- ..
- .. If the printer is at or past the conditional page line, it will ad-
- .. vance to the next page. Set to the number of lines on the page minus
- .. the top plus bottom margins, minus the normal number of lines used by
- .. a record. This deals with the fact that extra-long data items in for-
- .. mats that don't limit the length of the field may overflow into extra
- .. lines on the printer. Dims keeps track of this.
- .. (not used for screen) LLP: Conditional page line
- 0 52
- ..
- .. These parameters apply to printers with variable character and line
- .. spacing, DEDIT is set up for Diablo 1610/1620.
- .. HMI: 120th of an inch per character (use 10 for 12 per inch)
- 10
- .. VMI: 48ths of an inch per line (use 8 for 6 per inch)
- 8
- .. FSC$: Reserved for future enhancement.
- 0
- ..
- .. The next three lines are heading lines for the screen display. They
- .. will be printed only if something is entered on the line. You must
- .. keep three lines here whether you enter anything on them or not.
- .. HL1$: If this line ends on a space, "PAGE" and the page number will
- .. be added automatically.
-
- .. HL2$:
-
- .. HL3$:
-
- ..
- .. The next three lines are heading lines for each printed page. Same
- .. as above.
- .. LHL1$: If this line ends on a space, the page number will print after.
-
- .. LHL2$:
-
- .. LHL3$:
-
- ..
- .. HB: Blank lines after head. LHB: Blank lines after heading.
- 0 1
- ..
- .. PARAMETERS FOR EACH RECORD OF THE FILE
- ..
- .. The record number mode can be 0 (don't show number) or 1 (on).
- .. RM: LRM:
- 1 1
- ..
- .. Location line parameters are used for forms which don't scroll. They
- .. display fields at fixed positions on the screen or page. Make all
- .. location line parameters 0 in a scrolling format. The top line of the
- .. screen is line 1. The first location line parameter is the line to print
- .. the record number on:
- .. RLL: LRLL:
- 0 0
- ..
- .. Location column parameters position the printhead or cursor. If there
- .. is no CR/LF after the previous item and the location column is 0, the
- .. item will be printed after the previous item, wherever that may have
- .. left the printhead. To print "Lastname, Firstname" define the field
- .. name for the Firstname field as ", ". Use Column 1 to position at the
- .. left margin; 0 means put it wherever it is.
- ..
- .. Record number location column:
- .. RLC: LRLC:
- 0 0
- .. The number of CR/LF's after the record number:
- .. RNB: LRNB:
- 1 1
- ..
- .. The following sequence of numbers determines the order in which the
- .. fields of the file will be printed, on both the screen and the prin-
- .. ter. THERE MUST BE A ZERO TO TERMINATE THE SEQUENCE.
- .. SQ():
- 1 2 3 4 5 6 7 8 0
- ..
- .. Number of CR/LF's or blank lines after the whole record:
- .. EB: LEB:
- 0 1
- ..
- .. PARAMETERS FOR EACH FIELD IN RECORD. USE BLOCK COPY TO REPEAT THIS
- .. BLOCK AS MANY TIMES AS THERE ARE FIELDS TO BE SHOWN IN THE FORMAT.
- .. FIELDS ARE DESCRIBED IN THE ORDER THAT THEY APPEAR IN THE FORMAT.
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (whole line - used in mode 2 only).
-
- .. LF2$(): Printer field name (whole line - used in mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field and the following lines are not blank,
- .. the line will be used as a MBASIC PRINT USING string.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
- .. The FIELD NAME MODE may be 0, 1 or 2. 0 means no field name, 1 means
- .. the 4-char default name, and 2 indicates a name will be entered.
- .. FM(): LFM():
- 1 1
- .. F2$(): Screen field name (line - mode 2 only).
-
- .. LF2$(): Printer field name (line - mode 2 only).
-
- .. NLL(): Field name loc. ln. LNLL(): Field name location line
- 0 0
- .. NLC(): Name location col. LNLC(): Field name location column
- 0 0
- .. The number of CR/LF's after the field name:
- .. FMB(): LFMB():
- 0 0
- .. The location line to print the field data:
- .. DLL(): LDLL():
- 0 0
- .. The column at which to print the field data:
- .. DLC(): LDLC():
- 8 8
- ..
- .. If the field is a numeric field, a MBASIC PRINT USING string entered
- .. here will be used.
- .. PU$(): Numeric PRINT USING string for screen.
-
- .. LPU$(): Numeric PRINT USING string for printer.
-
- .. Field length. Fields may be truncated to a certain number of char-
- .. acters to fit in the space designed. 0 means that whatever random
- .. length it is will be printed. -1 means that the field will be skipped
- .. (so you can show a field on the screen but skip it on the printer).
- .. FL(): LFL():
- 0 0
- .. Number of CR/LF's after this field (use 1 at end of line if necess.)
- .. FB(): LFB():
- 1 1
- .. (end field)
- ..
-