home *** CD-ROM | disk | FTP | other *** search
-
-
- Mail Manager Users & Programming Guide Page 1
-
-
-
-
-
-
-
-
-
-
-
- ************************************************************
- * *
- * --<<< MAIL LIST MANAGER >>>-- *
- * Demonstration Program for *
- * ObjectBase *
- * The Object Oriented Data Base Management Tool Box for *
- * Turbo Pascal version 5.5. *
- * and *
- * ObjectInterFace *
- * The Object Oriented User Interface Tool Box for *
- * Turbo pascal version 5.5 *
- * COPYRIGHT NOTICE *
- * *
- * MMGR.EXE, MMGR.PAS, OopBase.TPU ToolBox and *
- * DBObjt.TPU ToolBox and the documentation *
- * included are (c) 1990 Thomas W. Harden, *
- * all rights reserved. *
- * *
- * OopBase.TPU & DBObjt.TPU--ToolBoxes are *
- * Shareware products and are made available *
- * to the programmer to test and use for *
- * evaluation purposes only. They may not be *
- * circulated in any incomplete or modified *
- * form, nor sold for profit, without the *
- * express written consent of the author. *
- * *
- ************************************************************
-
-
- Mail Manager Users & Programming Guide Page 2
-
-
-
- SHAREWARE NOTICE:
-
- OopBase.TPU & DBObjt.TPU ToolBoxes (ObjectBase) are Shareware
- products and are made available to the programmer to test and use
- for evaluation purposes only. Should you find them useful,
- register your use with Harden Consulting so update information
- and future product offerings can be made available to you. To
- register your use of the above mentioned products, send check or
- money order for $79.95 payable to Thomas W. Harden or Harden
- Consulting and the form found at the end of this documentation.
- When Registration is received you will receive the latest version
- of ObjectBase (See specifications section for current
- enhancements), full documentation plus announcements of upgrades
- will be mailed to you with special pricing made available to
- registered owners.
-
-
-
- DISCLAIMER:
-
- You undertake the use of MMGR.EXE, OopBase.TPU and DBObjt.TPU at
- your own risk. The Author and Harden Consulting accept no
- liability for any damages resulting from its use or misuse.
- Problem reports and suggestions are appreciated. If you are a
- registered user please notify Harden Consulting at the following
- address:
-
- Harden Consulting
- 48 Red Post Crescent
- Fairport, NY 14450
-
- or leave a message on the Compuserve network: ID 76317,2503.
-
-
- Mail Manager Users & Programming Guide Page 3
-
-
-
- INTRODUCTION
-
- The Mail List Manager program included in this package is a
- demonstration program written in turbo Pascal v 5.5 to
- demonstrate two software developement tool boxes: ObjectBase
- and ObjectInterFace. The documentation includes two sections:
- A Mail List Manager User's Guide and Programmers Guide.
-
- The program can be run on any IBM PC,XT,AT or compatible with a
- minimum of 256k memory that uses DOS 2.0 or higher. A minimum
- of one disk drive is required.
-
- Mail List Manager makes extensive use of Pop up windows and
- menus to operate the program. It has context sensitive help
- available at all times by pressing <F1>.
-
-
-
-
- Mail Manager Users & Programming Guide Page 4
-
-
-
- USER GUIDE
-
- OVERVIEW
- ================================================================
-
- The intent of Mail List Manager is to allow the user to
- easily maintain information concerning companys and the
- contacts within those companies with whom the user might
- want to communicate on a reqular basis. The user will have
- to enter information concerning those companies and
- individuals and also how they relate to each other. Mail
- List Manager allows the user to view this information either
- on screen in a form view or report type format and print
- mailing lists and reports concerning the information
- contained in the system. This is all accomplished through a
- series of Menus and Forms that are presented to the user to
- allow for quick and easy access to all the functions of the
- program.
-
-
-
- Mail Manager Users & Programming Guide Page 5
-
-
- INSTALLATION
-
- Files required.
-
- In order run Mail List Manager the following files must be
- available in the current directory:
-
- MMGR.EXE The program file.
- MMGR.HLP The help file for use by
- the context sensitive help
- system.
- Copying the files.
-
- Copy MMGR.EXE to the disk and directory from which you would
- like to work.
-
- At the DOS Prompt( d:>) type :
- COPY [path]MMGR.EXE [path]<Cr>
- Note: '[ ]' = Optional; 'path' = Drive letter ':\'
- directory.
- Copy MMGR.HLP to the disk and directory from which you would
- like to work.
-
- At the DOS Prompt( d:>) type :
- COPY [path]MMGR.HLP [path]<Cr>
-
- Directories
-
- Mail List Manager is set-up to use the current drive or
- directory for the storage of the system configuration, data,
- and index files that it generates. The program also goes to
- this area to find the Help file. This means that what ever
- is the current directory when you start the program the help
- file (MMGR.HLP), The Data files (*.DAT), The Index files
- (*.NDX) and the Configuration files (*.CNF) should be in
- that directory. This may be accomplished by the command:
- CD path <Cr> where path is the drive and directory where the
- above files are located.
-
- Screen appearence.
-
- When Mail List Manager is started it automaticly determines
- the monitor type that is in use. If their might be some
- confusion between a CGA or LCD monitor it will ask which
- monitor type you have. Default colors are set at that time.
- If you would like to change the default color values you
- may accomplish this through the menu system.
-
-
-
- Mail Manager Users & Programming Guide Page 6
-
-
- STARTING THE PROGRAM
-
- Loading the program
-
- To load and run Mail List Manager type MMGR<Cr> at the DOS
- prompt and your on your way.
-
- Possible problems
-
- If you have run the program before and all files required by
- the program have been created and messages are displayed
- suggesting that those files are not present, you have
- probably started the program from a directory that does not
- contain the requiset files. <Ctrl Brk> will stop the program
- and then you can Change Directory to the directory or drive
- where these files reside and restart the program.
-
- OPERATION OF PROGRAM
-
- Help System
-
- The Mail List Manager help system is context sensitive and is always
- available by hitting the <F1> key. You may move through the
- available information with the <PgDn> and <PgUp> keys.
- <Esc> exits Help.
-
- Menu System
-
- The Mail List Manager Menu System is a Pop Up Menu system that is both
- quick and helpful. You may select an option by any of three
- methods. You may highlight an option by using the <Up> and
- <Down> arrow, <End>, or <Home> keys to move the highlight
- bar and when the desired option is highlighted strike <Cr>.
- You may hit the key that is highlighted in the desired
- option and it will be executed immediately. You may also hit
- the numeric key that corresponds to the position of the
- desired option and it will be executed immediately. <Esc>
- exits that menu and returns you to the previous menu.
-
-
-
- Mail Manager Users & Programming Guide Page 7
-
-
- MENU TREE
-
-
- +>PERSON SEARCH
- | Correct person +>CONTACT DELETE
- | Next person | Del relation
- | Prev person | Next relation
- | Add person | Abort delete
- +>COMPANY MAINT | Quit search |
- | Edit company |+-----------------++
- | Find company || +>PERSON MAINT | >COMPANY SEARCH
- | Next company || | Edit person | | Correct comp
- | Prev company || | Find person | | Next company
- | Add company || | Next person | | Prev company
- | Select/deSelect|| | Prev person | | Add company
- | Contact add --+| | Add person | | Quit search
- | cOntact next | | Select/deSelect|
- | Del contact ---+ | Contact add ---+
- | Quit company maint| cOntact next |
- | | Del contact -+
- | +----+ Quit person maint
- MAIN MENU | |
- Company maint + | +->LABELS MENU
- Person maint ------------------+ | Contacts @company
- Reports --------->REPORTS MENU | cOmpany report
- Utilities ---+ Mail labels --+ Quit labels
- Quit Program | Company report -+
- | conTact report +----->COMPANY REPORTS
- | Quit reports w/ Contacts
- | w/O contacts
- +>UTILITY MENU Quit company reports
- Screen colors
- saVe data
- Quit utility
-
-
-
- Mail Manager Users & Programming Guide Page 8
-
-
- Using The Screen Forms
-
- When editing data within the screen forms that are
- presented, you will be prompted for the data that is
- required, proper formatting is automatically handled.
- Movement between fields is accomplished by the <Up> and
- <Down> arrows, <PgDn>, <PgUp> and <Cr>. You may exit the
- form at any time by using <Ctrl-Z>, otherwise a normal exit
- is accomplished when the last field is exited with a <Cr>.
-
- How to add a Company
-
- To add a Company select Company Maint. from the Main Menu.
- When the Company Maintenance Menu is presented select Add a
- Company and a blank record will be presented to you in the
- Company Edit form. Type in the data requested by the
- prompts in the various fields. When finished with the data
- entry you will be asked to confirm the addition of the
- information that you have entered. Select Yes. The record
- is now stored in the data file.
-
- How to add a Person
-
- To add a Person select Person Maint. from the Main Menu.
- When the Person Maintenance Menu is presented select Add a
- Person and a blank record will be presented to you in the
- Person Edit form. Type in the data requested by the
- prompts in the various fields. When finished with the data
- entry you will be asked to confirm the addition of the
- information that you have entered. Select Yes. The record
- is now stored in the data file.
-
- How to add a Contact
-
- From either the Person or Company Maintenance Menus select
- Contact Add. You will be prompted for the alpha key of the
- Company or Person, respectively, that you wish to add. The
- data files are searched for the alpha key and the closest
- match is displayed. If it is correct select 'Correct' from
- the Contact Add Menu other wise select one of the other
- options until you have correct contact displayed then select
- 'Correct'. You will then be asked for the position that
- this contact has. Enter it and your done.
-
- How to print a report
-
- Select Reports from the Main Menu and continue to select the
- options that are presented to you until you get what your
- after. Reports can be sent to the printer, the screen, or a
- file for later printing. The Contact report may be sent to
- a file in a format that can be used by other data base
- programs if desired. This is available as an example as
- apposed to being a normal part of this program.
-
-
-
- Mail Manager Users & Programming Guide Page 9
-
-
- PROGRAMMERS GUIDE
-
- CONCEPT
-
- The idea behind MMGR was to create a program that would
- demonstrate the user interface provided by Harden Consulting in
- it's application programs. What grew out of the project was a
- frustration with dealing with the low level data file and index
- file routines common to most data base toolboxes. Ultimately, an
- Object Oriented approach towards DataBase Management was taken.
- The InterFace and DataBase management routines were rewritten
- from an Object Oriented perspective. This allowed for all the
- functionality of the previous toolbox routines but gave the added
- benefit of extensibility and ease of use.
-
- FILE STRUCTURE
-
- The file structure used in this program was derived using Entity
- Relational Analysis. The assumption was that I would be dealing
- primarily with persons that had a relationship with a company.
-
- One could take a flat file approach and create a single file that
- incuded all the information required for a contact within a
- company. If you dealt with only one individual in each company
- and that individual only had a position at a single company then
- this would be the rational approach. Though, in the real world
- one might be dealing with more than one person at a company and
- also an individual could be dealing with more than one
- company, i.e.- a consultant. Thus, a flat file approach would
- could lead to a tremendous amount of data redundency.
-
- What we actual have then is a potential many to many
- relationship between the primary entities, companies and persons.
- Using the ERA methodology, I created records for each record that
- contained the information I wanted to keep for each entity. To
- this was added a field that would uniquely identify each instance
- of that record. In this case a system generated numericly based
- code was used. To handle the many to many relation that existed
- I created a third record structure that described the
- relationship between the two intities that resolved the Many to
- Many relationship to a One to Many relationship from either
- perspective.
-
- At this point the data and index files that would be required to
- implement this are:
-
- 1) Company data file
- 2) Person Data File
- 3) Contact Data File
- 4) company code index file
- 5) person code index file
- 6) contact company code index file
- 7) contact person code index file
-
- These files will allow the computer to relate company records to
- person records correctly and efficiently.
-
- Mail Manager Users & Programming Guide Page 10
-
-
-
- A problem exists though. People will be using this system. They
- will be wanting to access this information and numeric codes are
- not a very user friendly approach to this. Consequently, two
- additional index files are used, both Alphabeticly arranged for
- user friendly access:
-
- 1)Company Alpha index file and
- 2) Person Alpha index file.
-
- The Data and Index files now involved are listed below:
-
- DataFile IndexFile Key Type User
- ----------------------------------------------------------
- COMPANY.DAT COMPCODE.NDX CODE SYSTEM
- " COMPALPH.NDX ALPHAKEY USER
- CONTACT.DAT CONTCCD.NDX CODE SYSTEM
- " CONTPCD.NDX CODE SYSTEM
- PERSON.DAT PRSNCODE.NDX CODE SYSTEM
- " PRSNALPH.NDX ALPHAKEY USER
-
- Now this simple task of tracking business contacts has turned to
- a relative complex task. Our data base consists of 9 files that
- must be manipulated and maintained. The implecation is that a
- nightmare of tedious calls to different routines for each index
- and data file will have to made to manage the editing, addition
- and deletion of records within the database. I'm lazy. I don't
- like to deal with this tedium.
-
-
-
- Mail Manager Users & Programming Guide Page 11
-
-
- FILE MANAGEMENT
-
- Because of this laziness, I ask myself, since the maintenance of
- a database system is really fairly cut and dried why couldn't a
- set of procedures be developed to handle the tedium. ObjectBase
- is born.
-
- ObjectBase is an Object Oriented approach to this problem. The
- DB object is informed of the data and index files that will be
- included in its data base. The data and index files are also
- Objects that have been informed of the source of their data and
- have been given the know how to be self maintaining. What I mean
- by this is the Index File Object is aware of the spot in system
- memory where its Key value is located and knows what to do with
- it. The Data File Object knows which indexes are associated with
- the data file and also knows where its data buffer is located.
- The DB Object knows which Data Files belong to the DataBase and
- how they relate to each other. By endowing the DB Object with
- this knowledge, it can now handle most of the maintenance chores
- with which the programmer normally has to contend.
-
- For instance, when a record is edited, before putting the record
- back in the database the datafile checks to see if their has been
- a change in its data buffer if so it then stores the modified
- copy of the record over the old copy and calls on its indexes to
- do the same. They in turn compare the current values of their
- databuffer with the data that was originally present and will
- update their index structure accordingly. What this means to the
- programmer is that he is no longer required to deal with the
- tedium of insuring that all files have been updated.
-
- The relational aspects are also handled by the DB Object. Once
- informed of the relationships required for a particular
- application or procedure a call to associate will fill the
- various record buffers with related data. If the relationship is
- a one to many relationship you can use next association to step
- through the related records. It makes the associations appear to
- be a circular Queue.
-
- What all this means is that much of the functionality (and even
- more) of DBMS systems is provided with the ability to control the
- environment and interface to the user with the power of Turbo
- Pascal.
-
-
-
- Mail Manager Users & Programming Guide Page 12
-
-
- INTERFACE
-
- The file management headache has been solved. ObjectBase to the
- rescue. The remaining problem, interacting with the user, still
- looms.
-
- When programming a user interface certain characteristics are
- important. Among these are completeness, consistency,
- intuitiveness, error trapping, informative prompts, etc. My
- experience has been that the user interface soon becomes the most
- time consuming portion of the programmers task. The larger the
- project the greater the variation from one program module to
- next. ObjectInterFace is born.
-
- ObjectInterFace is an Object Oriented approach to solving the
- problems of building user friendly interfaces with out spending
- excessive amounts of time in the process. The dialog between the
- program and the user should be as fast and simple as possible.
- To this end, I again chose an Object Oriented approach.
-
- There are three basic types of objects that have been created.
- They are a:
-
- 1) A Help window object
- 2) A Menu object
- 3) A Form object.
-
- All are based on the common Window object. A related type of
- object is also a part of the system and that is an interface
- field object. These are utilized by the other objects. This
- approach allows the programmer to modularize his program into
- declarations of the different objects required and then call them
- as required without the fuss normally associated with this aspect
- of the programming task.
-
- ObjectInterface Provides to the programmer the Objects required to
- perform the following:
-
- 1) Present Popup Menus
- 2) Present Popup Forms for data entry, editing and display,
- 3) Present Popup Messages
- 4) Present Popup Queries
- 5) Present Popup Dialog Windows
- 6) Present Context Sensitive Help Windows
- 7) Allow for Varified Data Entry.
-
- The Forms Object provides the ability to create a popup data
- entry, edit, and display form that utilizes a list of field
- objects that the programmer loads into a particular instance of
- the form object.
-
- The Fields Object provides for the consistant presentation of
- data for entry, editing, and display. The types of information
- that can be handled with the basic package are:
-
- 1) Strings
-
- Mail Manager Users & Programming Guide Page 13
-
-
- 2) Formatted strings
- 3) Varified Dates
- 4) Integers within specified range
- 5) Real numbers within specified range
- 6) Currency within specified range
- 7) Varified Time
- 8) Pick fields
- 9) Boolean Fields
- 10) Conditional fields tied to either numeric, boolean,
- or string values of other fields
-
- The menus Object allows for easy presentation of menus with the
- ability to stack them or show them independently.
-
- The Helpwindow object allows you easily construct a context
- sensitive help system that is always available to the user.
-
- CONCLUSION
-
- The utilization of ObjectBase and ObjectInterface in the
- construction of application programs can insure a user friendly,
- powerful application without spending time on the tedium usually
- associated with the more complex aspects of data base application
- programming.
-
- The developer can spend his or her time where it belongs, solving
- the problem that he or she was hired to solve in a cost effective
- way.
-