home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / QRDB42E.ZIP / QRDB.DOC < prev    next >
Text File  |  1994-04-25  |  58KB  |  1,166 lines

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