home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / DATABASE / MYB_203.ZIP / MYB_203.EXE / MYBASE.TXT < prev    next >
Encoding:
Text File  |  1993-05-04  |  94.9 KB  |  2,483 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.     ▄▄▄     ▄▄▄                ▄▄▄▄▄▄▄       ▄▄▄        ▄▄▄▄▄    ▄▄▄▄▄▄
  14.     ▄▄▄     ▄▄▄                ▄▄▄▄▄▄▄▄      ▄▄▄       ▄▄▄▄▄▄▄   ▄▄▄▄▄▄
  15.    ▄▄▄▄▄   ▄▄▄▄▄               ▄▄▄  ▄▄▄     ▄▄▄▄▄     ▄▄▄▄   ▄   ▄▄▄
  16.    ▄▄▄▄▄   ▄▄▄▄▄   ▄▄▄   ▄▄▄   ▄▄▄  ▄▄▄     ▄▄ ▄▄     ▄▄▄▄       ▄▄▄
  17.    ▄▄▄▄▄▄ ▄▄▄▄▄▄   ▄▄▄   ▄▄▄   ▄▄▄▄▄▄▄     ▄▄▄ ▄▄▄     ▄▄▄▄▄     ▄▄▄▄▄▄
  18.    ▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄   ▄▄▄   ▄▄▄▄▄▄▄     ▄▄   ▄▄      ▄▄▄▄▄    ▄▄▄▄▄▄
  19.    ▄▄▄ ▄▄▄▄▄ ▄▄▄   ▄▄▄  ▄▄▄    ▄▄▄  ▄▄▄   ▄▄▄▄▄▄▄▄▄       ▄▄▄▄   ▄▄▄
  20.    ▄▄▄  ▄▄▄  ▄▄▄    ▄▄ ▄▄▄     ▄▄▄  ▄▄▄   ▄▄▄▄▄▄▄▄▄   ▄   ▄▄▄▄   ▄▄▄
  21.    ▄▄▄  ▄▄▄  ▄▄▄     ▄▄▄▄      ▄▄▄▄▄▄▄▄   ▄▄▄   ▄▄▄   ▄▄▄▄▄▄▄    ▄▄▄▄▄▄
  22.    ▄▄▄  ▄▄▄  ▄▄▄     ▄▄▄       ▄▄▄▄▄▄▄    ▄▄▄   ▄▄▄    ▄▄▄▄▄     ▄▄▄▄▄▄
  23.                     ▄▄▄
  24.                    ▄▄▄          Copyright (C) 1992-1993, Armada Systems
  25.                   ▄▄▄
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                      USER'S GUIDE AND REFERENCE MANUAL
  45.  
  46.                                Release 2.03
  47.  
  48.  
  49. ___________________________________________________________________________
  50.  
  51.    This  software  is provided to you for evaluation use only.  If  you 
  52.    find the software useful, please register it. With your registration 
  53.    you  will not only receive technical support and the latest  version 
  54.    of  software, but you will also be sponsoring the continued  support 
  55.    and future enhancements of this product.
  56. ___________________________________________________________________________
  57.  
  58.  
  59.  
  60.  
  61. MyBASE
  62. Intuitive, multipurpose database system.
  63. Program Serial No. 93124A0, Release 2.03
  64. May 04, 1993
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71. Changes are periodically made to the information herein; these changes will 
  72. be incorporated in new editions of this publication.
  73.  
  74.  
  75. A Product Comment Form is provided at the front of this publication. If 
  76. this form has been removed, you can mail any comments to the address below: 
  77.  
  78.  
  79. Armada Systems
  80. P.O. Box 637, Station A
  81. Downsview, Ontario
  82. M3M 3A9
  83. Canada  
  84.  
  85. Tel. (416) 889-2617 or (905) 889-2617 after October 4, 1993
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94. MyBASE, DAS, DMM, PCM and DME are Trademarks of Armada Systems.
  95.  
  96. Copyright (C) 1992-1993, Armada Systems
  97. All Rights Reserved. 
  98. Made in Canada.
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107. For your records:
  108.  
  109. NAME ____________________________  TITLE __________________________________
  110. COMPANY _________________________  DEPARTMENT _____________________________
  111. DATE PROGRAM RECEIVED ___________  OBTAINED FROM __________________________
  112.  
  113.  
  114.  
  115.  
  116.  
  117.                              TABLE OF CONTENTS
  118.  
  119.  
  120.  
  121.                                                                 PAGE
  122.  
  123.     ARMADA SYSTEMS LICENSE AGREEMENT ..........................   i
  124.     PRODUCT COMMENT FORM ......................................  ii
  125.  
  126.     GETTING STARTED ........................................... iii
  127.     INSTALLING MyBASE ON HARD DISK                              iii
  128.     DISK CONTENTS                                                iv
  129.  
  130.     1.0  MyBASE, WHAT IS IT? ..................................   1
  131.          1.1  QUICK OVERVIEW OF FEATURES                          1
  132.          1.2  LOADING A DATABASE                                  2
  133.          1.3  USING MyBASE IN MICROSOFT WINDOWS                   3
  134.          1.4  NETWORK INSTALLATION                                4
  135.          1.5  IF YOU EXPERIENCE PROBLEMS                          4
  136.  
  137.     2.0  DATABASE BROWSE TABLE ................................   5
  138.          2.1  FUNCTION KEYS                                       5
  139.          2.2  ALT+KEY FUNCTIONS                                   6
  140.          2.3  INSERTING, DELETING AND EDITING RECORDS             7
  141.          2.4  NAVIGATING THROUGH THE DATABASE                     8
  142.          2.5  MEMO EDITOR                                         8
  143.               2.5.1  COMPRESSING MEMO FILES                       9
  144.  
  145.     3.0  DATABASE VIEW WINDOWS ................................  10
  146.          3.1  VIEW WINDOW SETUP                                  10
  147.  
  148.     4.0  FILTERING, SEARCHING AND REPLACING DATA ..............  12
  149.          4.1  DATABASE FILTER                                    12
  150.          4.2  LOCATE RECORDS IN DATABASE                         12
  151.          4.3  SEARCH AND REPLACE DATA                            12
  152.          4.4  ENTERING A FILTER, SEARCH OR REPLACE CONDITION     13
  153.          4.5  RELATIONAL OPERATORS                               13
  154.  
  155.     5.0  MERGING, PRINTING AND EXPORTING DATA .................  14
  156.          5.1  PRINT DRIVER SETUP                                 14
  157.  
  158.     6.0  CREATING AND MODIFYING A DATABASE STRUCTURE ..........  17
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.                              TABLE OF CONTENTS
  166.  
  167.  
  168.  
  169.                                                                 PAGE
  170.  
  171.     7.0  SETUP AND UTILITIES ..................................  22
  172.          7.1  VIDEO DISPLAY SETUP                                22
  173.          7.2  SET DATE FORMAT                                    22
  174.          7.3  TELEPHONE DIALING                                  22
  175.          7.4  SOUND (ON/OFF)                                     23
  176.          7.5  DELETED RECORDS (SHOW/HIDE)                        23
  177.          7.6  STARTUP VIEW MODE (TABLE/RECORD)                   24
  178.          7.7  COLUMN SPACING (NORMAL/TIGHT)                      24
  179.          7.8  NETWORK MODE (SINGLE/MULTI-USER)                   24
  180.          7.9  DATABASE SCREEN HEADING                            24
  181.          7.10 DATABASE DIRECTORY SETUP                           24
  182.          7.11 PASSWORD ACCESS                                    24
  183.          7.12 PACK DATABASE                                      25
  184.          7.13 ZAP DATABASE                                       26
  185.          7.14 MyBASE ORDER FORM                                  26
  186.          7.15 USER NOTES                                         26
  187.          7.16 SHELL TO DOS                                       26
  188.  
  189.     APPENDIX A: MERGE PRINTING ................................. 27
  190.  
  191.     APPENDIX B: OPERATORS ...................................... 35
  192.  
  193.     APPENDIX C: CODE BLOCKS AND ARRAYS ......................... 37
  194.  
  195.     APPENDIX D: FUNCTION REFERENCE ............................. 39
  196.  
  197.     APPENDIX E: REGISTERING MyBASE ............................. 40
  198.  
  199.     APPENDIX F: OTHER SOFTWARE FROM ARMADA SYSTEMS ............. 42
  200.  
  201.  
  202.     ARMADA SYSTEMS SOFTWARE REGISTRATION AND ORDER FORM .......  46
  203.  
  204.                                                                 MyBASE    i
  205.  
  206.  
  207.  
  208. ARMADA SYSTEMS LICENSE AGREEMENT
  209. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  210. Read this agreement carefully. Use or distribution of this product  consti-
  211. tutes your acceptance of the terms and conditions of this agreement!
  212.  
  213. GENERAL LICENSE TERMS
  214. This  documentation and the software described in it are  copyrighted  with 
  215. all rights reserved worldwide by Armada Systems. Under the copyright  laws, 
  216. neither  the  documentation nor the software may  be  copied,  photocopied, 
  217. reproduced,  translated,  modified, reverse engineered, or reduced  to  any 
  218. electronic medium or machine readable form, in whole or in part, except  as 
  219. specifically authorized below, without the prior written consent of  Armada 
  220. Systems. 
  221.  
  222. Armada  Systems  specifically authorizes individuals and  organizations  to 
  223. make  complete unaltered copies of this software, for the purpose  of  free 
  224. distribution  to   other individuals or organizations.  This  software  and 
  225. documentation may not be sold, no fee must be involved in the  distribution 
  226. of  this software except, for a small reasonable fee to cover the  cost  of 
  227. any distribution media and service charges. This software which consists of 
  228. application  programs, data files and documentation, are a complete  entity 
  229. which must not be separated or altered in any way shape or form. 
  230.  
  231. Individuals or organizations who wish to distribute or market this software 
  232. for the purpose of financial or other material gain, must first receive the 
  233. authorization to do so by contacting Armada Systems.
  234.  
  235. Armada  Systems  authorizes the use of this  software  for  non-commercial, 
  236. educational,  and evaluation purposes only. If you are using or  intend  to 
  237. use  this  software  for any other purposes, then you  must  register  with 
  238. Armada  Systems  by  purchasing the commercial  version  of  the  software. 
  239. Copying (except for back-up purposes) and distribution of software provided 
  240. to registered users is not permitted.
  241.  
  242. DISCLAIMER
  243. This  documentation and the software described in it are provided "as  is," 
  244. without  any  warranty as to their performance, accuracy, or  freedom  from 
  245. error,  or  as to any results generated through their use.  Armada  Systems 
  246. excludes  without  limitation  any and all  implied  warranties,  including 
  247. warranties  of  merchantability and fitness for a particular  purpose.  You 
  248. assume the entire risk as to the results and performance of  the   software 
  249. and documentation.
  250.  
  251. Armada  Systems  will  under no circumstances be  liable  for  any  direct, 
  252. indirect, special, incidental, or consequential damages arising out of  the 
  253. use  or inability to use the software or documentation, even if advised  of 
  254. the possibility of such damages.
  255.  
  256. GENERAL
  257. Should  you have any questions concerning this Agreement, you  may  contact 
  258. Armada Systems by writing to the address given at the front of this manual.
  259. 2.03 - 93124A0                                                  MyBASE   ii
  260.  
  261.  
  262.  
  263. PRODUCT COMMENT FORM
  264. ~~~~~~~~~~~~~~~~~~~~
  265. Use this form if you have any comments or suggestions regarding the  MyBASE 
  266. program or this manual. Mail your comments to:
  267.  
  268.  
  269. Armada Systems
  270. P.O. Box 637, Station A
  271. Downsview, Ontario
  272. M3M 3A9
  273. Canada  
  274.  
  275.  
  276. NAME_________________________________ TITLE________________________________
  277. COMPANY______________________________ DEPARTMENT___________________________
  278. ADDRESS____________________________________________________________________
  279. CITY_________________________________ STATE/PROVINCE_______________________
  280. ZIP/POSTAL CODE______________________ COUNTRY______________________________
  281. PHONE________________________________ FAX__________________________________
  282. COMPUTER TYPE________________________ DOS VERSION__________________________
  283. DATE PROGRAM RECEIVED________________ OBTAINED FROM________________________
  284.  
  285. COMMENTS/SUGGESTIONS:
  286.  
  287.                                                                 MyBASE  iii
  288.  
  289.  
  290.  
  291. GETTING STARTED
  292. ~~~~~~~~~~~~~~~
  293. Before doing anything, it is suggested that you make a copy of the disk 
  294. supplied to you. You should then keep the original disk as a back-up copy 
  295. in a safe place where it will not come in contact with any heat, dust, or 
  296. magnetic radiation. In the event that the copy is ever damaged or 
  297. destroyed, you can always make a new copy from the original disk.
  298.  
  299.  
  300. INSTALLING MyBASE ON HARD DISK
  301. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  302. Although MyBASE does not necessarily require a hard disk to operate, as it 
  303. will run off floppy disks, the performance may not be acceptable. It is 
  304. therefore recommended  that the program be installed on a hard disk as a 
  305. minimum. To install MyBASE on a hard disk, do the following:
  306.  
  307.         1. Boot-up DOS operating system 
  308.            (you should see the C> prompt appear on screen).
  309.  
  310.         2. Insert MyBASE floppy disk into drive A.
  311.  
  312.         3. Type the following:
  313.            MD\MYBASE
  314.            CD\MYBASE
  315.            COPY A:*.* C:
  316.  
  317.         4. To start using MyBASE, type the following:
  318.            CD\MYBASE
  319.            MYBASE
  320.  
  321.                                                                 MyBASE   iv
  322.  
  323.  
  324.  
  325. DISK CONTENTS
  326. ~~~~~~~~~~~~~
  327.  
  328. MYBASE.EXE   - MyBASE program.
  329.  
  330. MYBASE.HLP   - Context sensitive help system.
  331. MYBASE.DBT
  332.  
  333. MYBASE.PIF   - Program Information File for running MyBASE in Microsoft 
  334.                Windows.
  335.  
  336. MYBASE.ICO   - Windows icon.
  337.  
  338. MYBASE.TXT   - This manual.
  339.  
  340. MANUAL.EXE   - Program to print this manual.
  341.  
  342. *.MYB        - Database configuration file. These are the files which
  343.                MyBASE displays in the main database picklist menu.
  344.  
  345. *.DBS        - Database structure definition file.
  346.  
  347. *.DBF        - dBASE III compatible database file.
  348.  
  349. *.DBT        - Database memo file (for databases with memo fields only).
  350.  
  351. *.MRG        - Sample merge print files.
  352.  
  353.  
  354. PERMANENT FILES GENERATED BY MyBASE
  355. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  356.  
  357. MYBASE.CFG   - User configuration file for screen colors and print drivers.
  358.  
  359.  
  360. TEMPORARY FILES GENERATED BY MyBASE
  361. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  362.  
  363. ~*.TMP       - Index files and miscellaneous.
  364.  
  365. BAK*.DB*     - Database backup file created when database structure is
  366.                modified or when packing memo files.
  367.  
  368.                                                             MyBASE   Pg. 1
  369.  
  370.  
  371.  
  372. 1.0  MyBASE, WHAT IS IT?
  373. ~~~~~~~~~~~~~~~~~~~~~~~~
  374. MyBASE is a very easy to use and extremely versatile multipurpose database 
  375. system. With MyBASE you can easily define new ways of viewing your data on 
  376. screen and in printed reports. MyBASE offers both indexing and filter 
  377. methods for searching, grouping, browsing and retrieving selected data. You 
  378. can build any type of index or filter you need to gain rapid-fire search 
  379. and retrieval of data. MyBASE also features a fully programmable merge 
  380. utility which will allow you to merge text and data as well as execute 
  381. almost any type of external program. All automatically!
  382.  
  383.  
  384. 1.1  QUICK OVERVIEW OF FEATURES
  385. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386. Items with an asterisk (*) denote new features for version 2.03.
  387.  
  388. - Context sensitive and user customizable help system. 
  389.   Push F1 at any time to display or edit the help information which relates 
  390.   to the current task.
  391.  
  392. * Ability to completely define your own database structure. This includes 
  393.   descriptive column headings, field edit validation, default field values, 
  394.   field edit functions/templates and execute/run functions which may be 
  395.   invoked by pushing Alt+E or Alt+R in the database browse table. The F2 
  396.   key in the main file selection menu toggles between opening a database 
  397.   and creating/modifying a database structure.
  398.  
  399. * Enhanced network support for multi-user systems.
  400.  
  401. * Enhanced memory management and ability to shell to DOS (Alt+Z) or run 
  402.   external programs from within MyBASE with less than 8K of memory 
  403.   overhead.
  404.  
  405. * Enhanced error management and error recovery.
  406.  
  407. - Database specific, three level password access system. 
  408.   Each database maintains it's own independent password access system which 
  409.   may be turned ON or OFF. To set passwords, push F9 and select 'Password 
  410.   access'.
  411.  
  412. - Quick and simple way of defining new ways of looking at data.
  413.   Unique view windows may be defined for each database. The view windows
  414.   will control how the data will be displayed on screen and in printed
  415.   reports. To define your own view windows, push F2 and select 'Setup...'.
  416.  
  417. * View data in table or record view mode (F3/TAB toggles between modes).
  418.  
  419. * Merge print function to allow merging of text from an external text file 
  420.   with data from the database. Commands may be embedded in the external 
  421.   merge file to control how records and data are processed, where the 
  422.   output is sent to, and what external procedures to call (ex. DOS func-
  423.   tions, word processors, FAX software, label printers, and so on). 
  424.                                                             MyBASE   Pg. 2
  425.  
  426.  
  427.  
  428. - User configurable print drivers (push F8 and select 'Setup...').
  429.   Export data to printer or a DBF or ASCII delimited file. The ability to
  430.   export data to a file is extremely useful since the exported data will
  431.   be based on the current database view and filter conditions which you 
  432.   have set (ie. what you see is what you get). The exported data may then 
  433.   be imported into a word processor, spreadsheet, desktop publishing 
  434.   package, telecommunications or fax software, etc...
  435.  
  436. - Tag individual records for printing, merging or replacing (push F4).
  437.  
  438. - Filter database to display or print a group of selected data (push F5).
  439.  
  440. - Skip through database, searching for specific data (push F6).
  441.  
  442. - Quick, database wide, search and replacement of data (push F7).
  443.  
  444. - For each database record, you may attach, display, edit, import and 
  445.   export free-form notes which may be as large as 64K bytes in size each.
  446.  
  447. - Copy (Alt+C/Alt+O) and paste (Alt+P) data for faster data input.
  448.  
  449. - Automatically dial a telephone number (ALT+D).
  450.  
  451. - Count number of records displayed and calculate totals and averages for a 
  452.   column (Alt+S).
  453.  
  454. - Customize screen colors (push F9).
  455.  
  456. * Enhanced video support for displaying more data on screen (push F9).
  457.  
  458. - Change the date format (push F9).
  459.  
  460. * Turn sound on or off (push F9).
  461.  
  462. - Display or hide records marked for deletion (push F9).
  463.  
  464. - NOTE: MyBASE is continually updated and refined. The version of MyBASE 
  465.   which you currently have may not be the latest version. To obtain the 
  466.   latest version, please send your order form and registration to 
  467.   Armada Systems (push F9 and select "MyBASE order form").
  468.   
  469.  
  470. 1.2  LOADING A DATABASE
  471. ~~~~~~~~~~~~~~~~~~~~~~~
  472. A database may be loaded into MyBASE in one of two ways:
  473.     
  474.    (1) Directly from the command line.
  475.        For example, to open the "CONTACT" database, type the following:
  476.  
  477.        C:\MYBASE\MYBASE C:\MYBASE\CONTACT
  478.  
  479.        MyBASE will open the database automatically, bypassing the database
  480.        picklist menu.
  481.                                                             MyBASE   Pg. 3
  482.  
  483.  
  484.  
  485.        NOTE: A second parameter may also be specified when a database is 
  486.        loaded from the command line. The second parameter will tell MyBASE
  487.        where to create temporary files. 
  488.  
  489.        For example, to open the "CONTACT" database and use to use D:\TEMP\
  490.        for any temporary files, type:
  491.  
  492.        C:\MYBASE\MYBASE C:\MYBASE\CONTACT D:\TEMP\
  493.  
  494.  
  495.    (2) Through a database picklist menu.
  496.        This is the default method and it will display to you a complete
  497.        list of database configuration files (files with extension MYB) 
  498.        which are found in the specified directory.
  499.  
  500.        (a) To display a list of all databases which are found in the 
  501.            current directory, type:
  502.  
  503.            C:\MYBASE\MYBASE
  504.  
  505.        (b) To display a list of all databases in a different subdirectory,
  506.            for example in; C:\MYBASE\DATA, type:
  507.  
  508.            C:\MYBASE\MYBASE C:\MYBASE\DATA\
  509.  
  510.            Note: a subdirectory name must end with a backslash "\".
  511.            
  512.        Use the cursor keys to select a database file and push ENTER to
  513.        open it. To exit MyBASE, push ESC, ALT+X or F10.
  514.  
  515.  
  516. 1.3  USING MyBASE IN MICROSOFT WINDOWS
  517. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  518. Although MyBASE is not a true windows application, it may nevertheless be 
  519. installed to run under Windows. 
  520.  
  521. MS Windows 3.x can operate in standard and 386 enhanced modes. However, the 
  522. modes in which your Windows system may operate in, are restricted by the 
  523. amount of RAM and type of processor installed in your computer. If you have 
  524. an Intel 80386 processor or higher and at least 2MB of memory, you can run 
  525. Windows in the 386 enhanced mode. This mode will allow you to run MyBASE in 
  526. a window, with full multitasking capabilities. If you cannot run Windows in 
  527. the 386 enhanced mode, then you will only be able to run MyBASE in full-
  528. screen mode. You will also not be able to run any other tasks in the back-
  529. ground while you are using MyBASE.
  530.  
  531. To simplify the Windows setup procedure, a Windows 3.0 PIF file has been 
  532. included with the MyBASE distribution package. The PIF file assumes that 
  533. you have installed MyBASE in subdirectory, "C:\MYBASE". If this is not the 
  534. case, then you may edit the MYBASE.PIF file using the Windows PIF Editor. 
  535. Consult your Windows User's Guide if you are unsure of how to do this.
  536.  
  537.                                                             MyBASE   Pg. 4
  538.  
  539.  
  540.  
  541. To install MyBASE in Windows 3.x, do the following:
  542.  
  543.     1. Start Windows.
  544.     2. Select the program group where you would like to install MyBASE.
  545.     3. Select 'File, New' menu option in Program Manager.
  546.     4. Select 'Program Item', click 'OK'.
  547.     5. Type "MYBASE" in 'Description' block.
  548.     6. Type "C:\MYBASE\MYBASE.PIF" in 'Command Line' block.
  549.     7. If you would like to change the icon, select 'Change Icon'.
  550.     8. When finished, click on 'OK'.
  551.  
  552. To  start  MyBASE from Windows, position your mouse pointer on  the  MyBASE 
  553. Windows icon, and double-click the mouse button.
  554.  
  555.  
  556. 1.4  NETWORK INSTALLATION
  557. ~~~~~~~~~~~~~~~~~~~~~~~~~
  558. If you have a multi-user version of MyBASE, you may install it on a 
  559. network. To install MyBASE on a network server, simply copy all files named 
  560. "MYBASE.*" to the server. Then change the file attribute of MYBASE.EXE to 
  561. read only. At the DOS prompt, type:
  562.  
  563.      ATTRIB +R MYBASE.EXE
  564.  
  565.  
  566. 1.5  IF YOU EXPERIENCE PROBLEMS
  567. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  568. In many cases, problems which you experience while running MyBASE may be a 
  569. direct result of incompatibilities between MyBASE and disk caching software 
  570. or other memory resident programs. To test if this is the case, boot your 
  571. computer with no disk caching or memory resident programs loaded, then run 
  572. MyBASE. If the problem disappears, then you can be 100% certain that one of 
  573. the memory resident programs is the culprit. If the problem remains, then 
  574. please let Armada Systems know of the problem.
  575.  
  576. Use the Product Comment Form included at the front of this publication to 
  577. let Armada Systems know of any problems that you experience. This 
  578. information is extremely valuable in allowing Armada Systems to better 
  579. improve the product in the future. As an incentive for sending in those 
  580. problem reports, all registered users who are first to submit to Armada 
  581. Systems a unique problem, will receive a free upgrade once the problem is 
  582. fixed.
  583.  
  584. If you send a problem report to Armada Systems, please try to be as 
  585. detailed as possible. Keep in mind that a problem which cannot be 
  586. duplicated, cannot be fixed. Be sure to include details such as the type of 
  587. computer, hard disk, amount of memory, DOS version, EMS drivers, size of 
  588. RAM disk if used, and most importantly the steps required to recreate the 
  589. problem.
  590.  
  591.                                                             MyBASE   Pg. 5
  592.  
  593.  
  594.  
  595. 2.0  DATABASE BROWSE TABLE
  596. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  597. The database browse table is the screen displayed when a database is loaded 
  598. into MyBASE. The columns of this table are called database fields. The type 
  599. of data which may be entered into a column is controlled by the field type 
  600. of the column. Five types of fields are possible:
  601.  
  602.   * Character: Fixed length fields which may hold any alpha-numeric data.
  603.  
  604.   * Numeric:   These fields are used to store numbers only. Totals and
  605.                averages may be calculated for numeric fields.
  606.  
  607.   * Date:      These fields are only used for storing dates. Column 
  608.                averages may be calculated for date fields. 
  609.  
  610.   * Logical:   Logical fields are used for storing binary data such as
  611.                True/False or Yes/No.
  612.  
  613.   * Memo:      Variable length fields which may be as large as 64K bytes
  614.                in size. They may hold any alpha-numeric data.
  615.  
  616.  
  617. 2.1  FUNCTION KEYS
  618. ~~~~~~~~~~~~~~~~~~
  619. F1 - Help
  620. Display/Edit context sensitive help. 
  621.  
  622. F2 - NewView
  623. Select new database view window.
  624. View windows allow viewing and printing of the database in different ways.
  625. To create a view window, select 'Setup...' in the view window picklist.
  626.  
  627. F3, TAB - Table
  628. Toggle between table and record view modes.
  629.  
  630. F4 - TagRec√
  631. Tag current record for printing or for search and replace.
  632. If current record is already tagged, pushing this key will untag it.
  633. ** To clear all tags in the database, push: SHIFT+F4.
  634.  
  635. F5 - SetFilter
  636. Enter a database filter.
  637. When a database filter is in use, only those records which match the
  638. specified condition will be displayed and/or printed.
  639. ** To clear the filter condition, push: SHIFT+F5.
  640.  
  641. F6 - Find
  642. Enter a database search condition to locate specific data.
  643. ** To find the next record, push: SHIFT+F6.
  644.                                                             MyBASE   Pg. 6
  645.  
  646.  
  647.  
  648. F7 - Replace
  649. Assign new data to the current field. The replace operation will be
  650. performed on each record matching the specified scope or condition.
  651.  
  652. F8 - Print
  653. Print report, merge file or export data to an ASCII or DBF file using 
  654. current index and filter conditions (ie. same as screen).
  655.  
  656. F9 - Util+
  657. MyBASE setup, utilities, and order form.
  658.  
  659. F10, ALT+X - Quit
  660. Close current database and return to main database menu.
  661.  
  662.  
  663. 2.2  ALT+KEY FUNCTIONS
  664. ~~~~~~~~~~~~~~~~~~~~~~
  665. ALT+S - Field statistics
  666. Count number of records displayed and determine column totals and averages.
  667.  
  668. ALT+C, ALT+O - Copy
  669. Copy currently displayed record into copy/paste buffer.
  670. NOTE: * Only the displayed fields (columns) are copied to the buffer.
  671.       * The copy buffer is cleared each time the database view is changed.
  672.  
  673. ALT+P - Paste
  674. Paste data from the copy/paste buffer to the current record.
  675. If a new record is being appended, then the paste function will update all
  676. fields (columns). If however, an existing record is being edited, then the
  677. paste operation will only update the current field (column).
  678.  
  679. ALT+D - Dial telephone number
  680. Dial telephone number located at the current cursor position. To use this
  681. function, you will need a modem connected your computer and telephone. To
  682. customize the settings of the telephone dialer, select 'Telephone dialing'
  683. in the 'F9-Util+' menu.
  684.  
  685. ALT+E, ALT+R - Execute/Run function.
  686. Execute or run the function which has been defined in the database structure 
  687. table for the current field. For example if the current field contains the 
  688. name of a graphics file, a function may be defined to view this file on 
  689. screen whenever the ALT+E or ALT+R keys are pushed.
  690.  
  691. ALT+Z - Shell to DOS.
  692.  
  693.                                                             MyBASE   Pg. 7
  694.  
  695.  
  696.  
  697. 2.3  INSERTING, DELETING AND EDITING RECORDS
  698. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  699. INS - Toggle append mode.
  700.  
  701. DEL - Toggle deleted status of current record. 
  702. A deleted record will be flagged in the first column with a 'm' character.
  703. Records flagged as deleted, may be permanently removed from the database by 
  704. selecting 'PACK database' in the 'F9-Util+' menu.
  705.  
  706. ESC - Refresh screen, cancel append.
  707.  
  708.  
  709. BEFORE ENTERING EDIT MODE:
  710.  
  711. ENTER      - Enter edit mode.
  712.  
  713.              If the field is empty and a default value has been defined in
  714.              the database structure file, then the default value will be
  715.              shown. 
  716.  
  717.              If the default value is an array, then a popup selection box
  718.              will be displayed of available choices. 
  719.  
  720.              NOTE: To automatically select the first item in an array, push
  721.              CTRL+ENTER.
  722.  
  723. CTRL+ENTER - Replace contents with default value.
  724.  
  725.              If the field is empty and the default value is an array, then 
  726.              automatically select the first item in the array. 
  727.  
  728.              If the field is NOT empty and the default value is an array,
  729.              then display a popup selection box of available choices.
  730.  
  731.  
  732. IN EDIT MODE:
  733.  
  734. ESC, F10   - Cancel edit, don't save changes.
  735. CTRL+T     - Delete one word to the right.
  736. CTRL+Y     - Delete rest of line.
  737. F6         - Search database.
  738.              Note: Once a match is found, the search may be continued by
  739.              pushing Alt+F6.
  740. CTRL+ENTER - Add 7 days to current date (in DATE fields only). 
  741. ENTER      - Save changes, quit edit.
  742.  
  743.                                                             MyBASE   Pg. 8
  744.  
  745.  
  746.  
  747. 2.4  NAVIGATING THROUGH THE DATABASE
  748. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  749. TABLE VIEW MODE
  750.  
  751. UP/DOWN    - Move up/down one record.
  752. LEFT/RIGHT - Move left/right one field.
  753. HOME/END   - Jump to first/last field on screen (current record).
  754. CTRL+HOME  - Jump to first field in current record.
  755. CTRL+END   - Jump to last field in current record.
  756. PGUP/PGDN  - Scroll up/down one screen
  757. CTRL+PGUP  - Goto first record in database (top of list).
  758. CTRL+PGDN  - Goto last record in database (bottom of list).
  759.  
  760. RECORD VIEW MODE
  761.  
  762. UP/DOWN    - Move up/down one field.
  763. LEFT/RIGHT - Goto to previous/next record.
  764. CTRL+LEFT  - Goto first record in database.
  765. CTRL+RIGHT - Goto last record in database.
  766. PGUP/PGDN  - Scroll up/down one screen.
  767. CTRL+PGUP  - Jump to first field (same record).
  768. CTRL+PGDN  - Jump to last field (same record).
  769.  
  770.  
  771. 2.5  MEMO EDITOR
  772. ~~~~~~~~~~~~~~~~
  773. The memo editor allows editing variable length, free-form database
  774. character fields, called MEMO fields. All the memo fields in a database are
  775. stored in a separate file with the extension '.DBT'. Each memo record may
  776. be up to 64K bytes in size, and the entire DBT file may be as large as 16M
  777. bytes.
  778.  
  779.  
  780. FUNCTION AND EDIT KEYS:
  781.  
  782.    F1          - Display/edit context sensitive help.
  783.    F2, Ctrl+B  - Reform paragraph
  784.    F3          - Print today's date.
  785.    F4          - Print current time.
  786.    F5, Ctrl+Y  - Delete current line.
  787.    F6, Ctrl+T  - Delete one word to the right.
  788.    F7          - Append memo from a disk file.
  789.    F8          - Print memo to disk file or printer.
  790.    F9, Ctrl+W  - Save changes and exit the memo editor.
  791.    F10, Esc    - Quit without saving changes.
  792.    Ins, Ctrl+V - Toggle insert mode.
  793.    Del         - Delete character at cursor.
  794.    Backspace   - Delete character to left of cursor.
  795.    Return      - Move to beginning of next line.
  796.    ALT+D       - Dial telephone number located at current cursor position.
  797.    ALT+Z       - Shell to DOS.
  798.  
  799.                                                             MyBASE   Pg. 9
  800.  
  801.  
  802.  
  803. NAVIGATION KEYS:
  804.  
  805.    Up/Down              - Move up/down one line.
  806.    Left/Right           - Move left/right one character.
  807.    Ctrl+Left/Ctrl+Right - Move left/right one word.
  808.    Home/End             - Move to beginning/end of current line.
  809.    Ctrl+Home/Ctrl+End   - Move to top/end of current window.
  810.    PgUp/PgDn            - Move up/down one window.
  811.    Ctrl+PgUp/Ctrl+PgDn  - Move to beginning/end of memo.
  812.  
  813.  
  814. 2.5.1  COMPRESSING MEMO FILES
  815. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  816. For data portability reasons, memo databases created in MyBASE have been 
  817. designed to be fully compatible with the dBASE III standard. This format 
  818. however does not provide a mechanism for reusing old space in the file. 
  819. Consequently, as memo fields are edited, the old space in the memo (DBT) 
  820. file is not recycled, which causes the memo file to increase in size each 
  821. time data is saved to the file.
  822.  
  823. If you perform a lot of editing on memo fields and you notice that the memo 
  824. (*.DBT) file is getting too large, then you may compress this file by 
  825. selecting PACK in the Setup and Utilities menu (push F9-Util+).
  826.  
  827.                                                             MyBASE   Pg. 10
  828.  
  829.  
  830.  
  831. 3.0  DATABASE VIEW WINDOWS
  832. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  833. A new view window will allow you to look at the database in a different 
  834. way. A view window controls how the database is indexed and how the 
  835. database fields are displayed on screen and in printed reports.
  836.  
  837. Up to 32 different view windows may be defined. To define a new view
  838. window or to make changes to an existing one, select 'Setup...'.
  839.  
  840. To make a selection, use the cursor keys to position the cursor on the
  841. appropriate window title, and push ENTER. To abort selection push ESC.
  842.  
  843.  
  844. 3.1  VIEW WINDOW SETUP
  845. ~~~~~~~~~~~~~~~~~~~~~~
  846. This is a very powerful utility which will allow you to easily customize up 
  847. to 32 different ways of viewing the database. Here, you may define new ways 
  848. of indexing the data and specify how fields are displayed on screen and in 
  849. printed reports.
  850.  
  851. VIEW No.
  852. View window number. Up to 32 different view windows are possible, range 
  853. 00-99. The first view window will be the one used at start-up. After making 
  854. changes to the view numbers, you may sort the display by pushing F2. 
  855.  
  856. UNIQUE INDEX
  857. When checked (√), it is used to indicate that only unique index key records 
  858. will be displayed and/or printed in reports. To toggle ON/OFF, push the
  859. space bar.
  860.  
  861. VIEW WINDOW TITLE AND SCREEN HEADING
  862. This will be the window title displayed on screen. The window titles are 
  863. also used in the pop-up selection list, which is displayed when the F2
  864. NewView key is pushed.
  865.  
  866. FIELD NAME
  867. A listing of all fields (columns) in the current database.
  868.  
  869. VIEW ORDER
  870. Indicates the order by which the displayed (SHOW IT) fields will be listed 
  871. on screen and in reports.
  872.  
  873. SHOW IT
  874. When checked (√), the field will be displayed in the current view window. To 
  875. toggle ON/OFF, push the space bar.
  876.  
  877. INDEX ON IT
  878. When checked (√), this field will be used for indexing the database. Note 
  879. that if 2 or more fields are checked, the index key will be based on the 
  880. VIEW ORDER by which the fields are listed. Note also that you may index on a 
  881. field which is not SHOWN. To toggle ON/OFF, push the space bar.
  882.  
  883.                                                             MyBASE   Pg. 11
  884.  
  885.  
  886.  
  887. VALID KEYS
  888.  
  889. ARROW KEYS - Move up/down, left/right.
  890. SPACE BAR  - Toggle ON/OFF (√/φ).
  891. F1         - Help (this screen).
  892. F2         - Sort display by view window number
  893. F3, TAB    - Move cursor to next window.
  894. F4, DEL    - Reset or delete current view window.
  895.  
  896. F10, ALT+X - Exit view window setup screen. At this point you may elect to
  897.              permanently save your changes to disk.
  898.  
  899. NOTE: 
  900. Even if you do not save your changes to disk, they will still remain in 
  901. effect while the current database is open. Once the database is closed 
  902. however, these changes will be lost!
  903.  
  904.                                                             MyBASE   Pg. 12
  905.  
  906.  
  907.  
  908. 4.0  FILTERING, SEARCHING AND REPLACING DATA
  909. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  910. 4.1  DATABASE FILTER
  911. ~~~~~~~~~~~~~~~~~~~~
  912. A database filter will allow you to display or print only those records in 
  913. the database which satisfy the filter condition. For example, in a database 
  914. of customer addresses, if the filter is set to; CITY = 'TORONTO', then only 
  915. those customers from the city of Toronto will be listed, on screen and 
  916. printed reports.
  917.  
  918. NOTE: If a record is edited while a filter is active, and after editing the 
  919. record no longer satisfies the filter condition, that record will seem to 
  920. disappear. In fact, the edited record is still in the database, however, 
  921. since it no longer satisfies the filter condition, it is hidden.
  922.  
  923. To clear a filter condition, push; SHIFT+F5.
  924.  
  925.  
  926. 4.2  LOCATE RECORDS IN DATABASE
  927. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  928. This function will allow you to locate all the records in the database 
  929. which meet the specified search condition. 
  930.  
  931. Once a search condition is entered, the database will be scanned, starting 
  932. at the top of the list, for a record which meets the required condition. If 
  933. the search is unsuccessful, the cursor will be positioned to the bottom of 
  934. the list. If a record is found which satisfies the search condition, then 
  935. the cursor will be positioned on this record. 
  936.  
  937. To continue the search from the current record to the end of the list, 
  938. push; SHIFT+F6.
  939.  
  940. NOTE: Only the visible records are searched, so if a filter is active and 
  941. some records are hidden, then the hidden records will not be processed.
  942.  
  943.  
  944. 4.3  SEARCH AND REPLACE DATA
  945. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  946. This function will allow you to assign new data to the current field 
  947. throughout the entire database. The replace operation will be applied to 
  948. each database record that matches the scope or condition you specify.
  949.  
  950. To perform the search and replace operation on the current field, type in 
  951. the new field value, push ENTER, and then select one of the following scope 
  952. or replace conditions: 
  953.                                                             MyBASE   Pg. 13
  954.  
  955.  
  956.  
  957.      TAGGED √          - apply change to all visible tagged records.
  958.      CURRENT CONDITION - use last entered replace condition.
  959.      ENTER CONDITION   - enter a new replace condition
  960.      ALL RECORDS       - apply change to all visible records.
  961.      CANCEL            - quit with no change.
  962.  
  963. NOTE: Only the visible records are searched, so if a filter is active and 
  964. some records are hidden, then the hidden records will not be processed.
  965.  
  966.  
  967. 4.4  ENTERING A FILTER, SEARCH OR REPLACE CONDITION
  968. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  969. To enter a new filter, search or replace condition, do the following:
  970.  
  971.     1. Select a field.
  972.     2. Select a relational operator; =, $, >, <, >=, <=, <> 
  973.     3. Enter the desired field value.
  974.        For your convenience, MyBASE will display the field value of the
  975.        current database record, this value may be edited.
  976.     4. Select <END> if finished, or a logical operator; .OR., .AND.
  977.        If a logical operator is selected, continue as in step 1.
  978.  
  979.     Push ESC any time to return to the database with no changes.
  980.  
  981. As an expression is entered, it will be displayed at the bottom of the 
  982. popup window under the heading NEW EXPRESSION. An expression which is 
  983. currently in use, will be displayed under the heading CURRENT EXPRESSION.
  984.  
  985. NOTE: The maximum length of a filter, search or replace condition is 250 
  986. characters, expressions longer than this will be truncated.
  987.  
  988.  
  989. 4.5  RELATIONAL OPERATORS
  990. ~~~~~~~~~~~~~~~~~~~~~~~~~
  991. A = B   A is equal to B                       'CANADA' = 'CANADA'
  992. A $ B   A is contained in B                    'SMITH' $ 'MR. E. SMITH'
  993. A > B   A is greater than B                       12.5 > 10.1
  994. A < B   A is less than B                       'SHORT' < 'TALL'
  995. A >= B  A is greater than or equal to B     1993/12/23 >= 1992/12/23
  996. A <= B  A is less than or equal to B              'TO' <= 'TORONTO'
  997. A <> B  A is not equal to B                    'SILLY' <> 'GOOD'
  998.  
  999.                                                             MyBASE   Pg. 14
  1000.  
  1001.  
  1002.  
  1003. 5.0  MERGING, PRINTING AND EXPORTING DATA
  1004. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1005. Printed outputs are based on the current database view and filter
  1006. conditions which you have set. Outputs may be directed to either a printer
  1007. or an ASCII or DBF disk file.
  1008.  
  1009. SELECT PRINT DRIVER
  1010. Select the appropriate printer driver that you wish to use. To make 
  1011. changes to the print drivers, select 'Setup...'. 
  1012.  
  1013. PRINT ONLY TAGGED RECORDS (√)
  1014. If you have tagged any records by pushing F4 in the database table, then
  1015. the program will ask if you want to print only those records which have
  1016. been tagged. If you answer NO, then all records displayed in the database
  1017. table will be printed.
  1018.  
  1019. CANCEL PRINT
  1020. Printing may be canceled at any time by pushing ESC.
  1021.  
  1022.  
  1023. 5.1  PRINT DRIVER SETUP
  1024. ~~~~~~~~~~~~~~~~~~~~~~~
  1025. This utility will allow you to create custom print drivers for both 
  1026. physical printers as well as disk files. 
  1027.  
  1028. PRINT DRIVER NAME
  1029. ~~~~~~~~~~~~~~~~~
  1030. This is a listing of all the currently defined print drivers. Select the
  1031. print driver you wish to change by using the UP/DOWN cursor keys. 
  1032.  - To edit the printer title push ENTER.
  1033.  - To change the print driver type, use the LEFT/RIGHT cursor keys.
  1034.  - To change the printer options, push F3 or the TAB key, the cursor will
  1035.    move to the lower part of the screen.
  1036.  
  1037. PRINT DRIVER TYPE
  1038. ~~~~~~~~~~~~~~~~~
  1039. * REPORT (default file extension .PRN)
  1040.   Reports will look similar to your screen display and may be directed to
  1041.   either a printer or disk file. In addition you may specify print
  1042.   formatting commands in the OPTIONS box.
  1043.  
  1044. * FILE MERGE
  1045.   This print driver type will allow you to merge text from an external
  1046.   merge file with data from the database. The merge file will contain both
  1047.   text and commands. All commands must be enclosed in angled brackets,
  1048.   example: < DATE() >. When this command is encountered it will simply
  1049.   print the system date.
  1050.                                                             MyBASE   Pg. 15
  1051.  
  1052.  
  1053.  
  1054.   Data from the database may be merged with text in the merge file by
  1055.   simply enclosing a database field name in the angled brackets; example:
  1056.       < NAME >
  1057.  
  1058.   You may also perform calculations; example:
  1059.       < AMT_BILLED - AMT_PAID >
  1060.  
  1061.   or conditions; example:
  1062.       < IF(AMT_OWING == 0, "Thank-you.", "Pay now, or else!") >
  1063.  
  1064.   In addition, commands may be embedded in merge files to control how
  1065.   records and data are processed, where the output is sent to, and what
  1066.   external procedures to call (ex. DOS functions, word processors, FAX
  1067.   software, label printers, and so on). For more information, consult the
  1068.   appendix section at the end of this manual.
  1069.  
  1070. * ASCII (default file extension .TXT)
  1071.   This format is used to export data from your database for use in
  1072.   other software programs which do no support the DBF format. Records are
  1073.   variable length, each separated by a CR+LF. Fields are variable length
  1074.   and separated by commas. Character strings are enclosed in quotation
  1075.   marks. Leading and trailing spaces for character and numeric fields are
  1076.   truncated, date fields are written in the form YYYYMMDD, and logical
  1077.   fields are written as T or F. Example: "Character",12.30,19931225,T
  1078.  
  1079. * DBF (default file extension .DBF)
  1080.   This format is used to copy the entire database or a select group of
  1081.   records, in the index order, to a secondary database file.
  1082.  
  1083. OPTIONS
  1084. ~~~~~~~
  1085. * Merge file:
  1086.   Here you may enter either the name of a merge file, or a file filter
  1087.   such as *.MRG to list a group of merge files located on disk which you
  1088.   may later select from.
  1089.  
  1090. * Output to:
  1091.   Printed outputs may be directed to either a physical printer or a disk
  1092.   file. PRN is the default DOS printer, LPT1/2/3 are parallel ports,
  1093.   COM1/2 are serial ports.
  1094.  
  1095. * Columns/line:
  1096.   This number is used to indicate the maximum number of columns printed on
  1097.   each line. The program will automatically truncate any lines which are
  1098.   longer than this maximum. If you do not want output truncated, then enter
  1099.   a value of 0.
  1100.                                                             MyBASE   Pg. 16
  1101.  
  1102.  
  1103.  
  1104. * Lines/page:
  1105.   This number is used to indicate the maximum number of lines printed on
  1106.   each page. A title is printed at the top of each page. To create a
  1107.   continuous form report, with a title only at the beginning of the
  1108.   report, enter a value of 0.
  1109.  
  1110. * Printer setup/reset strings:
  1111.   These character strings are sent to the printer at the start/end of
  1112.   printing. The intent is to setup the printer (select font, page
  1113.   orientation, margins, etc...) at the start of printing and to reset it
  1114.   when printing is completed. ASCII characters in the range [0-255] may be
  1115.   entered. To enter a numeric ASCII value push ALT+A.
  1116.  
  1117. * Record start/end strings:
  1118.   These character strings are sent to the printer at the beginning/end of
  1119.   each database record. ASCII characters in the range [0-255] may be
  1120.   entered. To enter a numeric ASCII value push ALT+A.
  1121.  
  1122.                                                             MyBASE   Pg. 17
  1123.  
  1124.  
  1125.  
  1126. 6.0  CREATING AND MODIFYING A DATABASE STRUCTURE
  1127. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1128. FIELD NAME
  1129. ~~~~~~~~~~
  1130. These will be the columns of the new database, try to be as descriptive as 
  1131. possible. Field names must be unique, begin with an alphabetic character, 
  1132. and can not contain blank spaces between characters.
  1133.  
  1134.  
  1135. TYPE
  1136. ~~~~
  1137. Push the space bar or one of the following letters: C,N,D,L,M to select a
  1138. field type.
  1139.  
  1140.   * Character: Fixed length fields which may hold any alpha-numeric data.
  1141.  
  1142.   * Numeric:   These fields are used to store numbers only. Totals and
  1143.                averages may be calculated for numeric fields.
  1144.  
  1145.   * Date:      These fields are only used for storing dates. Column 
  1146.                averages may be calculated for date fields. 
  1147.  
  1148.   * Logical:   Logical fields are used for storing binary data such as
  1149.                True/False or Yes/No.
  1150.  
  1151.   * Memo:      Variable length fields which may be as large as 64K bytes
  1152.                in size. They may hold any alpha-numeric data.
  1153.  
  1154. LENGTH
  1155. ~~~~~~
  1156. Date, logical, and memo fields have preset lengths. Character and numeric
  1157. are the only field types where the length may be set by the user. For
  1158. numeric types, the field length includes all digits and decimal point if
  1159. any. 
  1160.  
  1161.  
  1162. DECIMALS
  1163. ~~~~~~~~
  1164. Number of decimal spaces for numeric fields. For example the number
  1165. "12.3456" would have: LENGTH = 7, and  DECIMALS = 4.
  1166.  
  1167.  
  1168. FIELD COLUMN HEADING
  1169. ~~~~~~~~~~~~~~~~~~~~
  1170. Here you may enter a more descriptive title for the current field. To create 
  1171. multi-line headings use the semicolon (;) character.
  1172.  
  1173.                                                             MyBASE   Pg. 18
  1174.  
  1175.  
  1176.  
  1177. EDITABLE
  1178. ~~~~~~~~
  1179.   √ - allow editing to current field.
  1180.   · - do not allow editing to this field.
  1181.  
  1182. Push the space bar to toggle ON/OFF.   
  1183.  
  1184.  
  1185. EDIT PICTURE TEMPLATE
  1186. ~~~~~~~~~~~~~~~~~~~~~
  1187. Picture templates are used to define the formatting of fields for editing. 
  1188. Two mechanisms are available to control formatting: functions and templates. 
  1189. Functions apply to the entire field, while templates format characters 
  1190. position by position.
  1191.  
  1192. FUNCTION STRING:
  1193. The function string consists of the @ character, followed by one or more 
  1194. additional characters, each having a particular meaning. If a function 
  1195. string is present, the @ character must be the left-most character of the 
  1196. picture string, and the function string must not contain spaces. A function 
  1197. string may be specified alone or with a template string. If both are 
  1198. present, the function string must precede the template string, and the two 
  1199. must be separated  by a single space.
  1200.  
  1201.    FUNCTION  TYPE  ACTION
  1202.     A         C     Allows only alphabetic characters
  1203.     B         N     Displays numbers left-justified
  1204.     C         N     Displays CR after positive numbers
  1205.     D         D,N   Displays dates in current date format
  1206.     E         D,N   Displays dates in British format
  1207.     K         all   Deletes default text if first key is not a cursor key
  1208.     R         C     Non-template characters are inserted but not saved
  1209.     S<n>      C     Allows horizontal scrolling. <n> is an integer that
  1210.                     specifies the width of the region
  1211.     X         N     Displays DB after negative numbers
  1212.     Z         N     Displays zero as blanks
  1213.     (         N     Displays negative numbers in parentheses with leading
  1214.                     spaces
  1215.     )         N     Displays negative numbers in parentheses without leading
  1216.                     spaces
  1217.     !         C     Converts alphabetic characters to upper case
  1218.  
  1219. TEMPLATE STRING:
  1220. The template string specifies formatting or validation rules on a character 
  1221. by character basis. Each position in the template string corresponds to a 
  1222. position in the displayed field. Characters which do not have assigned 
  1223. meanings are copied verbatim into the displayed field. If the @R function is 
  1224. used, these characters are inserted into the display, but are not saved when 
  1225. editing is complete.
  1226.                                                             MyBASE   Pg. 19
  1227.  
  1228.  
  1229.  
  1230.    TEMPLATE  ACTION
  1231.     A         Allows only alphabetic characters
  1232.     N         Allows only alphabetic and numeric characters
  1233.     X         Allows any character
  1234.     9         Allows digits for any data type, including sign for numerics
  1235.     #         Allows digits, signs, and spaces for any data type
  1236.     L         Allows only T,F,Y, or N
  1237.     Y         Allows only Y or N
  1238.     !         Converts an alphabetic character to upper case
  1239.     $         Displays a dollar sign in place of a leading space in a
  1240.               numeric
  1241.     *         Displays an asterisk in place of a leading space in a numeric
  1242.     .         Displays a decimal point
  1243.     ,         Displays a comma
  1244.  
  1245.     Example: @KS10 !XXXXXXXXX
  1246.  
  1247.  
  1248. PRE-EDIT VALIDATION
  1249. ~~~~~~~~~~~~~~~~~~~
  1250. Pre-edit validation specifies a condition which must be satisfied before the 
  1251. user will be allowed to edit the current field. The condition may be 
  1252. specified either as a simple function or as a more complicated code block 
  1253. which returns a logical value. The field's current value will be passed to a 
  1254. code block as a parameter. 
  1255.  
  1256. If the value returned by the function or code block is true, the user will 
  1257. be allowed to enter edit mode, example:
  1258.  
  1259.     AMT_OWING > 0 .AND. DATE()-INV_DATE > 90
  1260.  
  1261. This example will only allow edit to the current field if the AMT_OWING is 
  1262. greater than zero and the INV_DATE is more than 90 days old.
  1263.  
  1264. Please consult the appendix at the end of this manual for a listing of 
  1265. available functions and a description of code blocks.
  1266.  
  1267.  
  1268. POST-EDIT VALIDATION
  1269. ~~~~~~~~~~~~~~~~~~~~
  1270. Post-edit validation specifies a condition which must be satisfied before 
  1271. the user will be allowed to exit field edit. The condition may be specified 
  1272. either as a simple function or as a more complicated code block which 
  1273. returns a logical value. The field's current value will be passed to a code 
  1274. block as a parameter.
  1275.  
  1276. If the value returned by the function or code block is true, the user will 
  1277. be allowed to leave edit mode, example:
  1278.  
  1279.     {|x| field->FOLLOW_UP := x+28, .T.}
  1280.  
  1281.                                                             MyBASE   Pg. 20
  1282.  
  1283.  
  1284.  
  1285. Assuming we are editing a date field, say the date last called, this example 
  1286. will add 28 days to the date which was entered and store the value in the 
  1287. FOLLOW_UP field. The user will then be allowed to exit edit mode since the 
  1288. last value returned by the code block is a logical true (.T.).
  1289.  
  1290. Please consult the appendix at the end of this manual for a listing of 
  1291. available functions and a description of code blocks.
  1292.  
  1293.  
  1294. DEFAULT VALUE
  1295. ~~~~~~~~~~~~~
  1296. If a default value is specified, this value will be assigned to the field
  1297. whenever a new record is appended to the database or when the user pushes
  1298. ENTER on a blank field. If the field is not blank, the user may assign
  1299. it the default value by pushing CTRL+ENTER prior to entering edit mode.
  1300.  
  1301. For character fields (type: C), you may specify an array of character items
  1302. which will cause a popup selection box to be displayed whenever the user
  1303. edits this field. For example, in a COUNTRY field you may have:
  1304.  
  1305.     {"Canada", "U.S.A.", "U.K.", "France", "Germany", "Italy"}
  1306.  
  1307. This example will display a popup selection box, allowing the user to
  1308. select one item.
  1309.  
  1310. Please consult the appendix at the end of this manual for a listing of 
  1311. available functions and a description of code blocks and arrays.
  1312.  
  1313.  
  1314. EXECUTE/RUN FUNCTION
  1315. ~~~~~~~~~~~~~~~~~~~~
  1316. Create a function or code block which will be executed when the ALT+E or 
  1317. ALT+R keys are pushed. Examples may include calling external programs such 
  1318. as DOS functions, file viewers, word processors, spreadsheets, graphics 
  1319. viewers, FAX software, and so on. 
  1320.  
  1321. The field's current value will be passed to a code block as a parameter, 
  1322. example:
  1323.  
  1324.     {|x| if(empty(x), NIL, run('q '+x, 96)) }
  1325.  
  1326. When this function is executed, it will first check if the field (x) where 
  1327. the cursor is currently positioned contains any information, if it does, 
  1328. then it will try to make available 96K of memory and execute the editor (q) 
  1329. which will open file (x).
  1330.  
  1331. Once you exit the editor, you will be returned back to MyBASE.
  1332.  
  1333. Please consult the appendix at the end of this manual for a listing of 
  1334. available functions and a description of code blocks.
  1335.  
  1336.                                                             MyBASE   Pg. 21
  1337.  
  1338.  
  1339.  
  1340. COPYING STRUCTURE FROM EXTERNAL FILE
  1341. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1342. A database structure may be copied from an existing database structure file 
  1343. (extension .DBS) or an existing database file (extension .DBF). To copy the 
  1344. database structure, push F2-CopyFrom. 
  1345.  
  1346. NOTE!
  1347. When a database structure is copied from an external file, all data 
  1348. currently displayed will be lost!
  1349.  
  1350.                                                             MyBASE   Pg. 22
  1351.  
  1352.  
  1353.  
  1354. 7.0  SETUP AND UTILITIES 
  1355. ~~~~~~~~~~~~~~~~~~~~~~~~
  1356.  
  1357. 7.1  VIDEO DISPLAY SETUP
  1358. ~~~~~~~~~~~~~~~~~~~~~~~~
  1359. This utility will allow you to customize the video screen size and colors. 
  1360. To make changes, use the up/down cursor keys to move the pointer to the 
  1361. color which you want to change. 
  1362.  
  1363. To change the foreground (text) color press the (+) key, to change the 
  1364. background color press the (-) key. To toggle the foreground color 
  1365. intensity press the (*) key, to toggle the background color intensity press 
  1366. the (/) key.
  1367.  
  1368. Typical screen sizes are 25x80 (CGA), 43x80 (EGA), 50x80 (VGA). Your 
  1369. monitor may also support other screen sizes, please check with your 
  1370. hardware documentation. If you select a screen size which is not supported 
  1371. by your hardware, the screen will remain in the current mode.
  1372.  
  1373. When finished, push ESC, ALT+X or F10. At this point, you may choose to save 
  1374. or discard any changes which have been made.
  1375.  
  1376. 7.2  SET DATE FORMAT
  1377. ~~~~~~~~~~~~~~~~~~~~
  1378. Select the date format that you wish to display on screen and in printed
  1379. reports. A number of different data formats are available.
  1380.  
  1381. 7.3  TELEPHONE DIALING
  1382. ~~~~~~~~~~~~~~~~~~~~~~
  1383. If your computer and telephone are connected to a modem, you may use the
  1384. telephone dialer to automatically dial a telephone number which is
  1385. displayed on screen. To use this function, position the cursor on or near
  1386. the desired phone number, push ALT+D, and pickup the telephone receiver.
  1387.  
  1388. The setup screen will allow you to customize the telephone dialer. Modem
  1389. commands specified below will work with most Hays (tm) compatible modems.
  1390. Your particular modem may be different, so consult your modem's user manual
  1391. for a complete list of commands.
  1392.  
  1393. MODEM START DIAL STRING
  1394. ~~~~~~~~~~~~~~~~~~~~~~~
  1395. This is the character string which will be sent to the modem before dialing
  1396. the actual telephone number. The default is:
  1397.     +++ATDTW
  1398. This instructs the modem to switch to command mode (+++),  and get ready to
  1399. dial (ATD) a number in tone mode (T) after hearing a dial tone (W).
  1400.                                                             MyBASE   Pg. 23
  1401.  
  1402.  
  1403.  
  1404. MODEM END DIAL STRING
  1405. ~~~~~~~~~~~~~~~~~~~~~
  1406. This character string will be sent to the modem at the end of the telephone
  1407. number. The default is:
  1408.     ;H S0=0
  1409. This instructs the modem to return to command state (;), hang up (H) and
  1410. turn off auto-answer (S0=0).
  1411.  
  1412. VALID TELEPHONE NUMBER CHARACTERS
  1413. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1414. When you push ALT+D, MyBASE will scan the current line where the cursor is
  1415. positioned, looking for a valid telephone number. If more than one valid
  1416. telephone number is found, the one closest to the cursor will be selected
  1417. and dialed. You may specify what characters will be accepted as being part
  1418. of the telephone number. The default characters are:
  1419.  
  1420.     0123456789#*ABCD,TPW@!;( )-
  1421.     |--------------||-----||--|
  1422.             |          |     |
  1423.             |          |     +- character separators, ignored by modem
  1424.             |          +------- dial modifiers, see below
  1425.             +------------------ digits/characters for dialing
  1426.  
  1427. The following are some of the most common dial modifiers used by modems:
  1428.     T - switch to tone dialing.
  1429.     P - switch to pulse dialing.
  1430.     , - pause for 2 seconds before proceeding.
  1431.     W - wait for dial tone before proceeding.
  1432.     @ - wait for 5 seconds of silence before proceeding.
  1433.     ! - issue hookflash signal (hangup for 0.5 seconds then reconnect)
  1434.     ; - return to command state after dialing.
  1435.  
  1436. The following example illustrates use of several modifiers:
  1437.     ATDT 9,765 4321!,#0 1234;H
  1438.  
  1439. This command line instructs the modem to use tone dialing to access a
  1440. number outside a PBX, pause before dialing, dial the number 765 4321, enter
  1441. a hookflash, pause, and issue the PBX transfer code #0 before dialing the
  1442. extension number 1234, then return to command state and hang up. If the
  1443. telephone is off hook, the call will now be switched to voice.
  1444.  
  1445. USE SERIAL PORT
  1446. ~~~~~~~~~~~~~~~
  1447. Select the serial port that your modem is connected to. You may use either
  1448. COM1 or COM2. Position the cursor on the desired serial port, and push
  1449. ENTER to select.
  1450.                                                             MyBASE   Pg. 24
  1451.  
  1452.  
  1453.  
  1454. 7.4  SOUND (ON/OFF)
  1455. ~~~~~~~~~~~~~~~~~~~
  1456. Push ENTER to toggle use of sound ON or OFF.
  1457.  
  1458. 7.5  DELETED RECORDS (SHOW/HIDE)
  1459. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1460. Push ENTER to toggle display of deleted records ON or OFF. If deleted
  1461. records are displayed, then they will be flagged with a 'φ' character in
  1462. the first column.
  1463.  
  1464. 7.6  STARTUP VIEW MODE (TABLE/RECORD)
  1465. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1466. Push ENTER to toggle the default view mode when a database is loaded. The 
  1467. view mode may also be changed by pushing F2 or TAB.
  1468.  
  1469. 7.7  COLUMN SPACING (NORMAL/TIGHT)
  1470. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1471. Push ENTER to toggle the default column spacing. Using NORMAL spacing, 
  1472. columns are separated by a thin line and one blank space. Using TIGHT 
  1473. spacing, columns are separated by a single thick line, leaving more space 
  1474. for data.
  1475.  
  1476. 7.8  NETWORK MODE (SINGLE/MULTI-USER)
  1477. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1478. Push ENTER to toggle the mode used to open databases. Either shared for 
  1479. multi-user use or non-shared for single user use. Use of this utility is 
  1480. restricted to users with access level "ALL".
  1481.  
  1482. NOTE: This option is only available on multi-user versions of MyBASE.
  1483.  
  1484. 7.9  DATABASE SCREEN HEADING
  1485. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1486. Enter a descriptive title for the current database. This title will be 
  1487. displayed on top of the screen whenever this database is loaded in the 
  1488. future.
  1489.  
  1490. 7.10 DATABASE DIRECTORY SETUP
  1491. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1492. Enter the DOS paths of the database and temporary files. If a RAM disk is
  1493. available, then for improved performance, you may set the temporary file
  1494. path to the RAM disk. 
  1495.  
  1496. Each database maintains it's own independent DOS file paths, so making
  1497. changes here will not affect other databases. In many cases in fact, it may
  1498. be more practical to store a database in it's own directory.
  1499.                                                             MyBASE   Pg. 25
  1500.  
  1501.  
  1502.  
  1503. NOTE:
  1504. For a DOS path to be accepted it must; 
  1505. (a) already exist and, 
  1506. (b) end with a backslash (\), for example;  C:\MYBASE\
  1507.  
  1508. Temporary files created by MyBASE are normally deleted when you exit MyBASE. 
  1509. However, if you reset your system while in MyBASE or if MyBASE terminates 
  1510. abnormally, these temporary files will not be deleted. In this case you may 
  1511. erase any files of the following format: '~*.TMP' once you return to DOS.
  1512.  
  1513. 7.11  PASSWORD ACCESS
  1514. ~~~~~~~~~~~~~~~~~~~~~
  1515. Edit the passwords for the current database and turn password access ON or
  1516. OFF. Use of this utility is restricted to users with access level 'ALL'.
  1517.  
  1518. Access to databases may be restricted to only users who have a valid 
  1519. password. Each database has it's own independent password access system, 
  1520. so making changes here will not affect other databases. 
  1521.  
  1522. Three password access levels are available: READ, READ/WRITE, and ALL.
  1523.  
  1524. READ:
  1525. Will allow users to browse the database, but will not allow any changes to
  1526. be made to either the database or any MyBASE configuration functions.
  1527.  
  1528. READ/WRITE:
  1529. Will allow users to browse and edit the database and make changes to all
  1530. MyBASE configuration functions, except for the password system.
  1531.  
  1532. ALL:
  1533. This is the highest access level. Users with this password access are not
  1534. restricted from performing any function whatsoever in MyBASE. This access
  1535. level is required to make changes to the password system!
  1536.  
  1537. DATABASE PASSWORD ACCESS ON/OFF:
  1538. Password access to this database may be turned ON or OFF. If it is turned
  1539. ON, users will be required to enter a password each time they access the
  1540. database. If it is OFF, a password will not be required to access the
  1541. database and the user will automatically be given access level "ALL".
  1542.  
  1543. 7.12  PACK DATABASE
  1544. ~~~~~~~~~~~~~~~~~~~
  1545. This function will permanently remove all records in the current database
  1546. which have been marked for deletion! Records which have been marked for 
  1547. deletion, are flagged in the first column of the database browse table with 
  1548. a 'φ' character.
  1549.  
  1550. This function will also compress memo files in order to reclaim the old 
  1551. space in a memo (*.DBT) file.
  1552.                                                             MyBASE   Pg. 26
  1553.  
  1554.  
  1555.  
  1556. 7.13  ZAP DATABASE
  1557. ~~~~~~~~~~~~~~~~~~
  1558. This function will permanently delete all records in the current database! 
  1559. Use of this utility is restricted to users with access level "ALL".
  1560.  
  1561. 7.14  MyBASE ORDER FORM
  1562. ~~~~~~~~~~~~~~~~~~~~~~~
  1563. Place an order for the latest version of MyBASE (see Appendix "E").
  1564.  
  1565. 7.15  USER NOTES
  1566. ~~~~~~~~~~~~~~~~
  1567. Here's a place to store your own notes...
  1568.  
  1569. 7.16  SHELL TO DOS
  1570. ~~~~~~~~~~~~~~~~~~
  1571. Swap MyBASE to either EMS, XMS or disk and shell to DOS. To return to 
  1572. MyBASE, type EXIT.
  1573.  
  1574. APPENDIX A                                                  MyBASE   Pg. 27
  1575.  
  1576.  
  1577.  
  1578. APPENDIX A: MERGE PRINTING
  1579. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  1580.  
  1581. Merge printing involves merging text from an external merge file with data 
  1582. from a database. In order to accomplish this, the merge file must contain 
  1583. commands or functions which reference information in the database. All such 
  1584. commands and functions must be enclosed in angled brackets. For example, 
  1585. the following function will print the system date:
  1586.  
  1587.        < DATE() > 
  1588.  
  1589. Data from the database may be merged with text in the merge file by
  1590. simply enclosing a database field name in the angled brackets; example:
  1591.  
  1592.        < NAME >
  1593.  
  1594. You may also perform calculations; example:
  1595.  
  1596.        < AMT_BILLED - AMT_PAID >
  1597.  
  1598. or conditions; example:
  1599.  
  1600.        < IF(AMT_OWING == 0, "Thank-you.", "Pay now, or else!") >
  1601.  
  1602. In addition, commands may be embedded in merge files to control how records 
  1603. and data are processed, where the output is sent to, and what external 
  1604. procedures to call (ex. DOS functions, word processors, FAX software, label 
  1605. printers, picture file viewers, and so on).
  1606.  
  1607. A sample merge file is included on the proceeding page. It shows how you 
  1608. may merge and fax personalized documents to multiple destinations. This 
  1609. merge file first creates the document and then calls an external program 
  1610. (BITFAX (tm) for DOS) to fax the document via a fax/modem. Although in this 
  1611. example BITFAX is used for transmitting, other fax software may work 
  1612. equally as well.
  1613.  
  1614. There are additional sample merge files (to create letters, envelopes and 
  1615. reports) included with MyBASE. All of these merge files have a file name 
  1616. extension ".MRG". 
  1617.  
  1618. NOTE:
  1619. ~~~~~
  1620. (a) If you need to use an angled bracket literally, precede it with a 
  1621. backslash character (\), as in:
  1622.  
  1623.        < LOCATE( "FOLLOW_UP \>= DATE()" ) >
  1624.  
  1625. (b) The maximum length of a merge file is 65,519 bytes. 
  1626.  
  1627. APPENDIX A                                                  MyBASE   Pg. 28
  1628.  
  1629.  
  1630.  
  1631. SAMPLE MERGE FILE: MERGE AND FAX
  1632. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1633. 01: <# _Date      := CMONTH(DATE()) +" "+ ALLTRIM(STR(DAY(DATE())))           
  1634. 02:                  +","+ STR(YEAR(DATE())) >                                
  1635. 03: <# _To        := "" >                                                     
  1636. 04: <# _DoNothing := {|| NIL} >                                               
  1637. 05: <# _SkipThis  := {|| .not. FAX .or. EMPTY( FAX_NO )} >                    
  1638. 06: < DBEVAL (_DoNothing,, _SkipThis,, .T.) >                                 
  1639. 07:                                                                           
  1640. 08:                                                     John Smith         
  1641. 09:                                                     101 Street Avenue  
  1642. 10:                                                     Anywhere, Anystate 
  1643. 11:                                                     12345              
  1644. 12:                                                     Tel. (999) 555-1212
  1645. 13:                                                                           
  1646. 14: < _Date >                                                                 
  1647. 15:                                                                           
  1648. 16: < TRIMLINES (                                                             
  1649. 17:      TRIM (TRIM (SAL) +" "+ FIRST_NAME) +" "+ LAST_NAME + _LF +           
  1650. 18:      TITLE     + _LF +                                                    
  1651. 19:      DEPARTMENT+ _LF +                                                    
  1652. 20:      COMPANY   + _LF +                                                    
  1653. 21:      ADDRESS_1 + _LF +                                                    
  1654. 22:      ADDRESS_2 + _LF +                                                    
  1655. 23:      TRIM (CITY)+ ", " + STATE + _LF +                                    
  1656. 24:      ZIP_CODE  + _LF )                                                    
  1657. 25: >                                                                         
  1658. 26:                                                                           
  1659. 27: Dear < _To := IF( EMPTY(LAST_NAME), "Sir/Madam",                          
  1660. 28:                   TRIM (TRIM (SAL)+" "+LAST_NAME)) >,                     
  1661. 29:                                                                           
  1662. 30:    *******************                                                    
  1663. 31:                                                                           
  1664. 32:           TEXT                                                            
  1665. 33:                                                                           
  1666. 34:    *******************                                                    
  1667. 35:                                                                           
  1668. 36: Yours very truly,                                                         
  1669. 37: ##include=C:\BITFAX\SEND\SIGNATUR.PCX                                     
  1670. 38: John Smith, PhD.                                                          
  1671. 39: <                                                                         
  1672. 40:   WRITE ("C:\BF\FAX.TXT"),                                                
  1673. 41:   RUN   ("C:\BF\BITFAX -FC:\BF\FAX.TXT -P" + STRTRAN(FAX_NO," "), 384),   
  1674. 42:                                                                           
  1675. 43:   TXLOG := TRIM (STUFF (RIGHT (MEMOREAD(                                  
  1676. 44:            "C:\BF\BITFAXTX.LOG"), 90), 40, 14, "")),                      
  1677. 45:                                                                           
  1678. 46:   PUT ("NOTES", NOTES + "* " + DTOC( DATE() ) + " FAX to: " + _To         
  1679. 47:         + ", brochure rev 1.21"+_LF+"  "+TXLOG+_LF),                      
  1680. 48:                                                                           
  1681. 49:   PUT ("STATUS", SUBSTR(TXLOG, 55)),                                      
  1682. 50:   IF (SUBSTR( TXLOG, 55, 2 ) == "OK", PUT ("LAST_FAX", DATE()), NIL)      
  1683. 51: >                                                                         
  1684. APPENDIX A                                                  MyBASE   Pg. 29
  1685.  
  1686.  
  1687.  
  1688.  
  1689. The following is a description of commands which are embedded in the 
  1690. preceding sample merge file:
  1691.  
  1692. Line 01:
  1693. Convert the system date to the following format: 'July 7, 1993', and save 
  1694. the result in the memory variable "_Date".
  1695.  
  1696. Line 03:
  1697. Define a memory variable "_To" for later use.
  1698.  
  1699. Line 04:
  1700. Define a NUL code block (one which does nothing).
  1701.  
  1702. Line 05:
  1703. Define a code block which will return the faxability status of the current 
  1704. record. When evaluated, this code block will return TRUE if the current 
  1705. record does not have a fax number, or if the FAX flag has been set to 
  1706. FALSE.
  1707.  
  1708. Line 06:
  1709. Skip all records for which the code block "_SkipThis" returns TRUE (ie. all 
  1710. records which have no fax number or where the FAX flag has been set to 
  1711. false).
  1712.  
  1713. Line 14:
  1714. Print the contents of memory variable "_Date" (ie. the system date).
  1715.  
  1716. Line 16-25:
  1717. Print the client's name and address. The function TRIMLINES(), causes empty 
  1718. lines to be deleted.
  1719.  
  1720. Line 27:
  1721. Print greeting as follows: If the LAST_NAME field is empty, then print: 
  1722. "Dear Sir/Madam,". If the LAST_NAME field is not empty, then print the 
  1723. greeting in the following format: "Dear Mr. Jones,".
  1724.  
  1725. The greeting is also stored in the predefined memory variable "_To" for 
  1726. later use.
  1727.  
  1728. Line 37:
  1729. This is a BITFAX specific command which is used to tell BITFAX to include 
  1730. an external file in the fax document. In this case, the graphics file 
  1731. SIGNATUR.PCX (the author's signature) will be inserted at this location.
  1732.  
  1733. Line 40:
  1734. Write merged text and data to a disk file, FAX.TXT.
  1735. APPENDIX A                                                  MyBASE   Pg. 30
  1736.  
  1737.  
  1738.  
  1739. Line 41:
  1740. Shell to DOS, making at least 384K of RAM available, and run BITFAX with 
  1741. instructions to fax the file FAX.TXT to the fax number FAX_NO. BITFAX will 
  1742. attempt to fax the document, saving all results in a transmit log file 
  1743. called BITFAXTX.LOG.
  1744.  
  1745. Line 43:
  1746. Read the last line in the log file BITFAXTX.LOG and store the result in a 
  1747. memory variable, "TXLOG".
  1748.  
  1749. Line 46:
  1750. Save the transmit log result in the database memo field, NOTES.
  1751.  
  1752. Line 49:
  1753. Save the transmit log result in the database field, STATUS.
  1754.  
  1755. Line 50:
  1756. If the fax has been successfully transmitted, update the LAST_FAX field to 
  1757. the current date.
  1758.  
  1759. APPENDIX A                                                  MyBASE   Pg. 31
  1760.  
  1761.  
  1762.  
  1763. SPECIAL FUNCTIONS FOR MERGE PRINTING
  1764. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1765.  
  1766. The following is a listing of functions which may ONLY be used in merge 
  1767. printing. Please consult appendix "D" for a listing of additional functions 
  1768. which may be used in a merge file.
  1769.  
  1770.  
  1771. ------------------------
  1772. < CONTINUE() >  or  < LOCATE() >
  1773.  
  1774. Returns: NIL
  1775.  
  1776. Skip to the next record which satisfies the last specified LOCATE 
  1777. condition.
  1778.  
  1779.  
  1780. ------------------------
  1781. < LOCATE( cCondition ) >
  1782.  
  1783. Returns: NIL
  1784.  
  1785. Select and process only those records from the database which satisfy the 
  1786. logical condition (cCondition). cCondition must be specified as a character 
  1787. string delimited on both ends with a pair of double quotes ("), single 
  1788. quotes ('), or square brackets ([ ]). The expression must evaluate to a 
  1789. logical value, example:
  1790.  
  1791.        < LOCATE( "UPPER(TRIM( CITY )) == 'DALLAS'" ) >
  1792.  
  1793. If the ( cCondition ) is not specified, the statement is equivalent to a 
  1794. CONTINUE(), see below.
  1795.  
  1796.  
  1797. ------------------------
  1798. < RET() >
  1799.  
  1800. Return. Stops merge program for current record but continues from the top 
  1801. of the merge program with the next record.
  1802.  
  1803. Example:
  1804.  
  1805.        < IF( UPPER(TRIM( CITY )) == "DALLAS",  RET(), NIL) >
  1806.  
  1807. If place at the top of the merge file, this example will skip all the 
  1808. records where the CITY is "DALLAS".
  1809.  
  1810.  
  1811. ------------------------
  1812. APPENDIX A                                                  MyBASE   Pg. 32
  1813.  
  1814.  
  1815.  
  1816. ------------------------
  1817. < STOP( lSet ) >
  1818.  
  1819. Returns: lStatus
  1820.  
  1821. If specified, lSet must be a logical value (either .T. or .F.). If lSet is 
  1822. specified as .T., the merge operation will terminate. Specifying lSet 
  1823. as .F. will reset the current STOP() status.
  1824.  
  1825. If lSet is not specified, as in < STOP() >, then the current merge print 
  1826. status will be returned a a logical value. If the end of file is reached or 
  1827. if an error is encountered, then STOP() will return .T.
  1828.  
  1829.  
  1830. ------------------------
  1831. < WRITE( cWriteTo ) >
  1832.  
  1833. Returns: lSuccess
  1834.  
  1835. Write merged text to the device or file specified in cWriteTo. 
  1836. cWriteTo must be specified as a character string delimited on both ends 
  1837. with a pair of double quotes ("), single quotes ('), or square brackets 
  1838. ([]). cWriteTo may be either a physical device such as PRN, LPT1, LPT2, 
  1839. LPT3, COM1 or COM2 or a disk file.
  1840.  
  1841. If the operation is successful WRITE() returns .T., example:
  1842.  
  1843.        < WRITE( "C:OUTPUT.TXT" ) >  --> writes to a disk file
  1844.        < WRITE( "LPT1" ) >              writes to parallel port 1
  1845.  
  1846.  
  1847. ------------------------
  1848.  
  1849.  
  1850. PREDEFINED MEMORY VARIABLES
  1851. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1852.  
  1853. The following memory variables are predefined and may be referenced but not 
  1854. reassigned in a merge file:
  1855.  
  1856.        _LF       : Defined as CR + LF (ASCII characters 13 + 10)
  1857.        _cOutText : Contains the current merged text.
  1858.  
  1859.  
  1860. The following memory variables are reserved, and should not be referenced 
  1861. or reassigned in a merge file:
  1862.  
  1863.        _LUDFLOOK, _LFIRSTREC, _CPRESET
  1864.  
  1865. APPENDIX A                                                  MyBASE   Pg. 33
  1866.  
  1867.  
  1868.  
  1869. COMMENT STATEMENTS
  1870. ~~~~~~~~~~~~~~~~~~
  1871. Text which begins with an asterisk (*) and is enclosed in the angled brack-
  1872. ets will be ignored. For example:
  1873.  
  1874.     <* This is a comment... >
  1875.  
  1876.  
  1877. PRE-PROCESSED STATEMENTS
  1878. ~~~~~~~~~~~~~~~~~~~~~~~~
  1879. Functions or statements which begin with a hash mark (#) are processed only 
  1880. once. As the statements are evaluated, their results may be assigned to a 
  1881. memory variable for later use. For example:
  1882.  
  1883.        <# _DueDate := DATE() + 28 >
  1884.  
  1885. Even if thousands of records are processed, this function will only be 
  1886. evaluated once! However since the result has been assigned to a memory 
  1887. variable, it may be accessed at any time later, example:
  1888.  
  1889.        ...please pay the enclosed invoice by <_DueDate >.
  1890.  
  1891. As you may well imagine, pre-processing functions will greatly increase the 
  1892. speed of a merge program. However not all functions may be pre-processed. 
  1893. If the result of a function depends on variable data, then the function 
  1894. will need to be re-evaluated each time. For example:
  1895.  
  1896.        ...your account is < DATE() - DUE_DATE > days overdue.
  1897.  
  1898. In this example, the result of the required function is not constant and 
  1899. will need to be evaluated for each record.
  1900.  
  1901.  
  1902. ** NOTE **
  1903.  
  1904. Code blocks must always be pre-processed before they can be used in 
  1905. functions, example:
  1906.  
  1907.        <# _DoNothing := {|| NIL} >                                               
  1908.        <# _SkipThis  := {|| ! FAX .or. EMPTY( FAX_NO )} >                    
  1909.  
  1910.        < DBEVAL (_DoNothing,, _SkipThis,, .T.) >                                 
  1911.  
  1912. In this example the code blocks are pre-processed and assigned to memory 
  1913. variables. The function DBEVAL() later uses these code blocks to skip 
  1914. invalid records.
  1915.  
  1916. APPENDIX A                                                  MyBASE   Pg. 34
  1917.  
  1918.  
  1919.  
  1920. GROUPING FUNCTIONS
  1921. ~~~~~~~~~~~~~~~~~~
  1922. Functions or statements which follow one after the other, and which are not 
  1923. pre-processed (ie. ones which do not begin with a hash mark "#"), may be 
  1924. grouped into one macro, separated by a comma (,). 
  1925.  
  1926. Grouping functions has several advantages, namely:
  1927.  
  1928. (a) They will be processed faster, and
  1929.  
  1930. (b) Temporary memory variables created within the group will remain visible 
  1931. until all functions within that group have been processed. Once the entire 
  1932. group is processed, the temporary memory variables will be discarded.
  1933.  
  1934. Example:
  1935.  
  1936.        < _Name    := Trim(FIRST_NAME) + " " + LAST_NAME,
  1937.          _Title   := TITLE     ,
  1938.          _Company := COMPANY   ,
  1939.          _Address := ADDRESS_1 ,
  1940.          _City    := CITY      ,
  1941.          _State   := STATE     ,
  1942.          _ZipCode := ZIP_CODE  ,
  1943.          _Country := COUNTRY   ,
  1944.          _PhoneNo := PHONE_NO  ,
  1945.  
  1946.          _dbArea  := SELECT(),
  1947.          dbUseArea (.T., "DBFNTX", "dbf_2",, .F.),
  1948.          dbAppend(),
  1949.          Put ("name"     , _Name     ),
  1950.          Put ("title"    , _Title    ),
  1951.          Put ("company"  , _Company  ),
  1952.          Put ("address"  , _Address  ),
  1953.          Put ("city"     , _City     ),
  1954.          Put ("state"    , _State    ),
  1955.          Put ("zip_code" , _ZipCode  ),
  1956.          Put ("country"  , _Country  ),
  1957.          Put ("phone"    , _PhoneNo  ),
  1958.          Put ("status"   , "* NEW *" ),
  1959.          dbCloseArea(),
  1960.          dbSelectArea (_dbArea)
  1961.        >
  1962.  
  1963. This example first assigns data from the primary database to temporary 
  1964. memory variables. It then opens a secondary database (DBF_2), appends a 
  1965. blank record to it, and stores the data from the temporary memory variables 
  1966. into this database. Once all the data has been saved, the secondary 
  1967. database is closed, and the primary database is reselected.
  1968.  
  1969. APPENDIX B                                                  MyBASE   Pg. 35
  1970.  
  1971.  
  1972.  
  1973. APPENDIX B: OPERATORS
  1974. ~~~~~~~~~~~~~~~~~~~~~
  1975.  
  1976. STRING OPERATORS
  1977. ~~~~~~~~~~~~~~~~
  1978. The following operators may be used with character and/or memo type varia-
  1979. bles:
  1980.  
  1981.  Symbol | Operation
  1982. --------|-------------------------------------------
  1983.    +    | Concatenate
  1984.    -    | Concatenate without intervening spaces
  1985.  
  1986. Example: "ABCD   " + "XYZ"  --->  "ABCD   XYZ"
  1987.          "ABCD   " - "XYZ"        "ABCDXYZ   "
  1988.  
  1989.  
  1990. DATE OPERATORS
  1991. ~~~~~~~~~~~~~~
  1992.  Symbol | Operation
  1993. --------|-------------------------------------------
  1994.    +    | Add number of days to first date
  1995.    -    | Subtract number of days from first date
  1996.    -    | Find number of days between two dates 
  1997.  
  1998. Example: 1995.01.01 + 14          --->  1995.01.15
  1999.          1993.12.31 - 14                1993.12.17
  2000.          1993.12.31 - 1992.12.31        365
  2001.  
  2002.  
  2003. MATHEMATICAL OPERATORS
  2004. ~~~~~~~~~~~~~~~~~~~~~~
  2005. Mathematical operators require numeric type operands and return a numeric 
  2006. value.
  2007.  
  2008.  Symbol | Operation
  2009. --------|-------------------------------------------
  2010.    ^    | Exponentiation
  2011.    *    | Multiplication
  2012.    /    | Division
  2013.    %    | Modulus (remainder of a division) 
  2014.    +    | Add 
  2015.    -    | Subtract 
  2016.  
  2017. APPENDIX B                                                  MyBASE   Pg. 36
  2018.  
  2019.  
  2020.  
  2021. RELATIONAL OPERATORS
  2022. ~~~~~~~~~~~~~~~~~~~~
  2023. Relational operators require two operands of the same data type or at least 
  2024. one NIL operand. The result of a relational operator is a logical value 
  2025. (True/False)
  2026.  
  2027.  Symbol | Operation
  2028. --------|-------------------------------------------
  2029.    <    | Less than
  2030.    <=   | Less than or equal
  2031.    >    | Greater than
  2032.    >=   | Greater than or equal
  2033.   =,==  | Equal
  2034. <>,#,!= | Not equal
  2035.    $    | Is contained in the set or is a subset of
  2036.  
  2037.  
  2038. LOGICAL OPERATORS
  2039. ~~~~~~~~~~~~~~~~~
  2040. Logical operators require logical operands, and except for negate, they 
  2041. require a pair of operands. The result of a logical operation is always a 
  2042. logical value.
  2043.  
  2044.  Symbol | Operation
  2045. --------|--------------------------------------------------
  2046.   .AND. | Return TRUE when both operands are TRUE
  2047.   .OR.  | Return TRUE if either operand is TRUE
  2048. !,.NOT. | Negate, return TRUE if preceding operand is FALSE
  2049.  
  2050.  
  2051. ASSIGNMENT OPERATORS
  2052. ~~~~~~~~~~~~~~~~~~~~
  2053. Assignment operators assign values to variables. In order to assign values 
  2054. to database fields the FIELD-> statement must precede the field name, 
  2055. otherwise a memory variable is assumed. ( Example: FIELD->AMT_PAID )
  2056.  
  2057.  Symbol | Operation                                    | Valid data type
  2058. --------|----------------------------------------------|----------------
  2059.    :=   | In-line assign                               | all
  2060.    +=   | In-line add (or concatenate) and assign      | C,D,M,N
  2061.    -=   | In-line subtract (or concatenate) and assign | C,D,M,N
  2062.    *=   | In-line multiply and assign                  | N
  2063.    /=   | In-line divide and assign                    | N
  2064.    ^=   | In-line exponentiate and assign              | N
  2065.    %=   | In-line modulus and assign                   | N
  2066.  
  2067. Example: (a) FIELD->OrderQty := 12
  2068.          (b) AmtOwing -= AmtPaid
  2069.  
  2070. Example (b) uses a compound assignment (-=) and is equivalent to:
  2071.     AmtOwing := AmtOwing - AmtPaid
  2072.  
  2073. APPENDIX C                                                  MyBASE   Pg. 37
  2074.  
  2075.  
  2076.  
  2077. APPENDIX C: CODE BLOCKS AND ARRAYS
  2078. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2079.  
  2080. Curly braces ({}) are used to create arrays. The array elements must be 
  2081. within the braces and separated by commas. Curly braces are also used to 
  2082. create code blocks. The code block parameters (variables) are further 
  2083. delimited within the curly braces with vertical bars (||), and the expres-
  2084. sions defining the code block are separated by commas.
  2085.  
  2086. ARRAYS
  2087. ~~~~~~
  2088. Arrays are simply memory data structures which may contain a series of data     
  2089. values called array elements. Arrays may be assigned to variables with the 
  2090. assign statement (:=), such as: x := {10, 4, 33}. 
  2091.  
  2092. Once an array is assigned to a variable, array elements may later be 
  2093. retrieved or reassigned by specifying the variable name followed by the 
  2094. element number enclosed in square brackets, such as x[2]. 
  2095.  
  2096. Multi-dimensional arrays may also be created by assigning an array to an 
  2097. array element. 
  2098.  
  2099. Examples:
  2100.  
  2101. (a) Creating an array:
  2102.  
  2103.     Array := { "Ottawa", "Los Angeles", "Rome", "London", "Paris" }
  2104.                 ------    -----------    ----    ------    ----- 
  2105.                <---------------- array elements ---------------->
  2106.  
  2107. (b) Storing an array element to a database field:
  2108.  
  2109.     field->CITY := Array[3]
  2110.  
  2111. (c) Reassigning an array element:
  2112.  
  2113.     Array[3] := field->CITY
  2114.  
  2115. (d) Creating a multi-dimensional array:
  2116.  
  2117.     Array := { {"MyBASE","DME","AHP"}, {199,99,99}, 1.2, 3.3 }
  2118.  
  2119. (e) Accessing an element from a multi-dimensional array:
  2120.  
  2121.     Array[1]    --> { "MyBASE", "DME", "AHP" }
  2122.     Array[1,3]      "AHP"
  2123.     Array[2,1]      199
  2124.     Array[3]        1.2
  2125.  
  2126. APPENDIX C                                                  MyBASE   Pg. 38
  2127.  
  2128.  
  2129.  
  2130. (f) Traversing an array one element at a time using AEVAL() function:
  2131.  
  2132.     nTotal := 0
  2133.     AEVAL( Array, {|element| nTotal += element} )
  2134.  
  2135.  
  2136. CODE BLOCKS
  2137. ~~~~~~~~~~~
  2138. Code blocks are a special data structure which may contain macros and 
  2139. functions to perform a series of calculations, database operations, and so 
  2140. on. Code blocks may be assigned to variables and later evaluated by 
  2141. specifying the code block variable as a parameter in one of the following 
  2142. functions: EVAL(), DBEVAL(), and AEVAL(). 
  2143.  
  2144. Please consult Appendix "D" for a description of these functions and a 
  2145. listing of additional functions which may be used in the expression list of 
  2146. a code block.
  2147.  
  2148. Examples:
  2149.  
  2150. (a) Creating a code block:
  2151.  
  2152.     xBlock := { |a, b, c, d|  d := MAX(a,b), c := c+d, ROUND(c, 2) }
  2153.                  ----+-----   -------------  --------  -----+-----
  2154.                      |        <---------- expressions ------|---->
  2155.                      |                                      |
  2156.            parameters (variables)                           |
  2157.                                                             |
  2158.            last expression = value returned by code block --+
  2159.  
  2160. (b) Evaluating the code block:
  2161.  
  2162.     EVAL ( xBlock, 10, nVar1, nVar2, nVar3 )
  2163.  
  2164.  
  2165. APPENDIX D                                                  MyBASE   Pg. 39
  2166.  
  2167.  
  2168.  
  2169. APPENDIX D: FUNCTION REFERENCE
  2170. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2171.  
  2172. This section is available only with the registered version of MyBASE.
  2173.  
  2174.  
  2175. APPENDIX E                                                  MyBASE   Pg. 40
  2176.  
  2177.  
  2178.  
  2179. APPENDIX E: REGISTERING MyBASE
  2180. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2181. When you register, you will receive the following:
  2182.  
  2183.     - The latest commercial version of MyBASE.
  2184.     - Complete function reference and user's guide.
  2185.     - A shareware copy of the Analytic Hierarchy Process (AHP) software,
  2186.       see Appendix "F" for more information on this package.
  2187.     - Free technical support.
  2188.     - Notice of future upgrades and new products.
  2189.     - Eligibility for low cost updates.
  2190.  
  2191. To place an order for the latest version of MyBASE, push F9 while in the 
  2192. database browse table and select "MyBASE Order Form". You will then be 
  2193. prompted to enter your name and address and any comments or suggestions you 
  2194. may have concerning this product. To print the name, address and comments 
  2195. form, push F8 and select the appropriate print driver. To display the 
  2196. actual order form, push F9. Alternatively, you may push ESC, ALT+X, or F10 
  2197. to exit from the name and address screen and go on to the order form 
  2198. screen.
  2199.  
  2200. Please note; each single user copy of MyBASE is licensed for use on a 
  2201. single machine, by one user at any one time. Each multi-user LAN version of 
  2202. MyBASE, is licensed for use on a single network server and may be used by 
  2203. up to five (5) concurrent users. You may increase the number of licensed 
  2204. concurrent network users by purchasing multiple copies of MyBASE.
  2205.  
  2206. CURRENCY (U.S./CDN):
  2207. MyBASE must be paid for in either U.S. or Canadian funds. To change currency 
  2208. simply push F2, all costs will be automatically recalculated.
  2209.  
  2210. ORDER QUANTITY AND VOLUME DISCOUNTS:
  2211. A volume discount is automatically calculated for order quantities of 2 or 
  2212. more. Depending upon the order quantity, the volume discount may be as high 
  2213. as 50.0%. Documentation is ordinarily provided on disk, however, printed 
  2214. documentation may be ordered at the cost of $25.00 US.
  2215.  
  2216. APPLICABLE TAXES:
  2217. Please enter the % applicable taxes. In Canada this includes GST and PST.
  2218.  
  2219. PRE-PAYMENT DISCOUNT
  2220. You are entitled to a $15.00 discount if payment is included with the order.
  2221.  
  2222. PRINT
  2223. When you are finished entering all the required data, push F8 to print the
  2224. order form. Attach this form to the NAME/ADDRESS/COMMENTS form and send to 
  2225. Armada Systems.
  2226.  
  2227. PAYMENT (CHEQUE, MONEY ORDER, OR PURCHASE ORDER):
  2228. With your order forms, be sure to include a cheque or money order payable to 
  2229. "B. BORZIC", for the amount indicated in the TOTAL column. Purchase orders 
  2230. may also be submitted by North American customers. 
  2231. APPENDIX E                                                  MyBASE   Pg. 41
  2232.  
  2233.  
  2234.  
  2235. The following is a copy of the name, address and comments form which will 
  2236. be displayed on screen when you access the MyBASE Order Form function:
  2237.  
  2238.  
  2239.  
  2240.        NAME: 
  2241.       TITLE: 
  2242.  DEPARTMENT: 
  2243.     COMPANY: 
  2244.     ADDRESS: 
  2245.        CITY: 
  2246. STATE/PROV.: 
  2247.    ZIP/P.C.: 
  2248.     COUNTRY: 
  2249.   TELEPHONE: 
  2250.         FAX: 
  2251.  
  2252. DISK FORMAT:  [ ] 5.25'  or  [ ] 3.5'      (select one)
  2253.  
  2254. ===========================================================================
  2255. HOW DID YOU LEARN ABOUT MyBASE?
  2256.  
  2257.  
  2258.  
  2259.  
  2260. ===========================================================================
  2261. COMMENTS: 
  2262.  
  2263. APPENDIX F                                                  MyBASE   Pg. 42
  2264.  
  2265.  
  2266.  
  2267. APPENDIX F: OTHER SOFTWARE FROM ARMADA SYSTEMS 
  2268. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2269.  
  2270. ABOUT ARMADA SYSTEMS
  2271. ~~~~~~~~~~~~~~~~~~~~
  2272. Armada Systems was established in 1986 with the purpose of developing 
  2273. unique but useful microcomputer software. Since that time, Armada Systems 
  2274. has expanded it's operations, and now specializes in the following key 
  2275. areas:
  2276.  
  2277.     * Custom PC software development.
  2278.     * Decision making software, seminars and consulting services.
  2279.     * CA-Clipper training.
  2280.     * Research and development of new software applications.
  2281.  
  2282. In addition to MyBASE, Armada Systems publishes the Decision Matrix Expert 
  2283. (DME) and Analytic Hierarchy Process (AHP) software packages. The next 
  2284. several pages are devoted to providing you with a better understanding of 
  2285. what these software packages do, and how they can help you to become a more 
  2286. effective decision maker.
  2287.  
  2288. APPENDIX F                                                  MyBASE   Pg. 43
  2289.  
  2290.  
  2291.  
  2292. DECISION MATRIX EXPERT (DME)
  2293. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2294.  
  2295. The Decision Matrix Expert (DME), is an innovative, yet remarkably easy to 
  2296. use software package for decision analysis. It represents a scientific 
  2297. approach to replace intuition and speculation, while preserving such 
  2298. qualitative factors as experience and judgment. 
  2299.  
  2300. The DME is not a 'black box' program, it relies upon the use of popular, 
  2301. well established Multiple Criteria Decision Making algorithms. Numerical 
  2302. results are provided for each stage in the analysis, so that the user can 
  2303. see what is happening and have confidence in the results. The use of 
  2304. popular, well established algorithms, with intermediate numerical results, 
  2305. is especially important to such users as educational institutions, 
  2306. government agencies and consultants.
  2307.  
  2308. Consultants, who for example, are taxed to recommend the location for a new 
  2309. garbage dump, need a tool which will evaluate possible alternatives with as 
  2310. little bias as possible. Their recommendations will need to stand up to 
  2311. public scrutiny, and the public hearing process which usually takes place 
  2312. before a site is actually selected. This is where the use of well 
  2313. established decision analysis algorithms is useful. They can be explained 
  2314. and defended because quite a bit of research has gone into them.
  2315.  
  2316. In the DME, decisions are portrayed in a matrix which contains all of the 
  2317. information required to arrive at a final decision. The columns of this 
  2318. matrix represent the criteria which are important to the decision, while 
  2319. the rows represent the various alternatives being considered. 
  2320.  
  2321. In the analysis, alternatives are scanned for dominance and to ensure that 
  2322. they meet the minimum cutoff constraints specified by the user. Final 
  2323. ranking of alternatives is performed using the Linear Assignment Method, 
  2324. Normalized Additive Weighting, ELECTRE, TOPSIS, and an aggregation and 
  2325. synthesis phase. Numerical results from each of these algorithm phases are 
  2326. available to the user for analysis.
  2327.  
  2328.  
  2329. Applications
  2330.  
  2331. Location planning, cost/benefit analysis, strategic planning, recruiting, 
  2332. employee evaluation, resource allocation, taste testing, new product 
  2333. evaluations, problem analysis, market research, and many more. 
  2334.  
  2335.  
  2336. System requirements
  2337.  
  2338. The Decision Matrix Expert will work on any MS DOS compatible computer with 
  2339. at least 384K RAM. A printer is recommended but not required.
  2340.  
  2341. APPENDIX F                                                  MyBASE   Pg. 44
  2342.  
  2343.  
  2344.  
  2345. ANALYTIC HIERARCHY PROCESS (AHP)
  2346. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2347.  
  2348. The Analytic Hierarchy Process (AHP), is an innovative, yet remarkably easy 
  2349. to use software package for decision analysis. It represents a scientific 
  2350. approach to replace intuition and speculation, while preserving such 
  2351. qualitative factors as experience and judgment. Employing pairwise 
  2352. comparisons and a hierarchical problem structure, the AHP allows the use of 
  2353. intangible factors in the decision analysis. 
  2354.  
  2355. The AHP is most beneficial when you wish to model complex problems, and the 
  2356. only data available is the subjective judgments of yourself, or those of a 
  2357. group. The AHP is not only useful in decision making problems, but also in 
  2358. any other area where you find it necessary to quantify subjective or 
  2359. intangible criteria.
  2360.  
  2361. The AHP uses a well proven scientific method which requires that a problem 
  2362. be decomposed into a hierarchical model. Elements in this hierarchy are 
  2363. grouped in such a way, that those of a lower level directly influence the 
  2364. elements in the immediately higher level. The objective is to derive a set 
  2365. of quantitative weights for elements in the lowest level which reflect as 
  2366. best as possible their relative impact on the overall goal of the 
  2367. hierarchy.
  2368.  
  2369. The advantage of setting up your problem in a hierarchical structure is 
  2370. that it will help you to focus your attention on each part of the problem 
  2371. separately. Elements in each level are compared in pairs, with respect to 
  2372. those elements in the immediately higher level. Based on your pairwise 
  2373. comparisons, the program will calculate subjective weights for each 
  2374. element. It will also report your judgment consistency, and indicate 
  2375. specifically which judgments are inconsistent.
  2376.  
  2377.  
  2378. Applications
  2379.  
  2380. Location planning, cost/benefit analysis, strategic planning, recruiting, 
  2381. employee evaluation, resource allocation, sales forecasting, taste testing, 
  2382. new product evaluations, problem analysis, market research, and many more. 
  2383.  
  2384.  
  2385. System requirements
  2386.  
  2387. The Analytic Hierarchy Process will work on any MS DOS compatible computer 
  2388. with at least 384K RAM. A printer is recommended but not required.
  2389.  
  2390. APPENDIX F                                                  MyBASE   Pg. 45
  2391.  
  2392.  
  2393.  
  2394. ORDERING DME/AHP SOFTWARE
  2395. ~~~~~~~~~~~~~~~~~~~~~~~~~
  2396. When you purchase any software from Armada Systems, your satisfaction is 
  2397. 100% guaranteed. If for any reason you are not completely satisfied with 
  2398. the product you may return it within 30 days for a refund. In addition to 
  2399. this guarantee, you will receive the following:
  2400.  
  2401.      (1) The latest version of software.
  2402.      (2) Complete reference and user's guide.
  2403.      (3) Free technical support.
  2404.      (4) Notice of future upgrades and new products.
  2405.      (5) Eligibility for low cost updates.
  2406.      (6) Free shareware software, as follows:
  2407.  
  2408.      ┌────────────────────────────┬─────────────────────────────────┐
  2409.      │ PROGRAM ORDERED            │ FREE SHAREWARE YOU WILL RECEIVE │ 
  2410.      ├────────────────────────────┼─────────────────────────────────┤
  2411.      │ Decision Matrix Expert     │ MyBASE                          │
  2412.      │ Analytic Hierarchy Process │ MyBASE                          │
  2413.      │ MyBASE                     │ Analytic Hierarchy Process      │
  2414.      └────────────────────────────┴─────────────────────────────────┘
  2415.  
  2416. To place your order, fill out the order form on the following page and mail 
  2417. it to Armada Systems, along with a company purchase order, cheque or money 
  2418. order payment, made out to "B. BORZIC". Payment must be in the quoted U.S. 
  2419. or Canadian funds. Site licensing and volume discounts (QTY. >= 7) are 
  2420. available, please write for details.
  2421.  
  2422.  
  2423. ARMADA SYSTEMS SOFTWARE REGISTRATION AND ORDER FORM
  2424. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2425.  
  2426. To order software, please fill out this order form and mail it to the 
  2427. address given below, along with a company purchase order, cheque or money 
  2428. order payment, made out to "B. BORZIC". Payment must be in the quoted U.S. 
  2429. or Canadian funds. Site licensing and volume discounts (QTY. >= 7) are 
  2430. available, please write for details.
  2431.  
  2432. When you purchase software from Armada Systems, your satisfaction is 100% 
  2433. guaranteed. If for any reason you are not completely satisfied with the 
  2434. product you may return it within 30 days for a refund.
  2435.  
  2436. Boris Borzic
  2437. Armada Systems
  2438. P.O. Box 637, Station A
  2439. Downsview, Ontario
  2440. M3M 3A9  CANADA
  2441. Tel. (416) 889-2617 or (905) 889-2617 after October 4, 1993
  2442.  
  2443.  
  2444. NAME ____________________________  TITLE __________________________________
  2445. COMPANY _________________________  DEPARTMENT _____________________________
  2446. ADDRESS ___________________________________________________________________
  2447. CITY ____________________________  STATE/PROVINCE _________________________
  2448. ZIP/POSTAL CODE _________________  COUNTRY ________________________________
  2449. PHONE ___________________________  FAX ____________________________________
  2450.  
  2451. Would you like the program supplied on 5.25" or 3.5" disks? _______________
  2452. Where did you obtain the MyBASE software? _________________________________
  2453.  
  2454. MyBASE 2.03 - 93124A0
  2455. +-------------------------------------------------------------------------+
  2456. |           DESCRIPTION               | U.S. $ |  CDN $ | QTY |  TOTAL $  |
  2457. |-------------------------------------|--------|--------|-----|-----------|
  2458. | Decision Matrix Expert (DME)        |  99.00 | 119.00 |     |           |
  2459. |-------------------------------------|--------|--------|-----|-----------|
  2460. | Analytic Hierarchy Process (AHP)    |  99.00 | 119.00 |     |           |
  2461. |-------------------------------------|--------|--------|-----|-----------|
  2462. | AHP + DME ordered together          | 149.00 | 179.00 |     |           |
  2463. +-------------------------------------------------------------|-----------|
  2464.                              Purchase order processing charge |   15.00   |
  2465.                            (cross out if payment is enclosed) |           |
  2466.                                                               |-----------|
  2467.                                           Shipping & handling |    8.00   |
  2468.                                                               |-----------|
  2469.                                              Applicable taxes |           |
  2470.                                                               |-----------|
  2471.                                                         TOTAL |           |
  2472.                                                               +-----------+
  2473.  
  2474. Signature ______________________________  Date ____________________________
  2475.  
  2476. Use the back of this sheet to add any comments or suggestions you may have.
  2477.  
  2478.  
  2479.  
  2480.  
  2481.                                    NOTES
  2482.  
  2483.