home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / mailit.zip / MCOMPILE.DOC < prev    next >
Text File  |  1986-04-05  |  4KB  |  88 lines

  1. SOURCE CODE FILES
  2.  
  3. The program is written in Turbo Pascal, version 2.0 for CP/M and
  4. 3.0 for MS/PC-DOS.  Version 3.0 does not use BCD reals or the
  5. 8087 support.  The program uses the Turbo Access routines found
  6. in the Turbo Database Toolbox.  Most of the procedures are
  7. overlayed, so the object code is in two files, MAIL.COM, the
  8. root, and MAIL.000, the overlay file.
  9.  
  10. The program source code is contained in the following files:
  11.  
  12.      MAIL.PAS                   The main program
  13.      ACCESS.BOX, GETKEY.BOX,    Turbo Access routines -- not
  14.      ADDKEY.BOX, DELKEY.BOX     included with the program --
  15.                                 you must buy them from Borland
  16.                                 International
  17.      IO20.INC                   Formatted input/output routines
  18.      MAILDATE.INC               Reading and writing dates
  19.      MAILGLOB.INC               Global declarations
  20.      MROOT1.INC, MROOT2.INC     Miscellaneous routines that are
  21.                                 called by more than one procedure
  22.      MINIT.INC                  Routines to initialize the
  23.                                 program when it is first started
  24.      MSETUP.INC                 The Set-Up menu
  25.      MADDETC.INC                Add, change, delete a name and
  26.                                 record contributions
  27.      MPRINT.INC                 Print list of names and labels
  28.      MAILMERG.INC               Create mailmerge file
  29.  
  30.  
  31. TO COMPILE FOR CP/M
  32.  
  33. In file IO20.INC, comment out the version of procedure KEYIN that
  34. is for MS/PC-DOS and un-comment the version that is for CP/M,
  35. specifically the Kaypro.  In file MINIT.INC, make sure that the
  36. two calls to the BDOS procedure are NOT commented out.  These are
  37. the only places the source code differs between CP/M and
  38. MS/PC-DOS.  This is one of the many reasons I like Turbo Pascal
  39. so much -- the code is very portable.
  40.  
  41. Compile to a COM file with the End address set to $D440.  This
  42. leaves plenty of room for different size operating systems.
  43.  
  44.  
  45. TO COMPILE FOR MS/PC-DOS
  46.  
  47. In file IO20.INC, comment out the version of procedure KEYIN that
  48. is for CP/M and un-comment the version that is for MS/PC-DOS.  In
  49. file MINIT.INC, make sure that the two calls to the BDOS
  50. procedure are commented out (they are plainly marked).  These are
  51. the only places the source code differs between CP/M and
  52. MS/PC-DOS.
  53.  
  54. You probably do not have to overlay the program for MS/PC-DOS,
  55. although I have done so just to ensure source code portability.
  56. The overlay procedures are in files MINIT.INC, MSETUP.INC,
  57. MADDETC.INC, MPRINT.INC, and MAILMERG.INC.  Search for the
  58. keyword "overlay" and delete it before compiling.
  59.  
  60.  
  61. DATA FILE STRUCTURE
  62.  
  63. There are four data files, defined in MAILGLOB.INC:
  64.  
  65.      SCR.RML                    File of one record, the System
  66.                                 Control Record.  This is read at
  67.                                 the beginning of the program and
  68.                                 when the user changes diskettes
  69.                                 using Main Menu Option 9 and is
  70.                                 written only when the information
  71.                                 changes.
  72.      MASTER.RML                 The master file containing the
  73.                                 name and address records.  It is
  74.                                 of type Datafile, defined in the
  75.                                 Turbo Access routines.
  76.      INDEX1.RML                 Turbo Access Indexfile,
  77.                                 containing the last name index,
  78.                                 which is the first five
  79.                                 characters of the last name,
  80.                                 purged of blanks and made all
  81.                                 upper case.
  82.      INDEX2.RML                 Indexfile containing the zip
  83.                                 code index, the zip code plus the
  84.                                 last name key.
  85.  
  86. The program can print records in name or zip order without
  87. resorting because it keeps both indexes current.
  88.