home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / QRDB42T.ZIP / QRDB.DOC < prev    next >
Text File  |  1995-06-03  |  61KB  |  1,214 lines

  1.  
  2.  
  3.                            QRDB  Vers 4.2t                    2 Jun 95
  4.                       Mountain Retreat Software
  5.  
  6.                                 QRDB
  7.                 (c) Copyright 1992 by John Jamieson
  8.                          All Rights Reserved
  9.  
  10.  
  11. Intro:
  12.  
  13.   QRDB/QRDBMgr is a Data Base system for BBS's that use Door.Sys or
  14.   DorInfo*.Def. QRDB is a multi-node compatable BBS Data Base door and
  15.   QRDBMGR is the Data Base Manager. Although QRDB was designed to be
  16.   used as a BBS door it can be used by users without a BBS if needed. A
  17.   BBS is not required in order to run the program, it will run in local
  18.   mode. The QRDB door requires 414k of memory.
  19.  
  20.  
  21. QRDB/QRDBMgr offers three types of Data Base.
  22.  
  23.   Each of the three types is limited to 9 seperate Data Base's. The
  24.   main menu will handle a total of 12 combined Data Base's, if more
  25.   are needed you will have to bypass the main menu. Bypassing the main
  26.   menu is explained in Quickstart item (e.) below.
  27.  
  28.  
  29.   Type 1 will import any text file in which the data is layed out in
  30.   columns. The imported Data Base can then be made available to BBS
  31.   users for searches or sorted list displays. Up to five keys can be
  32.   designated making five sorted lists available to the user.  This Type
  33.   1 Data Base is not editable and a Data Record is limited to 80
  34.   characters. An example of a file suitable for import is the Darwin BBS
  35.   listing.
  36.  
  37.   Type 2 is a build from scratch Data Base. The user can Add, Edit and
  38.   Delete records in the Type 2 Data Base. Read, Write and Edit/Del
  39.   levels are established by the Sysop. A log is maintained of all
  40.   Additions, Edits and Deletes made by users. This type 2 Data Base can
  41.   contain up to 25 fields per Record with a maximum of 5 Key fields. 5
  42.   display lines with 5 fields per line max.  Fields can be designated as
  43.   input optional or input required. QRDB can import comma delimited
  44.   files into the type 2 Data Base.
  45.  
  46.   Type 3 will display data in dBase .DBF data files and .DBT memo files.
  47.   The program will use dBase III, III plus or IV files. FoxPro .DBF
  48.   files that don't have have associated memo files are handled as dBase
  49.   III plus. If the FoxPro files have associated Memo's, QRDB will not
  50.   use them. The dBase Data can then be made available to BBS users for
  51.   searches or sorted list displays. Up to five keys can be designated
  52.   making five sorted lists available to the user. The user can Add, Edit
  53.   and Delete records in the Type 3 Data Base. Read, Write and Edit/Del
  54.   levels are established by the Sysop. A log is maintained of all
  55.   Additions, Edits and Deletes made by users. All fields except the
  56.   Memo's are searched when using the Search function. QRDB does not use
  57.   dBase Index files, it uses it's own indexing system. QRDB LIMITS on
  58.   dBase files are as follows. QRDB will only handle dBase records with
  59.   20 or less fields. The number of memo's is limited to 3 per record.
  60.   QRDB will display memo's of any length but when editing or creating,
  61.   the number of lines in a memo are limited to 20 with a maximum line
  62.   length of 76 characters. The QRDB main menu will only handle 12
  63.   different databases, if you bypass the main menu it will handle 19
  64.   different databases. To handle more you will need to set up different
  65.   QRDB directories, then when you shell to QRDB set the QRDB environment
  66.   variable to the directory you want to use before you execute QRDB.
  67.  
  68. User Access to data
  69.  
  70.   Access to files is controlled by Levels established for each DataBase.
  71.   Read, Write and Edit/Delete levels are seperatly controlled.
  72.   In addition to access provided under level control, a user is given
  73.   access to any record that he/she creates. This Record access is
  74.   controlled by the index files identified *O.IDX. The first 15 characters
  75.   of the user name is placed in the index pointing to records that the
  76.   user has created.
  77.   This feature can be disabled by deleting the *O.IDX file after the
  78.   user exits QRDB. QRDB will build a new empty *O.IDX if it dosen't find
  79.   one.
  80.  
  81.   In Multinode systems where edit access is given. If a user with Edit
  82.   access is using the file, the file cannot be accessed by others. If
  83.   a user with Read access is accessing a file editing is not allowed.
  84.   Access is controlled by files temporary files with the extension .$*
  85.  
  86.   In the case of a Type 3 database where rebuilding indexes is common.
  87.   QRDB will maintain a .Dbf field named REC_OWNER. It will place the
  88.   name of the originator of a record in the REC_OWNER field. QRDBMgr
  89.   will then use that name when rebuilding indexes. The REC_OWNER field
  90.   must be one of the first 20 fields in a .DBF file. The REC_OWNER field
  91.   should be at least 15 characters long field and be marked (N) in the
  92.   QRDB Field Handling Instructions.
  93.  
  94.   │(N)/A  <<<<     REC_OWNER Field Handling Instructions
  95.   │(O)pt
  96.   │(R)eq
  97.   │(K)ey
  98.  
  99.   If you want to Retain Record Ownership Data, if and when you ever need
  100.   to rebuild the *O.IDX, then your .DBF file must include a REC_OWNER
  101.   field.
  102.  
  103.   An example of the User Access posibilities:
  104.   A user can be given Add access and No Read or Edit/Delete access. In
  105.   this situation a user database, that only the Sysop or CoSysops with
  106.   read access would have access to all the records, could be built and
  107.   maintained by users. The user would see and be able to edit only the
  108.   records that he entered. *O.IDX would control Edit access.
  109.  
  110. When run in stand-alone full access to all features is given and levels
  111. do not apply.
  112.  
  113. The advantages/disadvantages of each type are as follows:
  114.     Type 1: Imports text layed out in columns.
  115.             Only displays, no edits.
  116.             User Read Access controlled by security level
  117.  
  118.     Type 2: Data base can be built on line.
  119.             Imports comma delimited files
  120.             Exports to comma delimited files
  121.             User access to Read, Add, Edit and/or Delete controlled
  122.             by user Level
  123.  
  124.  
  125.     Type 3: Data base uses dBase .DBF and .DBT files
  126.             Checks date entries for validity
  127.             Checks numeric entries
  128.             dBase Memo capability, a great feature
  129.             Requires dBase Compatable files
  130.             User access to Read, Add, Edit and/or Delete controlled
  131.                 by user Level
  132.  
  133.             dBase Compatable files can be created with the Shareware
  134.             utility dBuddy. Additional dBuddy info is below in the
  135.             paragraph on files.
  136.  
  137.  
  138. Example QRDB Status Bar:
  139.  
  140. ┌───────────────────────────────────────────────────────────────────────────┐
  141. │John Jamieson                 Level=100  Port=1   Baud=2400  Graphics=On   │
  142. │Felton, Ca                    Min's Left=67                  Alt-H= Hangup │
  143. └───────────────────────────────────────────────────────────────────────────┘
  144.  
  145. Command Line Options:
  146.  
  147.        /R           use an RBBS type Dorinfo*.Def
  148.        /N#          use Dorinfo#.Def instead of the default Dorinfo1.Def
  149.        /M           Local Monitor is Monochrome
  150.        /K           include the special Key field Search
  151.        ???????.?CL  A CL file name on the command line bypasses the
  152.                     main menu and goes directly to the database that
  153.                     is specified.
  154.  
  155.        C:\QRFM\QRFM.EXE /M /R Chaplin.3CL would go directly to the Chaplin
  156.        database bypassing the main menu. QRDB would be displayed in Monochrome
  157.        on the Local Monitor. And QRDB would use an RBBS type Dorinfo1.Def.
  158.  
  159.  
  160. Quick Start:
  161.  
  162.     a. To Run QRDB add the Environment Variable SET QRDB=C:\QRDB, set it
  163.        to whatever directory QRDB is located in. If the Environment
  164.        Variable is not set you must run QRDB from the QRDB directory.
  165.        QRDB uses the Environment Variable to locate the the QRDB data
  166.        files, if they are not found you will get the error message
  167.        "QRDBLang.DBF not found" .
  168.     b. QRDB requires 414k of memory to run. If your BBS is capable of
  169.        swaping to EMS or disk when running a door use that option.
  170.        Most likely you won't have enough memory to keep the BBS in
  171.        memory and still have 414k for QRDB. Most Systems have a batch
  172.        file/errorlevel system that will free enough memory for QRDB.
  173.     c. If Running MultiNode and using Door.Sys or DorInfo1.Def, run QRDB
  174.        from a different directory for each node. Example C:\BBS\Node0,
  175.        C:BBS\Node1, etc. If using DorInfo1.Def, DorInfo2.Def,
  176.        DorInfo3.Def, etc then each node can be run from the same
  177.        directory. But REMEMBER QRDB.Exe expects to find either Door.Sys
  178.        or DorInfo*.Def in the directory it is run from. And to use
  179.        other than the default DorInfo1.Def you need to use the command
  180.        line /N#, replace # with the Node number you want QRDB to use
  181.        in DorInfo*.Def.
  182.     d. QRDB defaults to StandAlone mode, without a status line, if it
  183.        can't find DorInfo*.Def or Door.Sys. It will also run in Local
  184.        mode, but with a status line if the baud rate it finds in
  185.        DorInfo*.Def or Door.Sys is 0.
  186.     e. The Main menu can be bypassed. A couple of reasons for bypassing
  187.        are; if only one data base is to be included or the sysop would
  188.        rather use the BBS menus to access the data bases. Bypassing is
  189.        accomplished by executing QRDB with the name of the CL file as a
  190.        command line parameter. Example C:\QRDB\QRDB.EXE CHAPLIN.3CL or
  191.        if running stand-alone mode QRDB.EXE CHAPLIN.3CL. To run in
  192.        stand-alone mode, but monochrome use  QRDB.EXE /M CHAPLIN.3CL.
  193.     f. A few sample Data Bases are included in the package. Just place
  194.        the QRDB package of files in their own directory and run QRDB or
  195.        QRDB /M for StandAlone in monochrome, and follow the Prompts. The
  196.        Darwin Data Base related files included with the package contains
  197.        a setup only, no data, it's use will be discussed later. Feel
  198.        free to use any of the examples on your BBS or delete them using
  199.        the QRDBMgr or DOS. It is suggested that you review the Example
  200.        setups prior to deleting them. Run the QRDBMgr and press F2 to
  201.        call up the control file editor. The editor can be used to review
  202.        the setups.
  203.     g. If you are running QuickBBS or RA
  204.        After seting the Environment variable,  create a QuickBBS/RA type
  205.        7 menu type and in the Optional data field just place the command
  206.        C:\QRDB\QRDB.EXE *M  that's all their is to it. To bypass the
  207.        QRDB main menu use  C:\QRDB\QRDB.EXE CHAPLIN.3CL *M
  208.        (*M is a QuickBBS/RA option telling the BBS to swap to EMS or Disk)
  209.     h. Maximus, Virtual, Gap, EZCom, RA or PCBoard BBS check the .BBS
  210.        files for additional info.
  211.     I. If you run RBBS or other BBS that uses the RBBS type of
  212.        dorinfo*.def in which line 10 the ansi/color indicator 2=Ansi and
  213.        1=NoAnsi. Add a /R to the QRDB command line it will tell QRDB to
  214.        Use a RBBS type Dorinfo*.Def.
  215.     J. Other systems,  jot down your installation procedure and send it
  216.        to me. I'll include it in the next release of QRDB. It could save
  217.        another sysop a lot of headaches.
  218.  
  219.  
  220. Trouble shooting the QRDB door installation:
  221.  
  222.   The Status bar can be an aid in trouble shooting the door installation.
  223.   a.  ***IMPORTANT*** QRDB looks in the directory it is run from for
  224.       Door.Sys and if it is not found it looks for DorInfo*.Def. It then
  225.       uses the environment variable QRDB to locate the QRDB data files.
  226.       If you run a multinode system QRDB can't be run from the same
  227.       directory for each node if you use Door.Sys or DorInfo1.Def. A
  228.       different copy of Door.Sys or DorInfo1.Def is needed for each Node.
  229.   b.  If you get the Error message QRDBLang.DBF not found, make
  230.       sure you have the environment variable set, before looking for
  231.       other problems. Example QRDB=C:\QRDBDIR set it to the directory
  232.       that QRDB is located in.
  233.   c.  No status bar indicates that the Door.Sys or DorInfo*.Def file was
  234.       not found and QRDB is running in StandAlone mode.
  235.   d.  A status bar with a Baud rate other than 0 indicates the Door.Sys
  236.       or DorInfo*.Def file has been read, QRDB has Config and user info
  237.       and is running as a door.
  238.   e.  If the status bar shows a baud rate of 0 then Door.sys or
  239.       DorInfo*.Def has been Read and QRDB is running in local mode.
  240.   f.  If double spaceing or blank lines in a occure in records when
  241.       displaying it's probably due to, too much data being placed on a
  242.       line. Go back to the QRDBMgr and do some rearranging.
  243.  
  244.  
  245. Language:
  246.  
  247.   The file QRDBLang.Dbf contains one record, that record contains the
  248.   text used by QRDB in menu's and prompts. QRDBLang.Dbf can be edited
  249.   with any program that can edit dBase compatable .Dbf files. If you
  250.   need one try the shareware program dBuddy. A dBase compatable utility
  251.   dBuddy, mentioned above and in paragraphs below, is available on
  252.   Mountain Retreat 1:216/506, 408-335-4595. It can be Freq'd under the
  253.   magic name dBuddy.
  254.  
  255.  
  256. Files:
  257.  
  258.   A set of files will be created for each Data Base
  259.    .1CL,.2CL or .3CL  Control file; a Type 1,2 or 3
  260.    .Dat     Data file;  for type 1 & 2 only, type 3 uses your.DBF file
  261.    .IDX     Index file; 1 to 5 as specified during setup
  262.  
  263.   A QRDB general help file will be displayed from the main menu, if you
  264.   name it QRDB.HLP. You can also create a .HLP file for each Data Base by
  265.   using the same name as your Data Base. If a help file is found it will
  266.   be offered to the user in the QRDB menus. .HLP files are just text
  267.   files.
  268.  
  269.   When assigning file names you will be allowed 7 characters instead of
  270.   the usual 8. QRDB needs that 8th character.
  271.  
  272.   A Data Base consisting of a set of the above files is a stand alone
  273.   package. It can be copied/moved to another BBS that uses QRDB or it
  274.   can be deleted from your QRDB directory. QRDBMgr has a delete function,
  275.   it's there only for convenience DOS is all that is needed.
  276.  
  277.   The files provided with the package are the following :
  278.  
  279. QRDBMGR  EXE    The QRDB Manager used to set up data bases for QRDB
  280. QRDB     EXE    The QRDB BBS Door
  281. QRDB_FOS EXE    The QRDB BBS Door Fossil Version
  282. LISTKEYS EXE    A utility to List the keys in a .IDX file.
  283. QRDB     TTL    A file that stores the title you give to the QRDB Main Menu
  284. QRDB     DOC    This File
  285. QRDB     DAT    Data required by QRDB
  286. QRDB     HLP    A Sample general help file
  287. QRDBLANG DBF    Text used by QRDB in menus/prompts in a dBase file
  288.  
  289.      ** The following files are example files and can
  290.          be deleted when you are finished with them.
  291.  
  292. (A) on the main menu shown below
  293. SUPPORT  1CL    Type 1 Sample Control File  (List of Support BBS's)
  294. SUPPORT  DAT    Type 1 Sample Data File
  295. SUPPORT  HLP    Support Data Base Help File (Text)
  296. SUPPORT1 IDX    Type 1 Sample Index file #1
  297. SUPPORT2 IDX    Type 1 Sample Index file #2
  298. SUPPORT  TXT    Text file used in the creation of the Type 1 Sample
  299.  
  300. (B) on the main menu
  301. USBBS    1CL    Type 1 Sample Control File (Setup for Darwin USBBS list)
  302. USBBS    DAT    Empty Type1 Sample Data File
  303. USBBS    HLP    USBBS Data Base Help File (Text)
  304. USBBS1   IDX    Type 1 Sample Index file #1
  305. USBBS2   IDX    Type 1 Sample Index file #2
  306. USBBS3   IDX    Type 1 Sample Index file #3
  307.  
  308. (C) on the main menu
  309. BBSLIST  2CL    Type 2 Sample Control File (User generated BBS List)
  310. BBSLIST  DAT    Type 2 Sample Data File
  311. BBSLIST  HLP    BBSList Data Base Help File (Text)
  312. BBSLIST1 IDX    Type 2 Sample Index file #1
  313. BBS      LST    A sample comma delimited file for import into
  314.                  the BBSLIST data base
  315.  
  316. (D) on the main menu
  317. USERDAT  2CL    Type 2 Sample Control File (User DataBase)
  318. USERDAT  DAT    Type 2 Sample Data File
  319. USERDAT1 IDX    Type 2 Sample Index
  320. USERDATO IDX    Type 2 Sample Index containing User ownership data
  321.  
  322.  
  323. (E) on the main menu
  324. WGUIDE   2CL    Type 2 Sample Control File (Wine Guide)
  325. WGUIDE   DAT    Type 2 Sample Data File
  326. WGUIDE   HLP    WGuide Data Base Help File (Text)
  327. WGUIDE1  IDX    Type 2 Sample Index file
  328. WGX      CTL    Control file for Export of WGuide to Comma Delimited file
  329. WGX      TXT    Comma Delimited Exported database
  330.  
  331. (F) on the main menu
  332. CHAPLIN  3CL    Type 3 Sample Control File  (Chaplin dBase Data Base)
  333. CHAPLIN  DBF    dBase .DBF file used by QRDB
  334. CHAPLIN  DBT    dBase .DBT Memo file used by QRDB
  335. CHAPLIN  HLP    Chaplin Data Base Help File (Text)
  336. CHAPLIN1 IDX    Type 3 Sample Index file
  337.  
  338. (G) on the main menu
  339. EVENT    3CL    Type 3 Sample Control File (This User Info database uses Memo's)
  340. EVENT    DBF    dBase .DBF file used by QRDB
  341. EVENT    DBT    dBase .DBT Memo file used by QRDB
  342. EVENT1   IDX    Type 3 Sample Index
  343. EVENTO   IDX    Type 3 Sample Index containing User ownership data
  344.  
  345. (H) on the main menu
  346. USERINF  3CL    Type 3 Sample Control File (This User Info database uses Memo's)
  347. USERINF  DBF    dBase .DBF file used by QRDB
  348. USERINF  DBT    dBase .DBT Memo file used by QRDB
  349. USERINF1 IDX    Type 3 Sample Index
  350. USERINFO IDX    Type 3 Sample Index containing User ownership data
  351.  
  352.  
  353. (I) on the main menu
  354. USERBBS  3CL    Type 3 Sample Control File (User generated BBS list w/Memos)
  355. USERBBS  DBF    dBase .DBF file used by QRDB
  356. USERBBS  DBT    dBase .DBT Memo file used by QRDB
  357. USERBBS  HLP    UserBBS Data Base Help File (Text)
  358. USERBBS1 IDX    Type 3 Sample Index
  359. USERBBS2 IDX    Type 3 Sample Index
  360. USERBBS3 IDX    Type 3 Sample Index
  361. USERBBSO IDX    Type 3 Sample Index containing User ownership data
  362.  
  363.  
  364. Info on seting up under various BBS programs
  365.  
  366. MAXIMUS.BBS
  367. VIRTUAL.BBS
  368. PCBOARD.BBS
  369. EZYCOM.BBS
  370. GAP.BBS
  371. MAXIMUS2.BBS
  372. PCBOARD.BBS
  373. RA.BBS
  374. VIRTUAL.BBS
  375.  
  376.  
  377.   The complete chaplin dBase package can be download from Mountain
  378.   Retreat only the .DBF & .DBT file are included here. The Complete
  379.   package includes Chaplin.FMT. Since QRDB only reads .DBF and .DBT
  380.   files I didn't include the conplete package.
  381.  
  382. QRDB's Menus:
  383.  
  384.   The Main menu can be bypassed by executing QRDB with the name of the
  385.   CL file as a command line parameter. Example C:\QRDB\QRDB.EXE
  386.   CHAPLIN.3CL
  387.  
  388.   If it isn't bypassed the *.*CL files provided will appear in the QRDB
  389.   main menu as follows:
  390. ╔════════════════════════════════════════════════════════════════════════╗
  391. ║ ░░▒▒▓▓██            Q R D B    M A I N    M E N U             ██▓▓▒▒░░ ║
  392. ║                                                                        ║
  393. ║                      Your BBS DataBase Selection                       ║
  394. ╠════════════════════════════════════════════════════════════════════════╣
  395. ║  A    Computer Hardware/Software Support                               ║
  396. ║  B    Darwin National BBS List                                         ║
  397. ║  C    User List of Favorite BBS's                                      ║
  398. ║  D    User Data Base                                                   ║
  399. ║  E    Central California Winery Guide                                  ║
  400. ║  F    A Data Base of Chaplin Movies                                    ║
  401. ║  G    Community Event Database                                         ║
  402. ║  H    User Information DataBase                                        ║
  403. ║  I    User Generated BBS List                                          ║
  404. ║                                                                        ║
  405. ║  ?    Help                                                             ║
  406. ║  X    Exit QRDB                                                        ║
  407. ╠════════════════════════════════════════════════════════════════════════╣
  408. ║      QRDB Door - Mt. Retreat Software - Support BBS (408)335-4595      ║
  409. ╚════════════════════════════════════════════════════════════════════════╝
  410. Selection :
  411.  
  412.  
  413.   In the menu above the "User Data Base" is a type 2 data base and
  414.   "DataBase of BBS user info" is a similar data base useing a type
  415.   3 data base with memo's and a REC_OWNER field.
  416.  
  417.   If a user has a level high enough for Write and/or Edit/Del access
  418.   then an options menu will be displayed. If not the Options Menu will
  419.   be skiped and QRDB will go directly to the Display Selection Menu.
  420.  
  421. ╔════════════════════════════════════════════════════════════════════════╗
  422. ║  ░░▒▒               A Data Base of Chaplin Movies                ▒▒░░  ║
  423. ║                              Options Menu                              ║
  424. ╠════════════════════════════════════════════════════════════════════════╣
  425. ║  D    Display Data                                                     ║
  426. ║  A    Add to DataBase                                                  ║
  427. ║  E    Edit a Record                                                    ║
  428. ║  K    Kill a Record                                                    ║
  429. ║  H    Help                                                             ║
  430. ║  Q    Quit to QRDB Main Menu                                           ║
  431. ║  X    Exit QRDB and return to the BBS                                  ║
  432. ╚════════════════════════════════════════════════════════════════════════╝
  433. Selection :
  434.  
  435. D) Brings up the display menu if the users level gives Read Access
  436.  
  437. A) Users with Write access will be given this option and be allowed to
  438.    the database will be allowed to add records to the database.
  439.  
  440. E) Users with Edit/Del and users that own a record that is found in the
  441.    *O.IDX file will be given this option. If access is based on the
  442.    record(s) a user owns, then only those records the user owns will be
  443.    presented for change. If this ownership is important to you be sure
  444.    to read the section on "User Access to data" and the importance of
  445.    the "REC_OWNER" .Dbf field.
  446.  
  447. K) Deletes a record, the same rules as in (E) above apply
  448.  
  449. H) Displays a help file, a text file that has the same name as your .*CL
  450.    file but with the extension .Hlp. You should probably write one for
  451.    all your databases
  452.  
  453. ╔════════════════════════════════════════════════════════════════════════╗
  454. ║  ░░▒▒               A Data Base of Chaplin Movies                ▒▒░░  ║
  455. ║                         Display Selection Menu                         ║
  456. ╠════════════════════════════════════════════════════════════════════════╣
  457. ║  B    Browse List In Released Order                                    ║
  458. ║  1    List In Released Order                                           ║
  459. ║  2    List In Actress Order                                            ║
  460. ║  L    List In Released Order/w Memos                                   ║
  461. ║  M    Display a Memo                                                   ║
  462. ║  S    Search for String,Word or Words                                  ║
  463. ║  K    Key Search for String,Word or Words                              ║
  464. ║  P    Pause Page Toggle   [ON]                                         ║
  465. ║  H    Help                                                             ║
  466. ║  Q    Quit to Options Menu                                             ║
  467. ║  X    Exit QRDB                                                        ║
  468. ╚════════════════════════════════════════════════════════════════════════╝
  469. Selection :
  470.  
  471. Display Selection Menu item descriptions
  472.  
  473. B) Provides a one line listing for Browsing. The first field will be the
  474.    first Key field in the *.*CL file, then as many fields as will fit on
  475.    the line are included.  Example
  476.  
  477. Ln#  City                       State  Zip_Code    Area_Code  Population
  478. 1    ABERDEEN                   SD     57401       605        25851
  479. 2    ADDISON                    IL     60101       708        29826
  480. 3    ADRIAN                     MI     49221       517        21276
  481. 4    AFFTON                     MO     63123       314        23181
  482.  
  483.   The user dosen't have to start listing from the begining of the file.
  484.   As an example to start Browsing the listing begining with LODI, just give QRDB
  485.   "LODI" as a starting place. The browsing would then start with
  486.  
  487.  
  488. Ln#  City                       State  Zip_Code    Area_Code  Population
  489. 1    LODI                       CA     95240       209        35221
  490.  
  491.   At the bottom of a page of data the following prompt is presented
  492.  
  493.  Enter Ln# to View,  Press Enter to Continue or Press (Esc) :
  494.  
  495.   Entering an item line number will cause QRDB to display the complete
  496.   record of interest. Including any memo's
  497.  
  498. 1) Numeric selections list the data in Key Field order. As with browse a
  499.    starting place can be entered. When you enter a starting place QRDB
  500.    will skip records prior to that starting place. This feature provides
  501.    a fast means of searching a key field.
  502.  
  503. L) Lists Records and associated Memos in the first keyfield order.
  504.  
  505. M) Displays a Memo, you provide the Record number in the format
  506.    number/Memo, example 33/1.
  507.  
  508. S) Searches the database. The user is prompted for a Search String or a
  509.    pair of words. The dual word search works like this, input a pair of
  510.    words seperated by a + sign such as, "Norman+Sennett". QRDB will
  511.    search each record in the Data Base for your search string or a match
  512.    for your pair of words. Memo fields are not searched. Search does not
  513.    handle dBase Date fields. If there will be a need to search for dates
  514.    either place the date in a field of characters or make the date a key
  515.    field. The key field can be searched using a starting place feature
  516.    in the keyfields list function.
  517.  
  518. K) Similar to (S) above the difference is that this function searches
  519.    key fields only for it's string match. In the case of a dual word
  520.    search it looks for the first word in the key fields. If it finds a
  521.    match, then it searches the complete record for the second word. As
  522.    mentioned above a Command Line Options  /K is required if QRDB is to
  523.    include the special Key field Search. This feature is of little value
  524.    except for very large databases. It was inspired by a user with a 1.5
  525.    million record database.
  526.  
  527. P) Pause Page Toggle if toggled off will cause the data to display to
  528.    the end of file or until the user presses (Esc)
  529.  
  530. H) Same as in the options menu, it displays your help file.
  531.  
  532. QRDBMgr:
  533.  
  534.   QRDBMgr.EXE is used to setup a data base, create/edit control files,
  535.   import data and generate index files.
  536.  
  537.   QRDBMgr can be used with or without a mouse. If running without a
  538.   mouse use the arrows keys to select menu items and the Tab key to
  539.   Select Entry fields or Buttons. Main menu items are selected by
  540.   pressing the Alt key plus the HighLighted letter in the menu item
  541.   description.
  542.  
  543.   The diagram below shows the menu selections that are available in
  544.   QRDBMgr.
  545.  
  546.   Remember the Data_Base_Setup functions only put together a control
  547.   file. If you are creating a type 1 data base you will still need to
  548.   import the data using the Import_Type_1_DB_Data function.  In the case
  549.   of a type 3 data base the Build_Type_3_DB_Index function will create
  550.   the necessary indexes to the .DBF file. QRDB does NOT use dBase index
  551.   files.
  552.  
  553.   Qnce a Data Base contains Data/Indexes, changes to certain fields will
  554.   no longer be allowed. You will receive a message telling you which
  555.   fields can't be edited when you attempt to edit a Data Base containing
  556.   data. If you need to edit one of those fields the only way is to Erase
  557.   the data using the Manager's "Erase QRDB Index/Data" function, make
  558.   the necessary changes and then Import, Build or Re-enter the data.
  559.  
  560.   The Erase QRDB Index/Data function works differently on each dB type.
  561.  
  562.     a. The Erase QRDB Index/Data function does not erase dBase .DBF or
  563.        .DBT files, use dBase to erase those. The Erase QRDB Index/Data
  564.        function does erase Type 3 indexes.
  565.  
  566.     b. In the case of the type 2 database Data and Indexes are Erased by
  567.        the Erase QRDB Index/Data function.
  568.  
  569.     c.  When used on a type 1 database the Erase QRDB Index/Data
  570.         function will omly delete Indexes.
  571.  
  572.  
  573.  
  574.  
  575.  
  576.   The delete function will in addition to accomplishing the erase function
  577.   above will also delete the associated QRDB setup.
  578.  
  579.  
  580.  
  581. ┌──────────────────────────────────────────────────────────────────────────┐
  582. │ Exit  Data_Base_Setup           Operations        Shell_to_QRDB          │
  583. └──────────────┬───────────────────────┬─────────────────┬─────────────────┘
  584.                │                       │                 │
  585.                │                       │                 │
  586.                │                       │                 │
  587.   ┌────────────┴─────────────┐         │                 │
  588.   │ Edit a DB Setup       F2 │         │                 │
  589.   │ Make a New Type 1 DB  F4 │         │                 │
  590.   │ Make a New Type 2 DB  F5 │         │                 │
  591.   │ Make a New Type 3 DB  F6 │         │                 │
  592.   └──────────────────────────┘         │                 │
  593.                                        │                 │
  594.                             ┌──────────┴───────────────┐ │
  595.                             │ Main Menu Title Edit     │ │
  596.                             │ Import Type 1 DB Data    │ │
  597.                             │ Read in Type 2 DB Data   │ │
  598.                             │ eXport Type 2 DB Data    │ │
  599.                             │ Build Type 3 DB Index    │ │
  600.                             │ Copy a QRDB Setup        │ │
  601.                             │ Delete a DataBase        │ │
  602.                             │ Erase QRDB Index/Data    │ │
  603.                             └──────────────────────────┘ │
  604.                                                          │
  605.                                                     ┌────┴───────┐
  606.                                                     │ Color   F8 │
  607.                                                     │ Monochrome │
  608.                                                     └────────────┘
  609.  
  610.  
  611. Creating a Type 1 Data Base  ********
  612.  
  613.   To create a Type 1 Data Base you will need a text file to import. The
  614.   USBBS list by Darwin Systems is a good file to start with. Any list
  615.   you chose to create a Type 1 Data Base from must be one in which the
  616.   data is arranged in columns. QRDB will extract it's keys from those
  617.   columns during conversion. Remove any material that isn't a part of
  618.   the structured data, such as column descriptions or List name. Column
  619.   descriptions are entered during setup, using QRDBMgr. Other info
  620.   removed from the list can be placed in the USBBS.HLP help file if
  621.   desired. A Data Base has already been setup for the USBBS list, select
  622.   the menu item Edit_a_DB_Setup or press F2 to review the setup. If you
  623.   are not going to use the Darwin USBBS list in your Data Base you can
  624.   delete it with the Delete a Data Base Function. If you are going to
  625.   use the USBBS you will need to obtain and edit a copy. Remove all text
  626.   at the begining and end of the list that isn't in structured in
  627.   columns. When you are ready to import your USBBS list select menu item
  628.   Import_Type_1_DB_Data from the Operations menu. A Dialog box will be
  629.   presented listing available control files, select USBBS.1CL, next
  630.   enter the name of the USBBS list that you want to import. After you
  631.   have imported the list you can select menu item Shell_to_QRDB and
  632.   review the new data base.
  633.  
  634.   To create a Data Base other than the USBBS that was provided. Start by
  635.   determining what fields that you want to be key fields, you can have up
  636.   to 5. Now Press F4 to bring up the Make Type 1 DB Dialog Box. You will
  637.   enter Database Name, Data Base Title, Display Header and Read Level.
  638.   The Data Base title is the title that will be displayed in the QRDB
  639.   main menu. The header will be displayed with each page of data. Read
  640.   level is the minimum user level required for access to the data. Use
  641.   the Tab or Mouse to select fields.
  642.  
  643.   Example:
  644.  
  645.      Database Name      SUPPORT
  646.  
  647.      Data Base Title    Computer Hardware/Software Support
  648.  
  649.      Display Header       Company Name            Phone Number     Remarks
  650.  
  651.      Read Level         1
  652.  
  653.  
  654.   Press OK when done or press enter. Next a Dialog Box will be presented
  655.   for the defining of keys.
  656.                                          Key
  657.     Key                      Key         Position
  658.     Search Prompt            Length      in Line
  659.  
  660.     Phone Number             12          31
  661.     Company Name             5           25
  662.  
  663.   At least one Key must be defined. Key Search Prompt is the Prompt QRDB
  664.   will use to describe the key to the user. Key Length is the length of
  665.   the key and Key Position in Line is the starting column that QRDBMgr
  666.   will use when extracting keys during import. 
  667.  
  668.   After the setup has been completed the function Import_Type_1_Db_Data
  669.   will import your textfile into the data base, the function builds
  670.   indexes and a .DAT file. QRDB limits the width of text imported into
  671.   this type 1 data base to 79 characters. More than one text file of
  672.   identical structure can be imported if necessary.
  673.  
  674.   The import feature can be used to add a chunk to an existing data
  675.   base, it is suggested you backup any existing work before importing
  676.   additional data. QRDBMgr does not check the data you are importing and
  677.   improperly structured input could corrupt the data base.
  678.  
  679. Creating a Type 2 Data Base  ********
  680.  
  681.   A couple of sample Type 2 Data Base files have been provided. To
  682.   review their control files, run QRDBMgr press F2 and select
  683.   either of the .2CL files.
  684.  
  685.   Prior to creating a Type 2 Data Base you should first decide on the
  686.   layout of the data that will be presented to the user. The number of
  687.   lines it will take to display a record and the layout of each line. A
  688.   maximum of 5 lines and a maximum of 5 fields per line are allowed.
  689.   Decide witch fields will be (K)ey fields, input (R)equired Fields or
  690.   Input (O)ptional fields. All Key fields are also input required
  691.   fields. The space used to display fields on a line can't add up to
  692.   more than 80 characters. Space required to display a field is the
  693.   length of the data field + the length of the Data Label + a colon and
  694.   a space between label and data. If not enough space is available
  695.   for the full field of the last record on a line the field will be
  696.   truncated.
  697.  
  698.   Note that the QRDB (L) and (B) functions will use the first key
  699.   assigned for their sort order. Another thing to consider is that the
  700.   QRDB (B)rowse function first displays that first key, then starting at
  701.   the first field in the record it displays fields until 80 characters
  702.   are displayed then goes to the next record. If the Key field displayed
  703.   at the beginning of the line is incountered it is skiped. Spacing used
  704.   by (B)rowse is Field Length plus 2 spaces unless the length or the
  705.   display label is greater than the field length, in which case (B)rowse
  706.   will use the display label length.
  707.  
  708.   When the layout has been planed, press F5 or select Add_a_type_2_DB
  709.   from the menu to bring up the Make Type 2 Dialog Box. Fill in the
  710.   Database Name, Read Write and Edit/Del Security Levels and the Data Base
  711.   Title. Use the Tab or Mouse to select fields.
  712.  
  713.   Example:
  714.  
  715.      Database Name:   AREA408
  716.  
  717.      Security Levels  Read      Write     Edit/Del
  718.                        5         5         100
  719.  
  720.      Data Base Title:  User Generated List of Area Code 408 BBS's
  721.  
  722.  
  723.   Press OK when done or press enter. Next a Dialog Box will be presented
  724.   for the defining the first line of the Data Base. You can have up to 5
  725.   lines. The inputs required to define a line are as follows.
  726.  
  727.  
  728.   Example:
  729.  
  730.  ┌─────  Input  ────────────────────────┐ ┌──────────  Display  ──────────┐
  731.  │(K)ey                                 │ │                         Label │
  732.  │(R)eq                           Field │ │                         Start │
  733.  │(O)pt Prompt                    Length│ │Label                    Column│
  734.    K    Phone Number [XXX-XXXX     8       Phone                     1
  735.    K    City                       25      City                      21
  736.    O    Max Baud                   5       Max Baud                  56
  737.                                    0                                                                       0
  738.  
  739.  
  740.   Up to 5 fields per line can be defined, but only a total of 5 keys in
  741.   the 5 lines are all that is allowed. Remember that the total of fields
  742.   and field labels can't add up to more than 80. Oh also allow for
  743.   spaces between fields and Colons after labels.
  744.  
  745.   Maximum key length is 15 characters if a field longer than 15
  746.   characters is designated as a key only the 1st 15 characters in the
  747.   field will be used in the index.
  748.  
  749.   When you have defined the first line press Alt N or use the mouse to
  750.   select the next line button or you can press enter. When you have
  751.   defined the last line that you want to use Select the Done button.
  752.  
  753.  
  754.   Input Info .......
  755.  
  756.   (K)ey-(R)eq-(O)pt    decide if the field will be a (K)ey field, an input
  757.                        (R)equired Field or an Input (O)ptional field. All
  758.                        Key fields are also input required fields.
  759.  
  760.   Prompt               This is the Prompt QRDB will use when asking for Input
  761.                        or describing the sorted lists that are possible.
  762.  
  763.   Field Length         This is the Maximum length of an entry in this field.
  764.                        If it is a Key field it is also the length of the Key
  765.                        unless the field is longer than 15 characters in
  766.                        which case the Key length is set to 15 characters.
  767.  
  768.   Display Info .....
  769.  
  770.   Label                This is the label placed ahead of the data when the
  771.                        line is displayed, when displayed a colon will be added
  772.                        to the label.
  773.  
  774.   Label Start Column   This is column that the first character in the label
  775.                        will be placed in. When a field is displayed the
  776.                        label is followed by a colon and a space and then
  777.                        the data. Labels are not displayed if the field
  778.                        is empty.
  779.  
  780.  
  781.   The data base can be left empty for user input or a comma delimited
  782.   file of data can be imported into the data base using the Operations
  783.   PullDown Menu item (Read in Type 2 DB Data). Data for import must be
  784.   set up as follows. Each record to be created must contain the same
  785.   number of lines that you have established for display by QRDB. Use a
  786.   comma to identify the end of a field's input. A comma is required for
  787.   every field in the record, including blank fields. Remember not to use
  788.   comma's in your data as they would throw things off. See the following
  789.   example.
  790.  
  791. A record from the Example Data Base "User List of Favorite BBS's"
  792.  
  793. │Phone: 408-335-4595   St: Ca    City: Felton
  794. │BBS Name: Mountain Retreat
  795. │MaxBaud: 14400   Size: 660Meg
  796. │Comment: Specializing in Pascal Programming
  797.  
  798. A comma delimited text file for import would look as follows
  799.  
  800. 408-371-7654,Ca,Campbell,
  801. Brown Bag Software,
  802. 2400,,
  803. Brown Bag software support board,
  804. 201-471-6391,Nj,Passaic,
  805. The Passaic/NJPCUG BBS,
  806. 9600,,
  807. Fido Net Node 1:107/559,
  808. 714-824-4328,Ca,Loma Linda,
  809. LLUMC Online Medical Library,
  810. 2400,120Meg,
  811. ,
  812.  
  813.   In summary:
  814.   No blank lines, one line for each line in the record, Comma at the end
  815.   of each field including blank fields. No testing of your input is done
  816.   by QRDBMgr so make sure your input is correct and if you are adding to
  817.   an existing data base you should probably back up the data base before
  818.   starting.
  819.  
  820.   If you are going to import a comma delimited list; select menu item
  821.   Read_In_Type_2_DB_Data from the Operations menu. A Dialog box will be
  822.   presented listing available control files, select the .2CL control
  823.   file for the data base you want to add to, next enter the name of the
  824.   list that you want to import. After you have imported the list you can
  825.   select menu item Shell_to_QRDB and review the new data base.
  826.  
  827.   The import feature can be used to add a chunk to an existing data
  828.   base, it is suggested you backup any existing work before importing
  829.   additional data. QRDBMgr does not check the data you are importing and
  830.   improperly structured input could corrupt the data base.
  831.  
  832. Exporting Type 2 Data
  833.  
  834.   QRDB will Export Type 2 DB Data to a Comma delimited file. Output will
  835.   be based on the record structure and will be in the format required
  836.   for import. Or you can format the data thru the use of a control file.
  837.   Control File structure is as follows, You will need a line in the
  838.   control file for each line of record output required. Identify the
  839.   line with the line number preceded by "L" as L1. Then on that line
  840.   identify the fields that are to be placed on the line using a
  841.   combination of Line that the record is found on a Dos Pipe character
  842.   and the position of the field on the line.
  843.  
  844.   Control files must have the Extension .CTL and the same name as the
  845.   Comma delimited Text file being created. Example if WGX1.TXT is the
  846.   name of the text file being created then WGX1.CTL would be the name to
  847.   use for the control file
  848.  
  849.   The following is an example control file. It consists of the one line:
  850.  
  851. L1  2|1 1|1
  852.  
  853.   The above will export the BBS name and Phone number from the example
  854.   "User List of Favorite BBS's" to a comma delimited file. The name and
  855.   phone number will appear on one line in the output. In order to place
  856.   the data on two lines the control file would look as follows
  857.  
  858. L1  2|1
  859. L2  1|1
  860.  
  861.   To export to a comma delimited file, in which records are written one
  862.   to a line, you would use something like the following. The fields can
  863.   be placed in any order required.
  864.  
  865. L1 1|1 1|2 1|3 2|1 3|1 3|2 4|1
  866.  
  867.  
  868. Creating a Type 3 Data Base ********
  869.  
  870.   A sample Type 3 Data Base has been provided. To review it's
  871.   control files, run QRDBMgr and press F2 and select the .3CL file.
  872.  
  873.   As with the type 2 data base you should have a plan as to how you want
  874.   the data to be displayed. Note that the QRDB (L), (M) and (B) functions
  875.   will use the first key assigned for their sort order. Another thing to
  876.   consider is that the QRDB (B)rowse function first displays that first
  877.   key, then starting at the first field in the record it displays fields
  878.   until 80 characters are displayed then goes to the next record. If the
  879.   Key field displayed at the beginning of the line is incountered it is
  880.   skiped. Spacing used by (B)rowse is Field Length plus 2 spaces unless
  881.   the length or the display label is greater than the field length, in
  882.   which case (B)rowse will use the display label length.
  883.  
  884.   The dBase date field is converted to MM/DD/YYYY when displayed. When
  885.   listing by date field order when the date field is a Key field, QRDB
  886.   converts user input from ,MM/DD/YYYY, MM-DD-YYYY, or MM/DD/YY to the
  887.   dBase format. If users will be wanting to search for dates that are in
  888.   dBase date fields, it would be a good idea to make the date field a
  889.   Key field as the search function does not do any converting.  Look at
  890.   the chaplin dbase file and help screen for an example.
  891.  
  892.   When you have a plan press F6 or select Add_a_type_3_DB from the menu
  893.   to bring up the Make Type 3 Dialog Box. Fill in the Name of the .DBF
  894.   file you are going to use. If the dBase file is not in the QRDB
  895.   directory you will need the Full Path Name, INCLUDING the DRIVE . A
  896.   minor problem created by the Full Path Name is if the database is
  897.   passed to another system the dBase file must be placed in a directory
  898.   with the identical name, not a problem if the database is used on one
  899.   machine.  Next input Security Levels and the Data Base Title. Use the
  900.   Tab or Mouse to select fields.
  901.  
  902.   Example:
  903.  
  904.     .DBF file Name:    CHAPLIN.DBF  (or C:\dBase\Chaplin.Dbf)
  905.  
  906.     Read Security Level:   1
  907.  
  908.     Data Base Title:     A data base of Chaplin movies
  909.  
  910.   Press OK when done or press enter. Next a Dialog Box will be presented
  911.   for the defining the layout of the dBase data on the screen.
  912.  
  913.   Example:
  914.  
  915. ╔═[■]═══════════════════════ Type 3 Db  Fields  ════════════════════════
  916. ║ ┌─ dBase Field ───┐ ┌────────── QRDB Handling Instructions ──────────┐
  917. ║ │                 │ │(N)/A                                           │    ║
  918. ║ │                 │ │(O)pt                                           │    ║
  919. ║ │                 │ │(R)eq                                           │    ║
  920. ║ │Name      Typ Len│ │(K)ey  Display Label                   Line Col │    ║
  921. ║  TITLE      C  30      O     Title                           1    1
  922. ║  COMPANY    C  15      O     Company                         1    38
  923. ║  RELEASE_D  D  10      K     Released                        4    1
  924. ║  DIRECTOR   C  30      O     Director                        3    1
  925. ║  WRITER     C  30      O     Writer                          3    38
  926. ║  FEETLENGT  N  5       N                                     0    0
  927. ║  FEET_SHOT  N  6       N                                     0    0
  928. ║  REELS      N  4       N                                     0    0
  929. ║  MINUTELEN  N  3       N                                     0    0
  930. ║  START_DAT  D  10      N                                     0    0
  931. ║  END_DATE   D  10      N                                     0    0
  932. ║  ACTOR      C  30      O     Actor                           2    1
  933. ║  ACTRESS    C  30      K     Actress                         2    38
  934. ║  SUPPORT    M  10      O     Support Memo                    5    1
  935. ║  MUSIC      M  10      O     Music Memo                      5    26
  936. ║  CREDITS    M  10      O     Credits Memo                    5    52
  937.  
  938.  
  939.  
  940.   dBase Field Info .......
  941.  
  942.                        The dBase field Name, Type and Length are
  943.                        displayed as an aid in working out the Handling
  944.                        info required by QRDB.
  945.  
  946.   QRDB Handling Info .......
  947. ║ │                 │ │(N)/A                                           │    ║
  948. ║ │                 │ │(O)pt                                           │    ║
  949. ║ │                 │ │(R)eq                                           │    ║
  950. ║ │Name      Typ Len│ │(K)ey  Display Label                   Line Col │    ║
  951.  
  952.  
  953.  (N)/A-(O)pt-(R)eq-    Decide if the field will be a (K)ey field, a (D)isplay
  954.               (K)ey    Field or a (N)ot Required Field. Fields coded (N)
  955.                        are not used by QRDB. Memo fields must be coded (O)
  956.                        or (N), they can NOT be a key field. In the example
  957.                        the fields SUPPORT, MUSIC and CREDITS are memo
  958.                        fields.
  959.                        A numeric field as a key can have problems
  960.                        indexing. Depending on how the key field was
  961.                        input. dBase, dBuddy or QRDB. Don't use a numeric
  962.                        field as a key unless all input is via one
  963.                        system.
  964.  
  965.   Display Label        This is the Label QRDB will use when displaying the
  966.                        associated field data.
  967.  
  968.   Line                 This is the line that the Label and the Field data
  969.                        data will be placed on when QRDB is displaying the
  970.                        data.
  971.  
  972.   Col                  This is column that the first character in the label
  973.                        will be placed in. When a field is displayed the
  974.                        label is followed by a colon and a space and then
  975.                        the data. Labels are not displayed if the field
  976.                        is empty.
  977.  
  978.   After the above Setup is complete go to the operations menu and Build
  979.   the Type 3 DB Index. You must Build indexes even if you are starting
  980.   with a empty database. If ever changes are made to the .Dbf database
  981.   files outside of QRDB you will have to repeat this Build function.
  982.   This function can be time consuming, I just indexed a 39,945 record
  983.   dBase file. The .dbf file size is 5073k and the setup uses 3 key
  984.   fields. Indexing on a 386sx 20Mz machine took 15 Hours. As a
  985.   comparison, indexing a file of 2,348 records that had 2 key fields and
  986.   a dBase .dbf file size of 761k took less than 2 minutes. The increase
  987.   in time required for the Build process is not linear as you can see.
  988.  
  989.   If you would like to use the type 3 data base, let's say for it's Memo
  990.   display capability and don't use a dBase compatable Data Base program.
  991.   You can use the Shareware program dBuddy to create the required files.
  992.   dBuddy (Data Base Buddy) is a dBase tool, it will build dBase III or
  993.   IV compatable Dbf and .Dbt files, either empty dBase files or it can
  994.   extract data from text files. dBuddy will Export to character
  995.   delimited files or text files, memo's are also exported.
  996.  
  997.  
  998.   When used to create a new type 3 setup the copy function will copy and
  999.   create a empty .dbf file. QRDBmgr does not create associated memo
  1000.   files and complains that they are missing, not a problem, as QRDB will
  1001.   create the memo files the first time a memo is added.  The empty file
  1002.   can be replaced with a file containing data as long as the fields are
  1003.   an exact match.
  1004.  
  1005.   In order to relocate a .DBF file that has been identified with a full
  1006.   pathname you will have to use the (E)rase QRDB Index/Data function. It
  1007.   wipes out everything but the .3CL and .DBF/DBT files. Then use edit a
  1008.   DB setup to show the new pathname and then Build the type 3 DB Index.
  1009.   The .3CL file contains your setup so nothing is lost except the indexes
  1010.   and a pointer to the directory that contains the .DBF/DBT files. The
  1011.   same process can be used to change any .3CL field to which changes arn't
  1012.   allowed. You can also use the (E)rase QRDB Index/Data function to erase
  1013.   references to indexes that don't exist. Such as when you are given a
  1014.   .DDF and .3CL file without indexes.
  1015.  
  1016. ListKeys:
  1017.  
  1018.   LISTKEYS.EXE is a utility that has been added to serve as an aid to those
  1019.   adding a REC_OWNER field to an existing database. It will list the Owners
  1020.   of records shown in the *O.IDX file.
  1021.   It may have other uses. The utility will list the keys in any .IDX
  1022.   file that indexes a key field that is at least 15 characters long.
  1023.   Usage : ListKeys <Index File Name>  Example : ListKeys USERBBSO.IDX
  1024.  
  1025. Disclaimer agreement:
  1026.  
  1027.     Users of QRDB and QRDBMGR must except the following disclaimer
  1028.     agreement:
  1029.  
  1030.     QRDB and it's utilities are provided AS IS. The Author makes no
  1031.     Warranty of any kind, expressed or implied. In addition THE AUTHOR
  1032.     ASSUMES NO LIABILITY FOR DAMAGES WHICH MAY RESULT WHICH MAY RESULT
  1033.     FROM THE USE OF QRDB, QRDBMGR or associated utilities.
  1034.  
  1035. History:
  1036.  
  1037.     Version 1.00    Initial Release
  1038.     Version 1.01    Added a Main Menu help function
  1039.     Version 1.02    Added a type 2 data import function and fixed
  1040.                     a bug in the type 3 data dase setup functions
  1041.     Version 1.03    Changed screens and added local mode default.
  1042.     Version 1.04    MultiNode support added
  1043.     Version 1.05    Beta Release switched to use of DorInfo1.Def
  1044.                     in order to make the door useable on more systems.
  1045.     Version 1.06    Release of DorInfo1.Def version
  1046.     Version 1.07    Added support for dBase III and dBase IV memos
  1047.                     Added support for dual word searches
  1048.     Version 1.08    Improved dBase searches added dual word searches
  1049.                     and speed.
  1050.     Version 1.09    Miner changes mainly in docs to aid in setup
  1051.     Version 2.0     Changed QRDBMgr to allow the rebuilding of Index
  1052.                     files if changes have been made to the dBase
  1053.                     .DBF files. Changed QRDB to allow smoother exit
  1054.                     from Search functions.
  1055.     Version 2.1     Added Browse function to type 2 and 3 database
  1056.                     menus. Added a Pause Page Toggle to all types.
  1057.                     Stoped scrolling the screen when displaying
  1058.                     the number of records searched. QRDB now overwrites
  1059.                     the message for a cleaner display.
  1060.     Version 2.2     In type 2 database if Read access was not given then
  1061.                     then Write access was locked out. QRDB will now
  1062.                     allow you to give a user Write access without giving
  1063.                     read access.
  1064.     Version 2.3     Improved Browse feature. Added capability to a Type 2
  1065.                     database to a comma delimited file.
  1066.     Version 2.3a    Main menu can be bypass, command line option, fix.
  1067.     Version 2.3b    Program now gives full pathname in .Dat not found
  1068.                     Error message. Moved the Browse function to the
  1069.                     top position in the menu. Changed the timer routine
  1070.                     I was using, it could possibly lock a system.
  1071.     Version 2.4     Added additional drop carrier protection, added
  1072.                     escape from data entry feature.
  1073.     Version 3.0     Beta version, Major upgrade, adds edit to type 2
  1074.                     database and adds Add, Edit and Delete to type 3.
  1075.                     User has edit/delete access to any record he creates.
  1076.             3.0B    Fixed level problem, a level equal to or greater than
  1077.                     the level set in QRDB now has access. Prior to fix
  1078.                     user level had to be greater for access.
  1079.             3.1     Beta status Removed, Main Menu Help problem fixed and
  1080.                     Memo Display bug fixed.
  1081.             3.2     Type 3 Browse Bug fix.
  1082.             3.3     Cosmetic Bug fix, the word changed is no longer
  1083.                     displayed when entering a dBase record.
  1084.             3.4     dBase file handler Bug Fix.
  1085.             3.5     Fixed disappearing cursor problem,
  1086.                     Improved "Build Type 3 DB Index" routines.
  1087.                     Added type 3 db to QRDBMgr copy function
  1088.                     Fixed problem QRDB had in using a empty type 3 .dbf
  1089.             3.6     Beta Version Will now use Door.Sys or DorInfo1.Def
  1090.             3.7     Door.Sys version as yet not reported OK
  1091.                     Dos 6 NO GO fixed.
  1092.             3.7a    Beta Status removed, Documentation change only.
  1093.             3.8     Type 3 Bug Fix
  1094.             3.9a    Fixed linecount problem and problem of two keys
  1095.                     being left at times, when a keyfield was edited.
  1096.                     The new key and the old key both pointing to the
  1097.                     same record.
  1098.             3.9b    The routine I was using to check for adequate memory
  1099.                     did not work properly on all systems. I have removed
  1100.                     it from the program.
  1101.             3.9c    Fixed Memo delete function
  1102.             3.9d    Improved exit from last page during Browse
  1103.             3.9f    Fixes problem where no more than two pages of recs
  1104.                     with duplicate keys would be displayed when browseing.
  1105.                     Also fixed hang while searching problem.
  1106.             3.9g    Changed QRDBMgr to allow changes to .3CL files
  1107.                     after Index files have been erased. Changed this doc.
  1108.                     file to reflect that change.
  1109.             3.9h    Corrected a problem with Userinf.3cl, it called for a
  1110.                     .dbf file in a d:\QRDBTEST directory. Discontinued the
  1111.                     use of a QRDB.Key file. The file was not a true key,
  1112.                     QRDB has never been crippled in any way. That key file
  1113.                     gave the impression that the program was crippled.
  1114.             4.0     Added QRDBLang.Dbf, it contains the text used by QRDB
  1115.                     in menu's and prompts and can be edited.
  1116.             4.0a    Fixed bug associated with the use of empty .dbf files
  1117.                     that use a memo field. Also fixed a bug that prevented
  1118.                     the entering of a start place in the DataBase edit
  1119.                     picklist.
  1120.             4.0b    Fixed problem where-in Qrdb would not use dbase files
  1121.                     located in directories other than the QRDB directory.
  1122.                     Fixed Problem with dBase Memo Editor routines.
  1123.             4.0c    Bug introduced in 4.0b fixed
  1124.             4.0d    A couple more bugs fixed, Type 3 Kill function and
  1125.                     Help missing from Options menu.
  1126.             4.0e    Added code that should make QRDB OS2 aware (not tested).
  1127.                     QRDB will now read DorInfo*.Def, previous versions only
  1128.                     wanted Dorinfo1.Def. A seperate version is no longer needed
  1129.                     for RBBS, a RBBS command line option was added. Increased
  1130.                     maximum length of search string from 20 to 60 characters.
  1131.             4.0f    Problems with user generated record security corrected.
  1132.             4.1     Local use no longer bypasses security levels. This should
  1133.                     help when debuging. QRDBMGR was having problems with
  1134.                     .DBF files located in directories other than the QRDB dir.
  1135.             4.1a    More problems with QRDBMGR and .DBF files located in
  1136.                     directories other than the QRDB dir.
  1137.             4.2     Added expanded User Record Ownership support. Added a new
  1138.                     search feature, primarly for use with very large databases.
  1139.                     Added ListKeys.Exe utility. Added a couple of additional
  1140.                     sample database's. Expanded the Docs a little.
  1141.             4.2a    A type 1 database with the main menu bypassed would hang
  1142.                     if a (Q) was pressed when on the options menu.
  1143.             4.2b    Manager had a problem with type 1 database. Another (Q)
  1144.                     hang problem.
  1145.             4.2c    Fixed Rec_Owner field update bug and added command line
  1146.                     option /N to specify a DorInfo number other than
  1147.                     DorInfo1.Def. My approach to the use of DorInfo*.Def was
  1148.                     flawed, and could cause a lockup if the door was used by
  1149.                     two nodes.
  1150.             4.2d    Bug Fix
  1151.             4.2e    Fixed a QRDBMgr Bug that prevented work on type one
  1152.                     database's
  1153.             4.2f    Fixed minor bug, QRDB wouldn't run without environment
  1154.                     variable being set.
  1155.             4.2g    Fixed a bug that was minor in most setups, the QRDBLANG
  1156.                     file was not being closed.
  1157.             4.2h    Fixed potential problem with Fossil version
  1158.             4.2j    Centered Menu's and removed filter that prevented the
  1159.                     use of characters above #126.
  1160.             4.2k    Fixed bug in type 2 database that occured when five
  1161.                     fields on a line were used.
  1162.             4.2m    Reduced door memory requirements to 414k. Added a couple
  1163.                     more example BBS setups including a Maximus Multinode
  1164.                     setup.
  1165.             4.2n    Stoped QRDB.EXE from doing direct screen writes, it was
  1166.                     causin lockups under Desqview that were hard to trouble-
  1167.                     shoot.
  1168.             4.2p    Fixed problem where if the number indicating graphics
  1169.                     in DorInfo*.Def was not in column 1 then the program
  1170.                     defaulted to Mono.
  1171.             4.2r    Deleting an entry in a type 3 database field was not
  1172.                     working. Unless something was placed in the field the
  1173.                     change wasn't saved.
  1174.             4.2s    Added protection for files used in multinode systems
  1175.                     where edit access is given. QRDB.EXE and QRDBLANG.DBF
  1176.                     are changed.
  1177.             4.2t    BugFix, problem was with multinode protection logic
  1178.                     Added info on dBAse and Foxpro compatability
  1179.  
  1180.     ShareWare, a $25 registration fee is required. When you register
  1181.     send me a 65 character message of your choice. You will be sent a
  1182.     new QRDB.Dat file. Your 65 character message will replace the
  1183.     following line in the QRDB menu.
  1184.  
  1185.   ╠════════════════════════════════════════════════════════════════════════╣
  1186.   ║      QRDB Door - Mt. Retreat Software - Support BBS (408)335-4595      ║
  1187.   ╚════════════════════════════════════════════════════════════════════════╝
  1188.  
  1189.  
  1190.     If you decide to continue useing QRDB after a 90 day trial period
  1191.     you are expected to register. This is a one time registration the
  1192.     message created for your system will work with all future revisions.
  1193.  
  1194.     Please send your registration fee to:
  1195.  
  1196.              John Jamieson
  1197.              Mountain Retreat Software
  1198.              555 Buckeye St.
  1199.              Felton Ca, 95018
  1200.  
  1201.     For support contact:
  1202.  
  1203.              Fidonet 1:216/506
  1204.              Internet John.Jamieson@f506.n216.z1.FIDONET.ORG
  1205.              BBS phone (408)335-4595
  1206.              Voice (408)335-4672
  1207.              Fax (408)335-4982
  1208.  
  1209.  
  1210.  
  1211.  
  1212.