home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / QRDB42B.ZIP / QRDB.DOC < prev    next >
Text File  |  1994-04-07  |  58KB  |  1,152 lines

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