PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #218)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “ADDRESS MANAGER”

ADDRESS MANAGER helps you keep multiple databases of names, addresses,
phone numbers, and useful comments.  You can add new entries and delete
or update current ones easily.

The program is especially designed to address envelopes -- always a
problem area, as well as print labels and even entire mailing lists.
Labels can be printed on sheets from one to four across, and all
entries can be sorted by zip code before printing.

ADDRESS MANAGER menus are function-key driven.  On-line help is
available from each menu.  This provides a quick and user-friendly
interface, one that is easy to learn and use.

ADDRESS.DOC





                         Address Manager Program - Version 4.1

      1.  Overview

      The  Address Manager is primarily a mailing list program which can  meet
      most  home  and  business applications.   It  is  designed  to  maintain
      multiple  databases  of names,  addresses,  phone numbers,   and  useful
      comments.    Every  person  or place of business can be organized  as  a
      database  entry.    New  entries can be added and current  ones  can  be
      deleted or updated easily.   The Address Manager has a powerful retrieve
      facility  which  allows  you  to find a database  entry  by  just  about
      anything  (e.g.  name,  zip code,  state,  area code).   It is also well
      suited  for  addressing  envelopes and  printing out  lists  of  labels.
      Because of its implementation of using memory resident databases, you'll
      probably  find the Address Manager much faster than other  mailing  list
      programs.

      The Address Manager is easy to learn since it comes with on-screen help.
      Help  is  available from any menu by pressing the ESCape key.    General
      help  as  well  as specific help on each function  is  available.    The
      Address Manager has 3 display menus which are function key driven.  Each
      command (function) is invoked by pressing a function key.

      Many  enhancements have been made over previous versions. Following is a
      list of the major new features:
              Up to 4 columns of labels may be printed
              Larger database file size
              Retrieve on any string
              On-screen help for all menus
              Entries in database may be marked for selective use
              Can print only selective portion of database for labels
              Attention line available for printing envelopes
              Can sort database by zip code or name
              Startup  configuration file:  You can specify a database
                  file to read in on startup; your printer can be set up in
                  some desired state automatically
              Basic utilities are included for converting between database
                  files and edit files and for creating a phone list
                  (You can load a database from an edit file!)

      The Address Manager is designed to run on the IBM Personal Computer with
      either the monochrone or composite (B/W or color)  displays.  It is menu
      oriented  with menus designed for each type of monitor.   There are  two
      menu files supplied,  one designed for color monitors and  one  designed
      for monochrone monitors.  [Use color menus for an EGA based system.]

      This program may be incompatible with some IBM PC clones.   It  bypasses
      DOS services when displaying a menu.   This helps make the program  very
      fast.  In case of compatibility problems, let me know.  A simple program
      modification may be all that is necessary.





                                            1
                                     Address Manager








      2.  General Menu Information

      There are three program menus from which all operations  are  initiated:
      the Database Menu for loading, saving, and sorting database files,   the
      Maintenance  Menu  for database maintenance,  and  the  Print  Menu  for
      printing labels,  envelopes,  or a whole database.   The  menus  contain
      unprotected fields for entering data.   Unprotected fields are areas  on
      the screen which you can modify by typing over its contents.  Each field
      is identified by the  word or phase which appears on  the  screen before
      it.    The cursor will automatically move to the  next unprotected field
      when typing  beyond the current one.   Also pressing  'Tab'  or 'Return'
      will move the cursor to the next field.   Pressing a 'Backtab' will move
      the cursor to the previous field.   The 'Home' key moves  the cursor  to
      the first field and the 'End'  key moves the  cursor to  the last.   The
      cursor  arrow  keys  allow  you to move the cursor to  anywhere  on  the
      screen.   However typing a number or letter will cause to cursor to jump
      to the next field.   The 'Insert'  and 'Delete'  keys are functional for
      contents  within a field.   Some unprotected fields are also used by the
      Address  Manager to output information to you.   All other positions  on
      the menu are protected and cannot be modified.


      3.  Database Menu

      This is the menu first seen when the Address Manager program is invoked.

      The  Database  menu reads address database files from disk into  memory,
      invokes the Maintenance menu, sorts memory contents by name or zip code,
      and  writes  memory  contents to disk  files.    The  following  diagram
      illustrates the function of this menu:

                     F5 - Read                         F7, F8
        +------+    ------------>    +----------+   <----------->  Sorting
        | Disk |                     | Computer |
        | File |     F6 - Write      |  Memory  |        F10       Maintenance
        +------+   <------------     +----------+    ----------->     Menu

      The  Database  menu allows you to select an address database  file  from
      your disk to work with.  A copy of it is made in memory (F5).  This copy
      may be modified by the Maintenance menu (F10).   It can also be  written
      back out to disk (F6), either overwriting an existing file or creating a
      new one.

      Functions for this menu are as follows:
           F1  - Exit Program
           F5  - Read Database               F6  - Write Database
           F7  - Sort by Name                F8  - Sort by Zip Code
                                             F10 - Go To Maintenance Menu

      F1:  Exit Program  -  Returns control back to DOS.   After pressing this
           key,  the Address Manager will prompt you to press it again to exit
           (so you will not accidently exit the program by pressing this key).
           Pressing  this  key  a  second time  will  terminate  the  program.
           Pressing any other key will cancel this function.


                                            2
                                     Address Manager







           CAUTION:    If  you  are creating a new database,  or  if  you  are
           modifying  an  existing  database file and you want  to  save  your
           changes on disk,  make sure you use function key 6 before  exiting.
           Otherwise your work will be lost.

      F5:  Read Database  -  Reads the database  file listed in the first menu
           input  field  (it appears in inverse  video  following  "F5  - Read
           Database") into memory.   You may type in any valid Address Manager
           database file name into this field before pressing this key.

           If  no  database file has been loaded,  or if the current  database
           file  has  not been modified,  or if the current database has  been
           saved (F6), the new database file is read in.  Otherwise, a  second
           push  of this function key is required (Address Manager will prompt
           you   so   you  will  not  inadvertantly  wipe  out   the   current
           modifications  before saving them).  Hitting any other key  cancels
           the operation.

           Upon completion of this function, the read database field is copied
           into  the  write database field (the inverse video field  following
           F6).    This helps you from later inadvertantly updating the  wrong
           database file when you use F6.

           Note:    It  is  not necessary to read in a  database  file  before
           invoking  F10.   This  is  what is normally done to  create  a  new
           database file.

      F6:  Write Database - Updates or creates a database  file on disk.   The
           current  memory contents will be written to the file listed in  the
           Write Database field following F6 on the menu.

           Upon  invoking  this  key,   Address Manager  will  check  for  the
           existence of the file.  If the file exists, a  prompt will be given
           to update the file.  If the file doesn't exist,  a  prompt will  be
           given to create the file.   A second push of this key (F6)  is then
           required  to complete the operation.   Hitting any other  key  will
           cancel  the operation.   Writing the database makes  permanent  any
           changes made with the Address Manager Maintenance menu.

      F7:  Sort By Name  -  Sorts the current memory contents in  alphabetical
           order  by  name.   The "Name"  field for each database  entry  (see
           regular documentation for more information on "Name" field) is used
           for sorting.

      F8:  Sort By Zip Code  -  Sorts the current memory contents  in  numeric
           order  by zip code.   The "Address" fields for each database  entry
           (these are displayed on the Maintenance menu)  are searched to find
           the zip code.   The zip code must be the last item in the "Address"
           fields in order to be found.   Both regular 5 digit zip  codes  and
           extended  zip codes of the form xxxxx-xxxx are  supported.    Those
           entries whose zip codes are not found are moved to the beginning of
           the database.

      F10: Go To Maintenance Menu - Brings up the Maintenance menu.



                                            3
                                     Address Manager







      4.  Maintenance Menu

      The Maintenance Menu is displayed by pressing F10  on the Database  Menu
      or  F1  on the Print Menu.   This menu is used to create,  update,   and
      delete entries of the database loaded in memory.  Changes made here (F5,
      F6,  and F7)  do not necessarily affect your database file on disk.   To
      make your changes permanent, you must use F6 on the Database menu.

      Two  keys  (F3   and  F4)  allow you to step  through  the  database  by
      displaying  the next or previous entry.   You can display only selective
      entries by using the "Selective Entries"  field on this menu.   Then any
      entry can be displayed by F3  or F4  only if some portion of its  second
      comment field exactly matches the "Selective Entries"  field.   Thus the
      second  comment  field  can help distinguish entries of  relatives  from
      those of businesses.

      The  "Mark"   field  is  used to mark entries (F8)   for  later  use  by
      "Selective  entries".   For instance,  you may want to mark relatives by
      marking those entries with "/R".

      Functions for this menu are as follows:
           F1  - Return To Database Menu     F2  - Clear Entry
           F3  - Get Previous Entry          F2  - Get Next Entry
           F5  - Add New Entry               F6  - Update Current Entry
           F7  - Delete Current Entry        F8  - Mark Entry (Update)
           F9  - Retrieve                    F10 - Go To Print Menu

      F1:  Return To Database Menu - The Database menu is displayed.

      F2:  Clear Entry - Clears the "Name", "Address", "Phone",  and "Comment"
           fields with spaces.  The database in memory is not affected.

           You may use this function to clear those fields prior to filling in
           and adding a new entry.

      F3:  Previous Entry - Displays the previous entry in the database.

           If  any  characters have been typed into  the  "Selective  Entries"
           field,  then the previous database entry which has those characters
           in its second comment field will be found.

      F4:  Next Entry - Displays the next entry in the database.

           If  any  characters  have been typed into the  "Selective  Entries"
           field,   then the next database entry which has those characters in
           its second comment field will be found.

      F5:  Add Entry -  Adds the displayed entry to the database.   The "name"
           field must  not match that of another entry in the database  or  an
           "entry already exists" error will occur.   New entries are added in
           alphabetical  order  if  the database is  already  in  alphabetical
           order.





                                            4
                                     Address Manager








      F6:  Update Entry  -  Updates the displayed entry in the database.   You
           would normally display an entry first using F3,  F4,  or F9  first,
           make changes on the menu,  then press this key.  You can also enter
           the  whole  entry  manually,  then press this key.    You  will  be
           prompted to press this key a second time to complete the operation.

           The  "name"  field  must  exactly match that of  an  entry  in  the
           database.   Otherwise an "entry not found" error will occur.   Thus
           you  can not use this key to modify the "name" field for an  entry.
           To  modify the "name" field a combination of adding the  new  entry
           (F5) and deleting the old entry (F7) should be done.

           You can also use this key to manually mark entries (marking is done
           using  F8)   or to remove a mark by modifying  the  second  comment
           field.

      F7:  Delete Entry - Deletes the displayed entry from the database.  Only
           the  "name"  field needs to be filled in.   The "name"  field  must
           belong to an  entry in the database or a "nonexistent entry"  error
           will occur.

      F8:  Mark Entry  (Update) - Places the contents of the "Mark" field into
           the second comment field at the end of any contents there.  You may
           also  mark  an  entry by typing into the second comment  field  and
           updating the entry using F6.

           Marking an entry allows you to distinguish entries.   All relatives
           could be marked with "/R"  or some other indicator by placing those
           characters into the second comment field.   Then placing "/R"  into
           the  selective  entries  field  will cause you only  to  see  those
           entries when you are stepping through the database (F3 and F4).

      F9:  Retrieve  -  Retrieves and displays an entry in the database.   You
           may  retrieve by anything that appears in an entry.   For instance,
           to find the first Smith in the database, just place "Smith"  in the
           retrieve field and press F9.  To find the first entry having a area
           code of 303, place "303" in the retrieve field and press F9.

           After  retrieving  the first entry,  the contents of  the  retrieve
           field are shifted to the right 1 character and a "+"  is placed  at
           the beginning (e.g.  "Smith"  becomes "+Smith",  or "303"   becomes
           "+303").   If you press F9  again,  the "+"  means to retrieve  and
           display the next occurence in the database.

           To  find the next Smith from the current displayed entry,  fill  in
           "+Smith" and press F9.

      F10: Go To Print Menu - Brings up the Print menu.








                                            5
                                     Address Manager








      Other relevant information:

      The  numbers in the upper right hand corner of the box in the menu  show
      the  total  number  of  database entries and the  present  size  of  the
      database by percent.  The size in percent cannot grow beyond 100%.   Use
      it as a guide to determine when you might run out of room.  The database
      should be large enough for most home users.  Each database file can hold
      from  250   to 1200  entries depending on the amount of information  per
      entry.    My database of friends and relatives contains 62  entries  but
      only  takes 15%  of the maximum file size.   Some businesses may need  a
      much larger data base than  for  which this  program was  designed.   To
      accomodate  these users,  multiple database files may be  utilized.    A
      future version of the Address Manager will likely allow even much larger
      database files.

      The  name field of each database entry will be transposed by  the  Print
      menu  if a comma followed by a space is encountered.   For  example,  an
      entry which has
                      "Smith, John D                  "
      on the name field will be displayed as and printed as
                      "John D Smith                   ".
      This is handy as you can organize the database by last name but print it
      normally.   If you want to use a comma but don't want a transpose of the
      name field, use an underscore instead of a blank:
                      "AJAX,_Inc.                     ".
      The  Print menu will display and print the first underscore on the  name
      field as a blank:
                      "AJAX, Inc.                     ".
      As a further example,
                      "Smith,_PhD., John D            "
      will be displayed and printed by the Print menu as
                      "John D Smith, PhD.             ".

      The  name  field must be unique for each entry in the  database.    This
      could be a problem if someone has two addresses.   If you want to  place
      the  same  name in a database file more than once,  use a vertical  bar.
      The vertical  bar and anything to the right of it will not be  displayed
      or  printed  by  the  Print menu.   The position of  the  bar  can  also
      designate a new entry.   The following name fields are considered unique
      by the Address Manager:
                      "Smith,_PhD., John D   |        ",
                      "Smith,_PhD., John D   |1       ",
                      "Smith,_PhD., John D    |       ".
      In each case the following is printed:
                      "John D Smith, PhD.             ".

      The comment fields of each database entry have a dual purpose.  They are
      handy  for recording such items as birthdays,  anniversaries,  names  of
      children,   etc.   The second comment field can also be used to  segment
      your database.   You may use 1 and 2 character symbols  to mean specific
      things.    "/R"  could mean a relative and "/B"  a  business.   This  is
      considered a mark.  When two or more entries have the same mark you have
      established a subset of your database.   You can limit the scope of your
      database  to  just  those  entries  by placing  the  same  mark  in  the
      "Selective Entries" field.  Then F3 and F4 will only find those entries.

                                            6
                                     Address Manager









      5.  Print Menu

      The Print Menu is invoked by pressing function key 10 in the Maintenance
      Menu.  It is used for printing envelopes,  labels, or an entire database
      (all fields).   You may also  print  only  selective entries.   Like the
      Maintenance menu,  the Print menu allows  you to retrieve by any string,
      step to the next or previous entry, or step to selective entries.

      Labels may be printed on sheets up to 4 labels wide.  A  single database
      entry may be printed repeatedly up to 999 times.

      Any of the print operations (F5,  F7, or F10) can be aborted in progress
      by  hitting any key.   This is useful if the printer malfunctions or the
      wrong function key is pressed.  However,  your printer may keep going if
      it  has  a large internal buffer storing many lines or you are  using  a
      print spooler program.

      Functions for this menu are as follows:
           F1  - Return To Maintenance Menu  F2  - Clear Entry
           F3  - Get Previous Entry          F2  - Get Next Entry
           F5  - Print Database              F6  - Update This Menu
           F7  - Labels                      F8  - Clear Messages
           F9  - Retrieve                    F10 - Print Envelope

      F1:  Return To  Maintenance Menu - The Maintenance menu is displayed.

      F2:  Clear Entry - Clears the mailing address with blanks.

           You  may want to do this prior to filling in a mailing address  not
           in the database.  You can then address an envelope or print a label
           with this information using F10.

      F3:  Previous Entry - Displays the previous entry in the database.

           If  any  characters have been typed into  the  "Selective  Entries"
           field,  then the previous database entry which has those characters
           in its second comment field will be found.

      F4:  Next Entry - Displays the next entry in the database.

           If  any  characters  have been typed into the  "Selective  Entries"
           field,   then the next database entry which has those characters in
           its second comment field will be found.

      F5:  Print Database  - Database entries are printed.  All information is
           printed including phone numbers and comments.

           This  function is controlled by the same menu fields as F7  (see F7
           for description).   The only difference is the "Rows/Entry"   field
           must be greater than 6 since each database entry takes 7 lines.





                                            7
                                     Address Manager








      F6:  Update This Menu - The current  print menu is written back to  disk
           into the file ADDRESS.MEN (the menu file).   In this manner you can
           configure  the  menu  to your own liking.   The next  time  Address
           Manager is run,  the print menu will have the input fields the  way
           you like them.

           This  is useful in that you may want to place your own address into
           the return address fields and have the mailing address begin at row
           15  column 30.   After filling in these fields press F6.   The next
           time you run this program, these fields will be the way you defined
           them.

      F7:  Labels  -  Names  and addresses are sent to the printer.   You  can
           start  at  any entry and print multiple entries.   Entries  can  be
           spaced at four rows or greater and can start at any column(s)  on a
           page.  From one to four columns of labels may be printed.  A single
           entry may be printed repeatedly.   When this function finishes, the
           next entry to be printed is displayed in the mailing address field.

           This function is controlled by the following fields:

           Selective  Entries  - If characters other than blanks are typed  in
           here,   only those entries having the same characters appearing  in
           their second comment field are printed.

           Rows/Entry  -  Used to determine the row spacing for  entries  when
           printing labels or dumping the database.  Must be greater than 3 (1
           line for the name and 3 for the address).  The standard label sheet
           has 1 label per inch and the standard printer line feed is 1/6   of
           an  inch.    Therefore  "6"   should  be  entered  here  for   most
           applications.

           Columns  -  There  are four column fields.    These  determine  the
           printer tab positions where entries start when printing labels.  To
           print one column of labels beginning at column 10  on a page, place
           a  10   in the first column field and a blank or zero in the  other
           column fields.   To print three columns of labels place the desired
           numbers in the first three column fields and a blank or zero in the
           last  column  field.    From one to four columns of labels  may  be
           printed at a time.  Column fields can range from 0 to 91 for F5 and
           0 to 111 for F7.

           Start - Used to specify the first entry to be printed when printing
           labels.   You can start at the 17th entry by placing a 17  in  this
           field.  Alternately, you can place an "X" in this field to start at
           the  entry displayed in the mailing address field.   For  instance,
           you can start at the first "Smith" by first finding it with F9.  As
           another option,  you can place an "R"  in this field if you wish to
           repeat  printing a single entry.   Start field can range from  1  -
           999, "X", and "R".

           Count - Used to specify the number of entries printed when printing
           labels.   In addition,  it is the number of times a single entry is
           printed if an "R"  is placed in the Start field.   Count field  can
           range from 1 - 999.

                                            8
                                     Address Manager








      F8:  Clear  Messages  -  Clears  informative and error  messages.    [In
           addition, pressing any function key clears the previous messages.]

      F9:  Retrieve  -  Retrieves and displays an entry in the database.   You
           may  retrieve by anything that appears in an entry.   For instance,
           to find the first Smith in the database, just place "Smith"  in the
           retrieve field and press F9.  To find the first entry having a area
           code of 303, place "303" in the retrieve field and press F9.

           After retrieving the first entry the contents of the retrieve field
           are  shifted to the right 1 character and a "+"  is placed  at  the
           beginning (e.g. "Smith" becomes "+Smith", or "303" becomes "+303").
           If you press F9  again,  the "+"  means to retrieve and display the
           next occurence in the database.

           To  find the next Smith from the current displayed entry,  fill  in
           "+Smith" and press F9.

      F10: Print Envelopes  -  Prints the mailing address and  optionally  the
           return address.

           To  print with a return address the following 4 fields must be  set
           up in the following manner:
                    1  <=   (return row)    <=   (mailing row)    <=  99
                    1  <=  (return column)  <=  (mailing column)  <=  99
           To print without a return address the following must be true:
               return row = blank or 0,      1  <=   (mailing row)    <=  99
               return column = blank or 0,   1  <=  (mailing column)  <=  99

           You may also print one or two labels at a time.   I use this option
           to  print both a return address label and a mailing address  label.
           I set the return address row field to 1 and the mailing address row
           to  7 with both columns set to 1.  The contents of the  return  and
           mailing address fields are printed in order on two labels.

           You  are  free to enter anything in the Return Address and  Mailing
           Address  fields  directly.    You can address an envelope  with  an
           entry not in the database.

           This function is controlled by the following fields:

           Return Address Row - Row where return address is to be printed.  If
           a return address is not to be printed, leave blank.  The printer is
           assumed to be currently at row 1.

           Return  Address  Column  - Column where return  address  is  to  be
           printed.  If a return address is not to be printed, leave blank.

           Mailing  Address Row - This is the row where the mailing address is
           to be printed.  The printer is assumed to be currently at row 1.

           Mailing  Address  Column  -  Column where  mailing  address  is  to
           printed.



                                            9
                                     Address Manager








           Eject  -  Number of blank lines to add after an envelope  has  been
           addressed. This is used to eject an envelope from your printer.  It
           can range from 0 to 99.

           Return  Address  - The return address to be printed.   There are  4
           lines.

           Mailing  Address - The mailing address to be printed.   There are 4
           lines.

           Attention Line - This is the field on the lower left portion on the
           envelope.   It  is used for messages such as "Attn:    Director  of
           Admissions"   or  "Dated material inside".   This field  is  always
           printed  at  the row following the mailing address and  the  column
           where  the  return address begins (column 1 if there is  no  return
           address).


      6.  Notes on Printing Labels

      An entire database may be printed as 1 - 4 columns of labels in one step
      using  function  key 7 on the print menu.   Use the Rows/Entry field  to
      specify the number of rows allocated to each entry.  Placing a 6 in this
      field  will cause entries to be printed at rows 1,  7,  13,  etc.   Most
      printers  are normally configured to print 6 lines to an inch  which  is
      the spacing of typical  labels.   Set the Columns fields so the printing
      will  lie in the desired columns.   Practice with scratch  paper  first.
      Remember,  printing can be cancelled by hitting any key [you may want to
      disable  your print spooler if enabled].   The Address Manager should be
      able  to utilize any printer since it doesn't rely on  printer  specific
      characteristics.

      If you wish to print only part of a database, there are two suggestions:

          1.  Use the selective entries option.

          2.  Delete  those entries you don't want to print.   Then print  the
          modified  database.    Skip updating the database when  exiting  the
          program.


      7.  Notes on Printing Envelopes

      Some  printers have special features for printing envelopes.    If  your
      printer does not have these special features, the easiest way to address
      envelopes may be to print labels and then apply them to envelopes.

      Before printing on thick envelopes,  you may need to move the print head
      away  from  from the platen (the roller in your printer).   This  allows
      more room for the envelope to prevent jamming.  Check your user's manual
      on this procedure.





                                            10
                                     Address Manager








      The  paper  out detector may have to be disabled on the  printer  before
      envelopes  can  be  printed.   The paper out detector is disabled  by  a
      hardware switch, by software control,  or both depending on the printer.
      Please  consult your printer manual.   I  have a "Gemini-10x"   which  I
      disable using software control.   I use the following procedure prior to
      running this program:

           Place a diskette containing BASIC in Drive A.

           Place this diskette in Drive B.

           Type:     A:BASIC <B:PAPER.OUT     <cr>
           [PAPER.OUT  is provided as an example.   Modify it for your printer
           as  required.   Further modification will be needed if the user has
           DOS 1.0 or 1.1 (notice the redirection of the input.)]


      8.  Program Files

      Running the program is done by typing in      ADDRESS   <cr>   . However
      before doing so,  a backup copy should be made of this disk.   There are
      several  files  covering  the  Address Manager program.    They  are  as
      follows:

           ADDRESS .EXE   Executable program file - Address Manager
           ADDRESS .MEN   Menu file read by program (must be present)
           ADDRESS .DAT   Example database file
           ADDRESS .DOC   Reference guide
           ADDRESS1.HLP   On-screen help file for Database Menu
           ADDRESS2.HLP   On-screen help file for Maintenance Menu
           ADDRESS3.HLP   On-screen help file for Print Menu
           ADDRESS .BW    Menu file for monochrome monitor
           ADDRESS .COL   Menu file for color monitor
           ADDRESS .CFG   Configuration file
           AM_ED   .BAS   Basic utility to convert from a database file
                          into an ASCII edit file for your editor
           ED_AM   .BAS   Basic utility to convert an edit file from your
                          editor into a database file compatible with Address
                          Manager
           PHONELST.BAS   Basic utility to print a phone list from a database
                          file
           PAPER   .OUT   Disables paper out detector on printer (example)

      The  basic utility files listed above are not described in detail  here.
      You  can list the files to see how they work.   These listings will also
      describe the structure of a database file.   ED_AM.BAS is a very helpful
      utility  in  that  you can load a database file from a file created from
      your  editor without having to enter each entry in manually.   Since the
      source to the basic utilities are included,  you can modify them to your
      own needs.






                                            11
                                     Address Manager








      The  following should be typed prior to running the Address Manager  the
      first time:

          If you have a color monitors type:
                          COPY ADDRESS.COL ADDRESS.MEN  <cr>
          If you have a monochrome monitors type:
                          COPY ADDRESS.BW  ADDRESS.MEN  <cr>


      9.  Configuration

      The  Address  Manager  can be configured upon startup.    Currently  the
      following options are avaliable:

          o You  can specify a database file to automatically read  in  before
            the first menu appears.

          o You  can specify a character string to configure you printer prior
            to printing and to un-configure when you are through.

          o If you have an IBM Color Graphics Adaptor (CGA) card, you may have
            snow on your monitor when the screen is updated.   You can prevent
            the snow.

      To  do any of the above,  you can create the file "ADDRESS.CFG"  with an
      editor  and  place  the appropriate lines in it.   The  Address  Manager
      automatically  checks  for this file upon startup and will  execute  its
      instructions.  The following is an example of this file.

        +----------------------------------------------------------------+
        |DATABASE  RELATIVE.DAT                                          |
        |PRINT SET 27  69                                                |
        |PRINT CLR 27  70                                                |
        |BLINK                                                           |
        +----------------------------------------------------------------+

      The  first  line  instructs  the Address Manager to  read  in  the  file
      "RELATIVE.DAT"   as  a database file.   You don't need to do F5  on  the
      Database menu.  "DATABASE" must appear as capital letters in the first 8
      columns.    The database file must begin at column 11  and be no  longer
      than 12 characters long.

      The  second  line  describes a string of characters to be  sent  to  the
      printer just prior to printing the first time.  "PRINT SET"  must appear
      as capital letters in the first 9 columns.   The string of characters to
      be sent to the printer appears as decimal values.  Each value occupies 4
      columns  with the first one beginning at column 11.   The above  example
      sends  2  characters,  an ESCape and an "E",  to place the printer  into
      enhanced print mode.  Up to 18 characters may be defined.







                                            12
                                     Address Manager








      The  third  line  describes a string of characters to  be  sent  to  the
      printer just before the program exits.   It is sent only if the  printer
      was  used.   "PRINT CLR"  must appear as capital letters in the first  9
      columns.   The string of characters to be sent to the printer appears as
      decimal  values.    Each  value occupies 4 columns with  the  first  one
      beginning at column 11.  The above example sends 2 characters, an ESCape
      and  an  "F",  to cancel the printer's enhanced print mode.   Up  to  18
      characters may be defined.

      The fourth line tells the Address Manager to blink the screen  to  avoid
      the  snow  when  updating the screen (this is the method  IBM  chose  to
      update  the screen when scrolling CGA display systems).   This  line  is
      ignored if you are using a an IBM standard monochrome monitor.   "BLINK"
      must appear as capital letters in the first 5 columns of a line.

      The configuration file,  ADDRESS.CFG,  is optional.   It may contain any
      combination of the above 4 lines in any order.


      10.  Suggestions and Contributions

      If you copy this program and find it useful,  please register by sending
      $20.00 to:

                     Brad Simpson
                     990 Oakwood Dr.
                     Castle Rock, CO 80014
                     (303) 688-2954

      You   will   be  provided  with  support  and   upgrade   announcements.
      Suggestions are welcome.  The following improvements are being planned:

          o  Break 64K limit for even larger database file sizes
          o  Incorporate  group editing database files via attributes.    E.G.
             Delete all entries having (or not having) a specific attribute.
          o  Allow merging of database files.

      If you have ideas or specific needs,  let me know.  They could be put in
      the next version.

















                                            13
                                     Address Manager






AM_ED.BAS

10 '     PROGRAM TO CONVERT AN ADDRESS MANAGER DATABASE FILE INTO AN
20 '     EDIT FILE.
30 '
40 '     AN ADDRESS MANAGER DATABASE FILE HAS THE FOLLOWING FORMAT:
50 '             SIZE | ENTRY 1 | ENTRY 2 | ... | ENTRY N | <FF>
60 '        WHERE SIZE IS A 4 BYTE INTEGER AND EACH ENTRY HAS THE
70 '        FOLLOWING FORMAT:
80 '             <FF> NAME <CR> ADDRESS LINE 1 <CR> ADDRESS LINE 2 <CR>
90 '             ADDRESS LINE 3 <CR> AREA CODE <CR> PHONE PREFIX <CR>
100 '            LAST 4 DIGITS <CR> COMMENT LINE 1 <CR> COMMENT LINE 2
110 '       WHERE <FF> IS A FORM FEED BYTE AND <CR> IS A CARRIAGE RETURN BYTE
120 '
130 '    THE ADDRESS MANAGER TREATS A DATABASE FILE AS A DIRECT ACCESS FILE
140 '    HAVING A RECORD LENGTH OF 512 BYTES.  THIS PROGRAM ACCESS THE FILE
150 '    64 BYTES AT A TIME FOR CONVENIENCE.
160 '------------------------------------------------------------------------
170 INPUT "Enter input database file:  ",FILE1$
180 OPEN FILE1$ AS #1 LEN=64
190 FIELD #1,64 AS B$
200 INPUT "Enter output ASCII file:    ",FILE2$
210 OPEN FILE2$ FOR OUTPUT AS #2
215 INPUT "Ouput Comments on 2 lines:  ",C$
216 CMNT$ = MID$( C$, 1, 1 ) : IF CMNT$ = "y" THEN CMNT$ = "Y"
220 IREC%=1
230 GET #1,IREC%
240 A$ = B$
250 IREC% = IREC% + 1
260 GET #1,IREC%
270 C$ = A$ + B$
280 '---------------------------DISPLAY THE FILE SIZE
290 SIZE = CVI( MID$( C$, 1, 2 ) )
300 IF SIZE < 0 THEN SIZE = SIZE + 65536
310 PRINT "DATABASE SIZE ";SIZE;" BYTES"
320 '        DEFINE THE FORM FEED CHARACTER, FF
330 FF$ = CHR$( 12 )
340 J% = INSTR(C$,FF$)
350 '        THE FF CHARACTER MUST BE THE 5TH CHARACTER IN FILE
360 IF J% <> 5 THEN PRINT "ILLEGAL FILE TYPE" : END
370 J% = J% + 1
380 '        DEFINE THE CARRIAGE RETURN CHARACTER, CR
390 CR$ = CHR$( 13 )
400 '---------------------------ENTRY OUTPUT LOOP
410 '---------------------------NAME
420 GOSUB 1000
430 K% = INSTR( J%, C$, CR$ )
440 IF J% >= SIZE THEN END
450 L$ = MID$( C$, J%, K%-J% )
460 PRINT L$
470 PRINT #2,L$
480 J% = K% + 1
490 '---------------------------ADDRESS LINE 1
500 GOSUB 1000
510 K% = INSTR( J%, C$, CR$ )
520 L$ = MID$( C$, J%, K%-J% )
530 PRINT L$
540 PRINT #2,L$
550 J% = K% + 1
560 '---------------------------ADDRESS LINE 2
570 GOSUB 1000
580 K% = INSTR( J%, C$, CR$ )
590 L$ = MID$( C$, J%, K%-J% )
600 PRINT L$
610 PRINT #2,L$
620 J% = K% + 1
630 '---------------------------ADDRESS LINE 3
640 GOSUB 1000
650 K% = INSTR( J%, C$, CR$ )
660 L$ = MID$( C$, J%, K%-J% )
670 PRINT L$
680 PRINT #2,L$
690 J% = K% + 1
700 '---------------------------PHONE LINE
710 GOSUB 1000
720 K% = INSTR(J%,C$,CR$)
730 L1$ = MID$(C$,J%,K%-J%)
740 J%=K%+1
750 K% = INSTR(J%,C$,CR$)
760 L2$ = MID$(C$,J%,K%-J%)
770 J%=K%+1
780 K% = INSTR(J%,C$,CR$)
790 L3$ = MID$(C$,J%,K%-J%)
800 PRINT "(";L1$;")";L2$;"-";L3$
810 PRINT #2,"(";L1$;")";L2$;"-";L3$
820 J% = K% + 1
830 '---------------------------COMMENT LINE 1
840 GOSUB 1000
850 K% = INSTR(J%,C$,CR$)
860 L$ = MID$(C$,J%,K%-J%)
870 IF CMNT$ = "Y" THEN PRINT L$ : PRINT #2,L$
890 J% = K% + 1
900 '---------------------------COMMENT LINE 2
910 GOSUB 1000
920 K% = INSTR(J%,C$,FF$)
930 L$ = MID$(C$,J%,K%-J%)
940 IF CMNT$ = "Y" THEN PRINT L$ : PRINT #2,L$
950 PRINT : PRINT #2,""
960 J% = K% + 1
970 GOTO 420
980 '---------------------------END OF LOOP
990 '
1000 '---------------------INPUT BUFFER UPDATE ROUTINE
1010 IF J% <= 64 THEN RETURN
1020 J% = J% - 64 : SIZE = SIZE - 64
1030 A$ = B$
1040 IREC% = IREC% + 1
1050 ON ERROR GOTO 1100
1060 GET #1,IREC%
1070 ON ERROR GOTO 0
1080 C$ = A$ + B$
1090 RETURN
1100 '---------------------ERROR TRAPPING
1110 B$ = ""
1120 RESUME

ED_AM.BAS

10 '     PROGRAM TO CONVERT AN EDIT FILE TO AN ADDRESS MANAGER DATABASE
11 '     FILE.
12 '
13 '     AN ADDRESS MANAGER DATABASE FILE HAS THE FOLLOWING FORMAT:
14 '             SIZE | ENTRY 1 | ENTRY 2 | ... | ENTRY N | <FF>
15 '        WHERE SIZE IS A 4 BYTE INTEGER AND EACH ENTRY HAS THE
16 '        FOLLOWING FORMAT:
17 '             <FF> NAME <CR> ADDRESS LINE 1 <CR> ADDRESS LINE 2 <CR>
18 '             ADDRESS LINE 3 <CR> AREA CODE <CR> PHONE PREFIX <CR>
19 '            LAST 4 DIGITS <CR> COMMENT LINE 1 <CR> COMMENT LINE 2
20 '        WHERE <FF> IS A FORM FEED BYTE AND <CR> IS A CARRIAGE RETURN BYTE
21 '
22 '     THE ADDRESS MANAGER TREATS A DATABASE FILE AS A DIRECT ACCESS FILE
23 '     HAVING A RECORD LENGTH OF 512 BYTES.  THIS PROGRAM ACCESS THE FILE
24 '     64 BYTES AT A TIME FOR CONVENIENCE.
25 '------------------------------------------------------------------------
100 INPUT "Enter input ASCII file:            ",FILE1$
110 OPEN FILE1$ FOR INPUT AS #1
120 INPUT "Enter output database file:        ",FILE2$
130 OPEN FILE2$ AS #2 LEN=128
140 FIELD #2,128 AS A$
145 INPUT "Are comments lines in edit file?:  ",C$
146 CMNT$ = MID$( C$, 1, 1 ) : IF CMNT$ = "y" THEN CMNT$ = "Y"
150 '--------DEFINE THE FORM FEED CHARACTER, FF
160 FF$ = CHR$( 12 )
170 '--------DEFINE THE CARRIAGE RETURN CHARACTER, CR
180 CR$ = CHR$( 13 )
190 '   THE FIRST 5 BYTES OF THE FILE CONTAIN THE TOTAL NUMBER OF BYTES
200 '--------------------------------------------
210 X$ = MKI$( 0 )
220 C$ = X$ + X$ + FF$
230 SIZE = 5
240 IREC% = 0
300 '--------------------------------------------
305 '---------------------------ENTRY OUTPUT LOOP
310 '---------------------------NAME
320 IF EOF(1) THEN GOTO 900
330 LINE INPUT #1,X$
340 IF LEN(X$) <= 2 GOTO 320
345 PRINT X$
350 C$ = C$ + X$ + CR$
360 SIZE = SIZE + LEN(X$) + 1
370 GOSUB 1000
380 '---------------------------ADDRESS LINE 1
385 IF EOF(1) THEN X$ = "" : GOTO 395
390 LINE INPUT #1,X$
395 PRINT X$
400 C$ = C$ + X$ + CR$
410 SIZE = SIZE + LEN(X$) + 1
420 GOSUB 1000
430 '---------------------------ADDRESS LINE 2
435 IF EOF(1) THEN X$ = "" : GOTO 445
440 LINE INPUT #1,X$
445 PRINT X$
450 C$ = C$ + X$ + CR$
460 SIZE = SIZE + LEN(X$) + 1
470 GOSUB 1000
480 '---------------------------ADDRESS LINE 3
485 IF EOF(1) THEN X$ = "" : GOTO 495
490 LINE INPUT #1,X$
495 PRINT X$
500 C$ = C$ + X$ + CR$
510 SIZE = SIZE + LEN(X$) + 1
520 GOSUB 1000
530 '---------------------------PHONE LINE
535 IF EOF(1) THEN X$ = "" : GOTO 542
540 LINE INPUT #1,X$
542 PRINT X$
545 '    REMOVE EXISTING PUNCTUATION, IF ANY
550 K% = INSTR( X$, "(" ) : IF K% > 0 THEN GOSUB 590
560 K% = INSTR( X$, ")" ) : IF K% > 0 THEN GOSUB 590
570 K% = INSTR( X$, "-" ) : IF K% > 0 THEN GOSUB 590
580 GOTO 610
590    X$ = MID$( X$, 1, K%-1 ) + MID$( X$, K%+1, LEN(X$)-K% )
600    RETURN
605 '    IF RESULTING STRING IS NOT 10 LONG, IGNORE IT
610 IF LEN(X$) = 10 THEN GOTO 650
615   C$ = C$ + CR$ + CR$ + CR$
620   SIZE = SIZE + 3
630   GOTO 670
640 '    PHONE STRING IS 10 LONG:
650   C$ = C$ + MID$(X$,1,3) + CR$ + MID$(X$,4,3) + CR$ + MID$(X$,7,4) + CR$
660   SIZE = SIZE + 13
670 GOSUB 1000
680 '---------------------------COMMENT LINE 1
685 IF CMNT$ <> "Y" OR EOF(1) THEN X$ = "" : GOTO 695
690 LINE INPUT #1,X$
695 PRINT X$
700 C$ = C$ + X$ + CR$
710 SIZE = SIZE + LEN(X$) + 1
720 GOSUB 1000
730 '---------------------------COMMENT LINE 2
735 IF CMNT$ <> "Y" OR EOF(1) THEN X$ = "" : GOTO 745
740 LINE INPUT #1,X$
745 PRINT X$
750 C$ = C$ + X$ + FF$
760 SIZE = SIZE + LEN(X$) + 1
770 GOSUB 1000
780 GOTO 320
790 '---------------------------END OF LOOP
800 '--------------------------------------
900 '---------------------------WRAP UP OUTPUT FILE
910 IF LEN(C$) < 128 THEN C$ = C$ + SPACE$( 128-LEN(C$) )
920 LSET A$ = C$
930 IREC% = IREC% + 1
940 PUT #2,IREC%
945 '  NOTE:  File must be a multiple of 512 bytes (4 128-byte records)
950 K% = IREC% MOD 4
960 IF K% = 0 THEN GOTO 985
970   LSET A$ = SPACE$(128)
980   FOR I% = 1 TO 4-K% : IREC% = IREC% + 1 : PUT #2,IREC% : NEXT I%
985 PRINT "Database size is ";SIZE;" bytes"
987 IF SIZE > 32767! THEN SIZE = SIZE - 65536!
988 K% = SIZE
991 GET #2,1
992 B$ = A$
993 MID$( B$, 1, 2 ) = MKI$( K% )
994 LSET A$ = B$
995 PUT #2,1
999 END
1000 '---------------------INPUT BUFFER UPDATE ROUTINE
1010 IF LEN(C$) <= 128 THEN RETURN
1020 B$ = MID$( C$, 1, 128 )
1030 C$ = MID$( C$, 129, LEN(C$)-128 )
1040 LSET A$ = B$
1050 IREC% = IREC% + 1
1060 PUT #2,IREC%
1070 RETURN

FILE0218.TXT

Disk No:  218
Disk Title: Address Manager
PC-SIG Version: S4.1

Program Title: Address Manager
Author Version: 4.1
Author Registration: $20.00.
Special Requirements: None.

ADDRESS MANAGER helps you keep multiple databases of names, addresses,
phone numbers, and useful comments.  You can add new entries and delete
or update current ones easily.

The program is especially designed to address envelopes -- always a
problem area, as well as print labels and even entire mailing lists.
Labels can be printed on sheets from one to four across, and all
entries can be sorted by zip code before printing.

ADDRESS MANAGER menus are function-key driven.  On-line help is
available from each menu.  This provides a quick and user-friendly
interface, one that is easy to learn and use.

PC-SIG
1030D East Duane Avenue
Sunnyvale  Ca. 94086
(408) 730-9291
(c) Copyright 1989 PC-SIG, Inc.

GO.TXT

╔═════════════════════════════════════════════════════════════════════════╗
║                 <<<<  Disk #218 Address Manager  >>>>                   ║
╠═════════════════════════════════════════════════════════════════════════╣
║                                                                         ║
║  To start using the program, type:  COPY README.DOC PRN  (press enter)  ║
║                                                                         ║
╚═════════════════════════════════════════════════════════════════════════╝
(c) Copyright 1990, PC-SIG, Inc.

PHONELST.BAS

10 '     PROGRAM TO CREATE A PHONE LIST FROM AN ADDRESS MANAGER DATABASE FILE
30 '
40 '     AN ADDRESS MANAGER DATABASE FILE HAS THE FOLLOWING FORMAT:
50 '             SIZE | ENTRY 1 | ENTRY 2 | ... | ENTRY N | <FF>
60 '        WHERE SIZE IS A 4 BYTE INTEGER AND EACH ENTRY HAS THE
70 '        FOLLOWING FORMAT:
80 '             <FF> NAME <CR> ADDRESS LINE 1 <CR> ADDRESS LINE 2 <CR>
90 '             ADDRESS LINE 3 <CR> AREA CODE <CR> PHONE PREFIX <CR>
100 '            LAST 4 DIGITS <CR> COMMENT LINE 1 <CR> COMMENT LINE 2
110 '       WHERE <FF> IS A FORM FEED BYTE AND <CR> IS A CARRIAGE RETURN BYTE
120 '
130 '    THE ADDRESS MANAGER TREATS A DATABASE FILE AS A DIRECT ACCESS FILE
140 '    HAVING A RECORD LENGTH OF 512 BYTES.  THIS PROGRAM ACCESS THE FILE
150 '    64 BYTES AT A TIME FOR CONVENIENCE.
160 '------------------------------------------------------------------------
170 INPUT "Enter input database file:     ",FILE1$
180 OPEN FILE1$ AS #1 LEN=64
190 FIELD #1,64 AS B$
200 INPUT "Enter output phone list file:  ",FILE2$
210 OPEN FILE2$ FOR OUTPUT AS #2
220 IREC%=1
230 GET #1,IREC%
240 A$ = B$
250 IREC% = IREC% + 1
260 GET #1,IREC%
270 C$ = A$ + B$
280 '---------------------------COMPUTE THE FILE SIZE
290 SIZE = CVI( MID$( C$, 1, 2 ) )
300 IF SIZE < 0 THEN SIZE = SIZE + 65536
310 PRINT "DATABASE SIZE ";SIZE;" BYTES"
320 '        DEFINE THE FORM FEED CHARACTER, FF
330 FF$ = CHR$( 12 )
340 J% = INSTR(C$,FF$)
350 '        THE FF CHARACTER MUST BE THE 5TH CHARACTER IN FILE
360 IF J% <> 5 THEN PRINT "ILLEGAL FILE TYPE" : END
370 J% = J% + 1
380 '        DEFINE THE CARRIAGE RETURN CHARACTER, CR
390 CR$ = CHR$( 13 )
400 '---------------------------ENTRY OUTPUT LOOP
410 '---------------------------NAME
420 GOSUB 1000
430 K% = INSTR( J%, C$, CR$ )
440 IF J% >= SIZE THEN END
450 PERSON$ = MID$( C$, J%, K%-J% )
480 J% = K% + 1
490 '---------------------------ADDRESS LINE 1
500 GOSUB 1000
510 K% = INSTR( J%, C$, CR$ )
520 L$ = MID$( C$, J%, K%-J% )
550 J% = K% + 1
560 '---------------------------ADDRESS LINE 2
570 GOSUB 1000
580 K% = INSTR( J%, C$, CR$ )
590 L$ = MID$( C$, J%, K%-J% )
620 J% = K% + 1
630 '---------------------------ADDRESS LINE 3
640 GOSUB 1000
650 K% = INSTR( J%, C$, CR$ )
660 L$ = MID$( C$, J%, K%-J% )
690 J% = K% + 1
700 '---------------------------PHONE LINE
710 GOSUB 1000
720 K% = INSTR(J%,C$,CR$)
730 L1$ = MID$(C$,J%,K%-J%)
740 J%=K%+1
750 K% = INSTR(J%,C$,CR$)
760 L2$ = MID$(C$,J%,K%-J%)
770 J%=K%+1
780 K% = INSTR(J%,C$,CR$)
790 L3$ = MID$(C$,J%,K%-J%)
792 PERSON$ = PERSON$ + SPACE$( 40-LEN(PERSON$) )
794 PERSON$ = PERSON$ + "(" + L1$ + ")" + L2$ + "-" + L3$
800 PRINT PERSON$
810 PRINT #2,PERSON$
820 J% = K% + 1
830 '---------------------------COMMENT LINE 1
840 GOSUB 1000
850 K% = INSTR(J%,C$,CR$)
860 L$ = MID$(C$,J%,K%-J%)
890 J% = K% + 1
900 '---------------------------COMMENT LINE 2
910 GOSUB 1000
920 K% = INSTR(J%,C$,FF$)
930 L$ = MID$(C$,J%,K%-J%)
960 J% = K% + 1
970 GOTO 420
980 '---------------------------END OF LOOP
990 '
1000 '---------------------INPUT BUFFER UPDATE ROUTINE
1010 IF J% <= 64 THEN RETURN
1020 J% = J% - 64 : SIZE = SIZE - 64
1030 A$ = B$
1040 IREC% = IREC% + 1
1050 ON ERROR GOTO 1100
1060 GET #1,IREC%
1070 ON ERROR GOTO 0
1080 C$ = A$ + B$
1090 RETURN
1100 '---------------------ERROR TRAPPING
1110 B$ = ""
1120 RESUME

Directory of PC-SIG Library Disk #0218

 Volume in drive A has no label
 Directory of A:\

ADDRESS  BW      12288   9-07-87   7:11p
ADDRESS  CFG         7   9-20-87   9:13p
ADDRESS  COL     12288   9-07-87   7:54p
ADDRESS  DAT      1024   1-15-87   7:36p
ADDRESS  DOC     40061   2-04-89  10:42a
ADDRESS  EXE     53659   1-29-89   4:33p
ADDRESS  MEN     12288   9-07-87   7:11p
ADDRESS1 HLP      4459   9-20-87   8:58p
ADDRESS2 HLP      4875   9-20-87   8:58p
ADDRESS3 HLP      8217   9-20-87   8:59p
AM_ED    BAS      3701   3-29-87   4:59p
ED_AM    BAS      4564   4-11-87   4:02p
PAPER    OUT       128   5-31-84  10:37p
PHONELST BAS      3424   3-29-87   7:40p
README   DOC      1542   9-20-87   9:10p
GO       BAT      1519   9-14-88   3:45p
GO       TXT       576   1-01-80   3:10a
FILE0218 TXT      1999   7-09-90   7:26p
       18 file(s)     166619 bytes
                      147456 bytes free