home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / msdos / decus / RB139 / mail20r.lzh / MAILGLOB.INC < prev    next >
Text File  |  1988-10-11  |  5KB  |  106 lines

  1.   { File = MAILGLOB.INC -- Include file for Reliance Mailing List globals.
  2.     WPM, 2/24/86 }
  3.  
  4.   { COPYRIGHT (c) 1986, Wm Meacham, 1004 Elm Street, Austin, Tx  78703 }
  5.  
  6. {Modified for the DEC Rainbow by David P. Maroun on 11-Oct-1988.}
  7.  
  8. const
  9.     scr_fname  : string[14] = 'SCR.RML' ;    { system control file }
  10.     mf_fname   : string[14] = 'MASTER.RML' ; { master file }
  11.     ix1_fname  : string[14] = 'INDEX1.RML' ; { index file -- last name }
  12.     ix2_fname  : string[14] = 'INDEX2.RML' ; { index file -- zip + last name }
  13.     blanks     : string[30] = '                              ' ;
  14.  
  15.     wid   = 12 ;        { total width for $ amts, including decimal point }
  16.     frac  = 2 ;         { fractional part for $ amts -- 999999999.99 }
  17.     no_dups = 0 ;       { parameter for proc OpenIndex }
  18.     dups_ok = 1 ;       { parameter for proc OpenIndex }
  19.     key1_len = 6 ;      { length of key string -- 5 chars of last name }
  20.     key2_len = 15 ;     { length of key string -- zip + 5 chars of last name }
  21.     mf_rec_size = 216 ; { length of master record }
  22.     max_lines = 58 ;    { maximum number of lines on printed page }
  23.  
  24. type
  25.     str1   = string[1] ;
  26.     str3   = string[3] ;
  27.     str4   = string[4] ;
  28.     str5   = string[5] ;
  29.     str9   = string[9] ;
  30.     str14  = string[14] ;
  31.     str20  = string[20] ;
  32.     str30  = string[30] ;
  33.     str80  = string[80] ;
  34.     str132 = string[132] ;
  35.  
  36.     option = (count, add, change, del_rec,
  37.               contribution, list, labels, mailmerge) ;
  38.                                    { To pick needed proc from within overlay }
  39.  
  40.     prt_criterion = (all, pcat, pct, pzip, dt, amt) ; { which names to print }
  41.     sort_criterion = (name, szip) ;                   { how to sort }
  42.  
  43.     boolarray   = array [1 .. 8] of boolean ;
  44.     num_str_typ = string[15] ;    { '-999,999,999.99' }
  45.  
  46.     key1_typ = str5 ;
  47.       { The key is the first five characters of the last name, stripped of
  48.         blanks and capitalized. }
  49.  
  50.     key2_typ = str14 ; { zip code + key1_typ }
  51.  
  52.     mf_rec = record               { Master File record }
  53.         status     : integer ;    { 0 = active, else deleted }   { 2}
  54.         last_name  : str30 ;                                     {31}
  55.         frst_name  : string[18] ;                                {19}
  56.         title      : string[9] ;  { eg, Dr., Mr., Ms., etc }     {10}
  57.         salutation : string[11] ; { Dear ... }                   {12}
  58.         addr1      : string[25] ;                                {26}
  59.         addr2      : string[25] ;                                {26}
  60.         city       : string[23] ;                                {24}
  61.         state      : string[3] ;                                 { 4}
  62.         zip        : str9 ;                                      {10}
  63.         home_phon  : string[14] ;                                {15}
  64.         work_phon  : string[14] ;                                {15}
  65.         precinct   : str3 ;                                      { 4}
  66.         last_amt   : real ;       { last contribution amount }   { 6}
  67.         last_date  : date ;       { last contribution date }     { 6}
  68.         tot_amt    : real ;       { total contribution amount }  { 6}
  69.         flags      : byte ;       { 8 booleans, user-defined }   { 1}
  70.     end ;                                                { total 216}
  71.  
  72.     scr_rec = record              { System Control Record }
  73.         ID       : str30 ;        { descriptive identification }
  74.         num_k,                    { disk capacity }
  75.         max_rec,                  { max master records allowed }
  76.         num_recs : integer ;      { number of records used }
  77.         prt_init,                 { printer initialization string }
  78.         prt_rset : str4 ;         {    "    reset string }
  79.         cat_name : array [1..8] of str20 ; { selection category names }
  80.     end ;
  81.  
  82. var
  83.     scr         : scr_rec ;       { system control record }
  84.     master      : mf_rec ;        { master record }
  85.     key1        : key1_typ ;      { key1 work area }
  86.     key2        : key2_typ ;      { key2 work area }
  87.  
  88.     scr_file    : file of scr_rec ;
  89.     mf_file     : datafile ;      { master file -- type def. in ACCESS.BOX }
  90.     ix1_file    : indexfile ;     { index file -- type def. in ACCESS.BOX }
  91.     ix2_file    : indexfile ;     { index file -- type def. in ACCESS.BOX }
  92.  
  93.     rec_num     : integer ;       { relative record number of master rec }
  94.     cat         : boolarray ;     { selection categories }
  95.     choice      : integer ;       { to get menu selection }
  96.     cur_proc_dt : date ;          { current processing date }
  97.     drive       : str1 ;          { drive where data files exist }
  98.  
  99.     mask        : byte ;          { to select category }
  100.     pcinct      : str3 ;          { to select precinct }
  101.     zipcode     : str9 ;          { to select zip code }
  102.     lastdt      : date ;          { to select date }
  103.     contrib     : real ;          { to select amount }
  104.  
  105. { ----- EOF MAILGLOB.INC ------------------------------------------- }
  106.