home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Beijing Paradise BBS Backup
/
PARADISE.ISO
/
software
/
BBSDOORW
/
QRDB42B.ZIP
/
QRDB.DOC
< prev
next >
Wrap
Text File
|
1994-04-07
|
58KB
|
1,152 lines
QRDB Vers 4.2b 7 Apr 94
Mountain Retreat Software
QRDB
(c) Copyright 1992 by John Jamieson
All Rights Reserved
Intro:
QRDB/QRDBMgr is a Data Base system for BBS's that use Door.Sys or
DorInfo*.Def. QRDB is a multi-node compatable BBS Data Base door and
QRDBMGR is the Data Base Manager. Although QRDB was designed to be
used as a BBS door it can be used by users without a BBS if needed. A
BBS is not required in order to run the program, it will run in local
mode. QRDB requires 465k of memory.
QRDB/QRDBMgr offers three types of Data Base.
Type 1 will import any text file in which the data is layed out in
columns. The imported Data Base can then be made available to BBS
users for searches or sorted list displays. Up to five keys can be
designated making five sorted lists available to the user. This Type
1 Data Base is not editable and a Data Record is limited to 80
characters. An example of a file suitable for import is the Darwin BBS
listing.
Type 2 is a build from scratch Data Base. The user can Add, Edit and
Delete records in the Type 2 Data Base. Read, Write and Edit/Del
levels are established by the Sysop. A log is maintained of all
Additions, Edits and Deletes made by users. This type 2 Data Base can
contain up to 25 fields per Record with a maximum of 5 Key fields. 5
display lines with 5 fields per line max. Fields can be designated as
input optional or input required. QRDB can import comma delimited
files into the type 2 Data Base.
Type 3 will display data in dBase .DBF data files and .DBT memo files.
The dBase Data can then be made available to BBS users for searches or
sorted list displays. Up to five keys can be designated making five
sorted lists available to the user. The user can Add, Edit and Delete
records in the Type 3 Data Base. Read, Write and Edit/Del levels are
established by the Sysop. A log is maintained of all Additions, Edits
and Deletes made by users. All fields except the Memo's are searched
when using the Search function.
QRDB does not use dBase Index files, it uses it's own indexing system.
QRDB LIMITS on dBase files are as follows. QRDB will only handle dBase
records with 20 or less fields. The number of memo's is limited to 3
per record. QRDB will display memo's of any length but when editing or
creating, the number of lines in a memo are limited to 20 with a
maximum line length of 76 characters.
User Access to data
Access to files is controlled by Levels established for each DataBase.
Read, Write and Edit/Delete levels are seperatly controlled.
In addition to access provided under level control, a user is given
access to any record that he/she creates. This Record access is
controlled by the index files identified *O.IDX. The first 15 characters
of the user name is placed in the index pointing to records that the
user has created.
This feature can be disabled by deleting the *O.IDX file after the
user exits QRDB. QRDB will build a new empty *O.IDX if it dosen't find
one.
In the case of a Type 3 database where rebuilding indexes is common.
QRDB will maintain a .Dbf field named REC_OWNER. It will place the
name of the originator of a record in the REC_OWNER field. QRDBMgr
will then use that name when rebuilding indexes. The REC_OWNER field
must be one of the first 20 fields in a .DBF file. The REC_OWNER field
should be at least 15 characters long field and be marked (N) in the
QRDB Field Handling Instructions.
│(N)/A <<<< REC_OWNER Field Handling Instructions
│(O)pt
│(R)eq
│(K)ey
If you want to Retain Record Ownership Data, if and when you ever need
to rebuild the *O.IDX, then your .DBF file must include a REC_OWNER
field.
An example of the User Access posibilities:
A user can be given Add access and No Read or Edit/Delete access. In
this situation a user database, that only the Sysop or CoSysops with
read access would have access to all the records, could be built and
maintained by users. The user would see and be able to edit only the
records that he entered. *O.IDX would control Edit access.
When run in stand-alone full access to all features is given and levels
do not apply.
The advantages/disadvantages of each type are as follows:
Type 1: Imports text layed out in columns.
Only displays, no edits.
User Read Access controlled by security level
Type 2: Data base can be built on line.
Imports comma delimited files
Exports to comma delimited files
User access to Read, Add, Edit and/or Delete controlled
by user Level
Type 3: Data base uses dBase .DBF and .DBT files
Checks date entries for validity
Checks numeric entries
dBase Memo capability, a great feature
Requires dBase Compatable files
User access to Read, Add, Edit and/or Delete controlled
by user Level
dBase Compatable files can be created with the Shareware
utility dBuddy. Additional dBuddy info is below in the
paragraph on files.
Example QRDB Status Bar:
┌───────────────────────────────────────────────────────────────────────────┐
│John Jamieson Level=100 Port=1 Baud=2400 Graphics=On │
│Felton, Ca Min's Left=67 Alt-H= Hangup │
└───────────────────────────────────────────────────────────────────────────┘
Command Line Options:
/R use an RBBS type Dorinfo*.Def
/M Local Monitor is Monochrome
/K include the special Key field Search
???????.?CL A CL file name on the command line bypasses the
main menu and goes directly to the database that
is specified.
C:\QRFM\QRFM.EXE /M /R Chaplin.3CL would go directly to the Chaplin
database bypassing the main menu. QRDB would be displayed in Monochrome
on the Local Monitor. And QRDB would use an RBBS type Dorinfo*.Def.
Quick Start:
a. To Run QRDB add the Environment Variable SET QRDB=C:\QRDB, set it
to whatever directory QRDB is located in. If the Environment
Variable is not set you must run QRDB from the QRDB directory.
QRDB uses the Environment Variable to locate the the QRDB data
files, if they are not found you will get the error message
"QRDBLang.DBF not found" .
b. QRDB requires 470k of memory to run. If your BBS is capable of
swaping to EMS or disk when running a door use that option.
Most likely you won't have enough memory to keep the BBS in
memory and still have 470k for QRDB. Most Systems have a batch
file/errorlevel system that will free enough memory for QRDB.
c. If Running MultiNode and using Door.Sys or DorInfo1.Def, run QRDB
from a different directory for each node. Example C:\BBS\Node0,
C:BBS\Node1, etc. If using DorInfo1.Def, DorInfo2.Def,
DorInfo3.Def, etc then each node can be run from the same
directory. But REMEMBER QRDB.Exe expects to find either Door.Sys
or DorInfo*.Def in the directory it is run from.
d. QRDB defaults to StandAlone mode, without a status line, if it
can't find DorInfo*.Def or Door.Sys. It will also run in Local
mode, but with a status line if the baud rate it finds in
DorInfo*.Def or Door.Sys is 0.
e. The Main menu can be bypassed. A couple of reasons for bypassing
are; if only one data base is to be included or the sysop would
rather use the BBS menus to access the data bases. Bypassing is
accomplished by executing QRDB with the name of the CL file as a
command line parameter. Example C:\QRDB\QRDB.EXE CHAPLIN.3CL or
if running stand-alone mode QRDB.EXE CHAPLIN.3CL. To run in
stand-alone mode, but monochrome use QRDB.EXE /M CHAPLIN.3CL.
f. A few sample Data Bases are included in the package. Just place
the QRDB package of files in their own directory and run QRDB or
QRDB /M for StandAlone in monochrome, and follow the Prompts. The
Darwin Data Base related files included with the package contains
a setup only, no data, it's use will be discussed later. Feel
free to use any of the examples on your BBS or delete them using
the QRDBMgr or DOS. It is suggested that you review the Example
setups prior to deleting them. Run the QRDBMgr and press F2 to
call up the control file editor. The editor can be used to review
the setups.
g. If you are running QuickBBS or RA
After seting the Environment variable, create a QuickBBS/RA type
7 menu type and in the Optional data field just place the command
C:\QRDB\QRDB.EXE *M that's all their is to it. To bypass the
QRDB main menu use C:\QRDB\QRDB.EXE CHAPLIN.3CL *M
(*M is a QuickBBS/RA option telling the BBS to swap to EMS or Disk)
h. Maximus,Virtual or PCBoard BBS check the files Maximus.BBS or
Virtual.BBS for additional info.
I. If you run RBBS or other BBS that uses the RBBS type of
dorinfo*.def in which line 10 the ansi/color indicator 2=Ansi and
1=NoAnsi. Add a /R to the QRDB command line it will tell QRDB to
Use a RBBS type Dorinfo*.Def.
J. Other systems, jot down your installation procedure and send it
to me. I'll include it in the next release of QRDB. It could save
another sysop a lot of headaches.
Trouble shooting the QRDB door installation:
The Status bar can be an aid in trouble shooting the door installation.
a. ***IMPORTANT*** QRDB looks in the directory it is run from for
Door.Sys and if it is not found it looks for DorInfo*.Def. It then
uses the environment variable QRDB to locate the QRDB data files.
If you run a multinode system QRDB can't be run from the same
directory for each node if you use Door.Sys or DorInfo1.Def. A
different copy of Door.Sys or DorInfo1.Def is needed for each Node.
b. If you get the Error message QRDBLang.DBF not found, make
sure you have the environment variable set, before looking for
other problems. Example QRDB=C:\QRDBDIR set it to the directory
that QRDB is located in.
c. No status bar indicates that the Door.Sys or DorInfo*.Def file was
not found and QRDB is running in StandAlone mode.
d. A status bar with a Baud rate other than 0 indicates the Door.Sys
or DorInfo*.Def file has been read, QRDB has Config and user info
and is running as a door.
e. If the status bar shows a baud rate of 0 then Door.sys or
DorInfo*.Def has been Read and QRDB is running in local mode.
f. If double spaceing or blank lines in a occure in records when
displaying it's probably due to, too much data being placed on a
line. Go back to the QRDBMgr and do some rearranging.
Language:
The file QRDBLang.Dbf contains one record, that record contains the
text used by QRDB in menu's and prompts. QRDBLang.Dbf can be edited
with any program that can edit dBase compatable .Dbf files. If you
need one try the shareware program dBuddy. A dBase compatable utility
dBuddy, mentioned above and in paragraphs below, is available on
Mountain Retreat 1:216/506, 408-335-4595. It can be Freq'd under the
magic name dBuddy.
Files:
A set of files will be created for each Data Base
.1CL,.2CL or .3CL Control file; a Type 1,2 or 3
.Dat Data file; for type 1 & 2 only, type 3 uses your.DBF file
.IDX Index file; 1 to 5 as specified during setup
A QRDB general help file will be displayed from the main menu, if you
name it QRDB.HLP. You can also create a .HLP file for each Data Base by
using the same name as your Data Base. If a help file is found it will
be offered to the user in the QRDB menus. .HLP files are just text
files.
When assigning file names you will be allowed 7 characters instead of
the usual 8. QRDB needs that 8th character.
A Data Base consisting of a set of the above files is a stand alone
package. It can be copied/moved to another BBS that uses QRDB or it
can be deleted from your QRDB directory. QRDBMgr has a delete function,
it's there only for convenience DOS is all that is needed.
The files provided with the package are the following :
QRDBMGR EXE The QRDB Manager used to set up data bases for QRDB
QRDB EXE The QRDB BBS Door
QRDB_FOS EXE The QRDB BBS Door Fossil Version
LISTKEYS EXE A utility to List the keys in a .IDX file.
QRDB TTL A file that stores the title you give to the QRDB Main Menu
QRDB DOC This File
QRDB DAT Data required by QRDB
QRDB HLP A Sample general help file
QRDBLANG DBF Text used by QRDB in menus/prompts in a dBase file
** The following files are example files and can
be deleted when you are finished with them.
(A) on the main menu shown below
SUPPORT 1CL Type 1 Sample Control File (List of Support BBS's)
SUPPORT DAT Type 1 Sample Data File
SUPPORT HLP Support Data Base Help File (Text)
SUPPORT1 IDX Type 1 Sample Index file #1
SUPPORT2 IDX Type 1 Sample Index file #2
SUPPORT TXT Text file used in the creation of the Type 1 Sample
(B) on the main menu
USBBS 1CL Type 1 Sample Control File (Setup for Darwin USBBS list)
USBBS DAT Empty Type1 Sample Data File
USBBS HLP USBBS Data Base Help File (Text)
USBBS1 IDX Type 1 Sample Index file #1
USBBS2 IDX Type 1 Sample Index file #2
USBBS3 IDX Type 1 Sample Index file #3
(C) on the main menu
BBSLIST 2CL Type 2 Sample Control File (User generated BBS List)
BBSLIST DAT Type 2 Sample Data File
BBSLIST HLP BBSList Data Base Help File (Text)
BBSLIST1 IDX Type 2 Sample Index file #1
BBS LST A sample comma delimited file for import into
the BBSLIST data base
(D) on the main menu
USERDAT 2CL Type 2 Sample Control File (User DataBase)
USERDAT DAT Type 2 Sample Data File
USERDAT1 IDX Type 2 Sample Index
USERDATO IDX Type 2 Sample Index containing User ownership data
(E) on the main menu
WGUIDE 2CL Type 2 Sample Control File (Wine Guide)
WGUIDE DAT Type 2 Sample Data File
WGUIDE HLP WGuide Data Base Help File (Text)
WGUIDE1 IDX Type 2 Sample Index file
WGX CTL Control file for Export of WGuide to Comma Delimited file
WGX TXT Comma Delimited Exported database
(F) on the main menu
CHAPLIN 3CL Type 3 Sample Control File (Chaplin dBase Data Base)
CHAPLIN DBF dBase .DBF file used by QRDB
CHAPLIN DBT dBase .DBT Memo file used by QRDB
CHAPLIN HLP Chaplin Data Base Help File (Text)
CHAPLIN1 IDX Type 3 Sample Index file
(G) on the main menu
EVENT 3CL Type 3 Sample Control File (This User Info database uses Memo's)
EVENT DBF dBase .DBF file used by QRDB
EVENT DBT dBase .DBT Memo file used by QRDB
EVENT1 IDX Type 3 Sample Index
EVENTO IDX Type 3 Sample Index containing User ownership data
(H) on the main menu
USERINF 3CL Type 3 Sample Control File (This User Info database uses Memo's)
USERINF DBF dBase .DBF file used by QRDB
USERINF DBT dBase .DBT Memo file used by QRDB
USERINF1 IDX Type 3 Sample Index
USERINFO IDX Type 3 Sample Index containing User ownership data
(I) on the main menu
USERBBS 3CL Type 3 Sample Control File (User generated BBS list w/Memos)
USERBBS DBF dBase .DBF file used by QRDB
USERBBS DBT dBase .DBT Memo file used by QRDB
USERBBS HLP UserBBS Data Base Help File (Text)
USERBBS1 IDX Type 3 Sample Index
USERBBS2 IDX Type 3 Sample Index
USERBBS3 IDX Type 3 Sample Index
USERBBSO IDX Type 3 Sample Index containing User ownership data
MAXIMUS.BBS Info on setting up under Maximus BBS
VIRTUAL.BBS Info on setting up under Virtual BBS
PCBOARD.BBS Info on setting up under PcBoard BBS
The complete chaplin dBase package can be download from Mountain
Retreat only the .DBF & .DBT file are included here. The Complete
package includes Chaplin.FMT. Since QRDB only reads .DBF and .DBT
files I didn't include the conplete package.
QRDB's Menus:
The Main menu can be bypassed by executing QRDB with the name of the
CL file as a command line parameter. Example C:\QRDB\QRDB.EXE
CHAPLIN.3CL
If it isn't bypassed the *.*CL files provided will appear in the QRDB
main menu as follows:
╔════════════════════════════════════════════════════════════════════════╗
║ ░░▒▒▓▓██ Q R D B M A I N M E N U ██▓▓▒▒░░ ║
║ ║
║ Your BBS DataBase Selection ║
╠════════════════════════════════════════════════════════════════════════╣
║ A Computer Hardware/Software Support ║
║ B Darwin National BBS List ║
║ C User List of Favorite BBS's ║
║ D User Data Base ║
║ E Central California Winery Guide ║
║ F A Data Base of Chaplin Movies ║
║ G Community Event Database ║
║ H User Information DataBase ║
║ I User Generated BBS List ║
║ ║
║ ? Help ║
║ X Exit QRDB ║
╠════════════════════════════════════════════════════════════════════════╣
║ QRDB Door - Mt. Retreat Software - Support BBS (408)335-4595 ║
╚════════════════════════════════════════════════════════════════════════╝
Selection :
In the menu above the "User Data Base" is a type 2 data base and
"DataBase of BBS user info" is a similar data base useing a type
3 data base with memo's and a REC_OWNER field.
If a user has a level high enough for Write and/or Edit/Del access
then an options menu will be displayed. If not the Options Menu will
be skiped and QRDB will go directly to the Display Selection Menu.
╔════════════════════════════════════════════════════════════════════════╗
║ ░░▒▒ A Data Base of Chaplin Movies ▒▒░░ ║
║ Options Menu ║
╠════════════════════════════════════════════════════════════════════════╣
║ D Display Data ║
║ A Add to DataBase ║
║ E Edit a Record ║
║ K Kill a Record ║
║ H Help ║
║ Q Quit to QRDB Main Menu ║
║ X Exit QRDB and return to the BBS ║
╚════════════════════════════════════════════════════════════════════════╝
Selection :
D) Brings up the display menu if the users level gives Read Access
A) Users with Write access will be given this option and be allowed to
the database will be allowed to add records to the database.
E) Users with Edit/Del and users that own a record that is found in the
*O.IDX file will be given this option. If access is based on the
record(s) a user owns, then only those records the user owns will be
presented for change. If this ownership is important to you be sure
to read the section on "User Access to data" and the importance of
the "REC_OWNER" .Dbf field.
K) Deletes a record, the same rules as in (E) above apply
H) Displays a help file, a text file that has the same name as your .*CL
file but with the extension .Hlp. You should probably write one for
all your databases
╔════════════════════════════════════════════════════════════════════════╗
║ ░░▒▒ A Data Base of Chaplin Movies ▒▒░░ ║
║ Display Selection Menu ║
╠════════════════════════════════════════════════════════════════════════╣
║ B Browse List In Released Order ║
║ 1 List In Released Order ║
║ 2 List In Actress Order ║
║ L List In Released Order/w Memos ║
║ M Display a Memo ║
║ S Search for String,Word or Words ║
║ K Key Search for String,Word or Words ║
║ P Pause Page Toggle [ON] ║
║ H Help ║
║ Q Quit to Options Menu ║
║ X Exit QRDB ║
╚════════════════════════════════════════════════════════════════════════╝
Selection :
Display Selection Menu item descriptions
B) Provides a one line listing for Browsing. The first field will be the
first Key field in the *.*CL file, then as many fields as will fit on
the line are included. Example
Ln# City State Zip_Code Area_Code Population
1 ABERDEEN SD 57401 605 25851
2 ADDISON IL 60101 708 29826
3 ADRIAN MI 49221 517 21276
4 AFFTON MO 63123 314 23181
The user dosen't have to start listing from the begining of the file.
As an example to start Browsing the listing begining with LODI, just give QRDB
"LODI" as a starting place. The browsing would then start with
Ln# City State Zip_Code Area_Code Population
1 LODI CA 95240 209 35221
At the bottom of a page of data the following prompt is presented
Enter Ln# to View, Press Enter to Continue or Press (Esc) :
Entering an item line number will cause QRDB to display the complete
record of interest. Including any memo's
1) Numeric selections list the data in Key Field order. As with browse a
starting place can be entered. When you enter a starting place QRDB
will skip records prior to that starting place. This feature provides
a fast means of searching a key field.
L) Lists Records and associated Memos in the first keyfield order.
M) Displays a Memo, you provide the Record number in the format
number/Memo, example 33/1.
S) Searches the database. The user is prompted for a Search String or a
pair of words. The dual word search works like this, input a pair of
words seperated by a + sign such as, "Norman+Sennett". QRDB will
search each record in the Data Base for your search string or a match
for your pair of words. Memo fields are not searched. Search does not
handle dBase Date fields. If there will be a need to search for dates
either place the date in a field of characters or make the date a key
field. The key field can be searched using a starting place feature
in the keyfields list function.
K) Similar to (S) above the difference is that this function searches
key fields only for it's string match. In the case of a dual word
search it looks for the first word in the key fields. If it finds a
match, then it searches the complete record for the second word. As
mentioned above a Command Line Options /K is required if QRDB is to
include the special Key field Search. This feature is of little value
except for very large databases. It was inspired by a user with a 1.5
million record database.
P) Pause Page Toggle if toggled off will cause the data to display to
the end of file or until the user presses (Esc)
H) Same as in the options menu, it displays your help file.
QRDBMgr:
QRDBMgr.EXE is used to setup a data base, create/edit control files,
import data and generate index files.
QRDBMgr can be used with or without a mouse. If running without a
mouse use the arrows keys to select menu items and the Tab key to
Select Entry fields or Buttons. Main menu items are selected by
pressing the Alt key plus the HighLighted letter in the menu item
description.
The diagram below shows the menu selections that are available in
QRDBMgr.
Remember the Data_Base_Setup functions only put together a control
file. If you are creating a type 1 data base you will still need to
import the data using the Import_Type_1_DB_Data function. In the case
of a type 3 data base the Build_Type_3_DB_Index function will create
the necessary indexes to the .DBF file. QRDB does NOT use dBase index
files.
Qnce a Data Base contains Data/Indexes, changes to certain fields will
no longer be allowed. You will receive a message telling you which
fields can't be edited when you attempt to edit a Data Base containing
data. If you need to edit one of those fields the only way is to Erase
the data using the Manager's "Erase QRDB Index/Data" function, make
the necessary changes and then Import, Build or Re-enter the data.
The Erase QRDB Index/Data function works differently on each dB type.
a. The Erase QRDB Index/Data function does not erase dBase .DBF or
.DBT files, use dBase to erase those. The Erase QRDB Index/Data
function does erase Type 3 indexes.
b. In the case of the type 2 database Data and Indexes are Erased by
the Erase QRDB Index/Data function.
c. When used on a type 1 database the Erase QRDB Index/Data
function will omly delete Indexes.
The delete function will in addition to accomplishing the erase function
above will also delete the associated QRDB setup.
┌──────────────────────────────────────────────────────────────────────────┐
│ Exit Data_Base_Setup Operations Shell_to_QRDB │
└──────────────┬───────────────────────┬─────────────────┬─────────────────┘
│ │ │
│ │ │
│ │ │
┌────────────┴─────────────┐ │ │
│ Edit a DB Setup F2 │ │ │
│ Make a New Type 1 DB F4 │ │ │
│ Make a New Type 2 DB F5 │ │ │
│ Make a New Type 3 DB F6 │ │ │
└──────────────────────────┘ │ │
│ │
┌──────────┴───────────────┐ │
│ Main Menu Title Edit │ │
│ Import Type 1 DB Data │ │
│ Read in Type 2 DB Data │ │
│ eXport Type 2 DB Data │ │
│ Build Type 3 DB Index │ │
│ Copy a QRDB Setup │ │
│ Delete a DataBase │ │
│ Erase QRDB Index/Data │ │
└──────────────────────────┘ │
│
┌────┴───────┐
│ Color F8 │
│ Monochrome │
└────────────┘
Creating a Type 1 Data Base ********
To create a Type 1 Data Base you will need a text file to import. The
USBBS list by Darwin Systems is a good file to start with. Any list
you chose to create a Type 1 Data Base from must be one in which the
data is arranged in columns. QRDB will extract it's keys from those
columns during conversion. Remove any material that isn't a part of
the structured data, such as column descriptions or List name. Column
descriptions are entered during setup, using QRDBMgr. Other info
removed from the list can be placed in the USBBS.HLP help file if
desired. A Data Base has already been setup for the USBBS list, select
the menu item Edit_a_DB_Setup or press F2 to review the setup. If you
are not going to use the Darwin USBBS list in your Data Base you can
delete it with the Delete a Data Base Function. If you are going to
use the USBBS you will need to obtain and edit a copy. Remove all text
at the begining and end of the list that isn't in structured in
columns. When you are ready to import your USBBS list select menu item
Import_Type_1_DB_Data from the Operations menu. A Dialog box will be
presented listing available control files, select USBBS.1CL, next
enter the name of the USBBS list that you want to import. After you
have imported the list you can select menu item Shell_to_QRDB and
review the new data base.
To create a Data Base other than the USBBS that was provided. Start by
determining what fields that you want to be key fields, you can have up
to 5. Now Press F4 to bring up the Make Type 1 DB Dialog Box. You will
enter Database Name, Data Base Title, Display Header and Read Level.
The Data Base title is the title that will be displayed in the QRDB
main menu. The header will be displayed with each page of data. Read
level is the minimum user level required for access to the data. Use
the Tab or Mouse to select fields.
Example:
Database Name SUPPORT
Data Base Title Computer Hardware/Software Support
Display Header Company Name Phone Number Remarks
Read Level 1
Press OK when done or press enter. Next a Dialog Box will be presented
for the defining of keys.
Key
Key Key Position
Search Prompt Length in Line
Phone Number 12 31
Company Name 5 25
At least one Key must be defined. Key Search Prompt is the Prompt QRDB
will use to describe the key to the user. Key Length is the length of
the key and Key Position in Line is the starting column that QRDBMgr
will use when extracting keys during import.
After the setup has been completed the function Import_Type_1_Db_Data
will import your textfile into the data base, the function builds
indexes and a .DAT file. QRDB limits the width of text imported into
this type 1 data base to 79 characters. More than one text file of
identical structure can be imported if necessary.
The import feature can be used to add a chunk to an existing data
base, it is suggested you backup any existing work before importing
additional data. QRDBMgr does not check the data you are importing and
improperly structured input could corrupt the data base.
Creating a Type 2 Data Base ********
A couple of sample Type 2 Data Base files have been provided. To
review their control files, run QRDBMgr press F2 and select
either of the .2CL files.
Prior to creating a Type 2 Data Base you should first decide on the
layout of the data that will be presented to the user. The number of
lines it will take to display a record and the layout of each line. A
maximum of 5 lines and a maximum of 5 fields per line are allowed.
Decide witch fields will be (K)ey fields, input (R)equired Fields or
Input (O)ptional fields. All Key fields are also input required
fields. The space used to display fields on a line can't add up to
more than 80 characters. Space required to display a field is the
length of the data field + the length of the Data Label + a colon and
a space between label and data. If not enough space is available
for the full field of the last record on a line the field will be
truncated.
Note that the QRDB (L) and (B) functions will use the first key
assigned for their sort order. Another thing to consider is that the
QRDB (B)rowse function first displays that first key, then starting at
the first field in the record it displays fields until 80 characters
are displayed then goes to the next record. If the Key field displayed
at the beginning of the line is incountered it is skiped. Spacing used
by (B)rowse is Field Length plus 2 spaces unless the length or the
display label is greater than the field length, in which case (B)rowse
will use the display label length.
When the layout has been planed, press F5 or select Add_a_type_2_DB
from the menu to bring up the Make Type 2 Dialog Box. Fill in the
Database Name, Read Write and Edit/Del Security Levels and the Data Base
Title. Use the Tab or Mouse to select fields.
Example:
Database Name: AREA408
Security Levels Read Write Edit/Del
5 5 100
Data Base Title: User Generated List of Area Code 408 BBS's
Press OK when done or press enter. Next a Dialog Box will be presented
for the defining the first line of the Data Base. You can have up to 5
lines. The inputs required to define a line are as follows.
Example:
┌───── Input ────────────────────────┐ ┌────────── Display ──────────┐
│(K)ey │ │ Label │
│(R)eq Field │ │ Start │
│(O)pt Prompt Length│ │Label Column│
K Phone Number [XXX-XXXX 8 Phone 1
K City 25 City 21
O Max Baud 5 Max Baud 56
0 0
Up to 5 fields per line can be defined, but only a total of 5 keys in
the 5 lines are all that is allowed. Remember that the total of fields
and field labels can't add up to more than 80. Oh also allow for
spaces between fields and Colons after labels.
Maximum key length is 15 characters if a field longer than 15
characters is designated as a key only the 1st 15 characters in the
field will be used in the index.
When you have defined the first line press Alt N or use the mouse to
select the next line button or you can press enter. When you have
defined the last line that you want to use Select the Done button.
Input Info .......
(K)ey-(R)eq-(O)pt decide if the field will be a (K)ey field, an input
(R)equired Field or an Input (O)ptional field. All
Key fields are also input required fields.
Prompt This is the Prompt QRDB will use when asking for Input
or describing the sorted lists that are possible.
Field Length This is the Maximum length of an entry in this field.
If it is a Key field it is also the length of the Key
unless the field is longer than 15 characters in
which case the Key length is set to 15 characters.
Display Info .....
Label This is the label placed ahead of the data when the
line is displayed, when displayed a colon will be added
to the label.
Label Start Column This is column that the first character in the label
will be placed in. When a field is displayed the
label is followed by a colon and a space and then
the data. Labels are not displayed if the field
is empty.
The data base can be left empty for user input or a comma delimited
file of data can be imported into the data base using the Operations
PullDown Menu item (Read in Type 2 DB Data). Data for import must be
set up as follows. Each record to be created must contain the same
number of lines that you have established for display by QRDB. Use a
comma to identify the end of a field's input. A comma is required for
every field in the record, including blank fields. Remember not to use
comma's in your data as they would throw things off. See the following
example.
A record from the Example Data Base "User List of Favorite BBS's"
│Phone: 408-335-4595 St: Ca City: Felton
│BBS Name: Mountain Retreat
│MaxBaud: 14400 Size: 660Meg
│Comment: Specializing in Pascal Programming
A comma delimited text file for import would look as follows
408-371-7654,Ca,Campbell,
Brown Bag Software,
2400,,
Brown Bag software support board,
201-471-6391,Nj,Passaic,
The Passaic/NJPCUG BBS,
9600,,
Fido Net Node 1:107/559,
714-824-4328,Ca,Loma Linda,
LLUMC Online Medical Library,
2400,120Meg,
,
In summary:
No blank lines, one line for each line in the record, Comma at the end
of each field including blank fields. No testing of your input is done
by QRDBMgr so make sure your input is correct and if you are adding to
an existing data base you should probably back up the data base before
starting.
If you are going to import a comma delimited list; select menu item
Read_In_Type_2_DB_Data from the Operations menu. A Dialog box will be
presented listing available control files, select the .2CL control
file for the data base you want to add to, next enter the name of the
list that you want to import. After you have imported the list you can
select menu item Shell_to_QRDB and review the new data base.
The import feature can be used to add a chunk to an existing data
base, it is suggested you backup any existing work before importing
additional data. QRDBMgr does not check the data you are importing and
improperly structured input could corrupt the data base.
Exporting Type 2 Data
QRDB will Export Type 2 DB Data to a Comma delimited file. Output will
be based on the record structure and will be in the format required
for import. Or you can format the data thru the use of a control file.
Control File structure is as follows, You will need a line in the
control file for each line of record output required. Identify the
line with the line number preceded by "L" as L1. Then on that line
identify the fields that are to be placed on the line using a
combination of Line that the record is found on a Dos Pipe character
and the position of the field on the line.
Control files must have the Extension .CTL and the same name as the
Comma delimited Text file being created. Example if WGX1.TXT is the
name of the text file being created then WGX1.CTL would be the name to
use for the control file
The following is an example control file. It consists of the one line:
L1 2|1 1|1
The above will export the BBS name and Phone number from the example
"User List of Favorite BBS's" to a comma delimited file. The name and
phone number will appear on one line in the output. In order to place
the data on two lines the control file would look as follows
L1 2|1
L2 1|1
To export to a comma delimited file, in which records are written one
to a line, you would use something like the following. The fields can
be placed in any order required.
L1 1|1 1|2 1|3 2|1 3|1 3|2 4|1
Creating a Type 3 Data Base ********
A sample Type 3 Data Base has been provided. To review it's
control files, run QRDBMgr and press F2 and select the .3CL file.
As with the type 2 data base you should have a plan as to how you want
the data to be displayed. Note that the QRDB (L), (M) and (B) functions
will use the first key assigned for their sort order. Another thing to
consider is that the QRDB (B)rowse function first displays that first
key, then starting at the first field in the record it displays fields
until 80 characters are displayed then goes to the next record. If the
Key field displayed at the beginning of the line is incountered it is
skiped. Spacing used by (B)rowse is Field Length plus 2 spaces unless
the length or the display label is greater than the field length, in
which case (B)rowse will use the display label length.
The dBase date field is converted to MM/DD/YYYY when displayed. When
listing by date field order when the date field is a Key field, QRDB
converts user input from ,MM/DD/YYYY, MM-DD-YYYY, or MM/DD/YY to the
dBase format. If users will be wanting to search for dates that are in
dBase date fields, it would be a good idea to make the date field a
Key field as the search function does not do any converting. Look at
the chaplin dbase file and help screen for an example.
When you have a plan press F6 or select Add_a_type_3_DB from the menu
to bring up the Make Type 3 Dialog Box. Fill in the Name of the .DBF
file you are going to use. If the dBase file is not in the QRDB
directory you will need the Full Path Name, INCLUDING the DRIVE . A
minor problem created by the Full Path Name is if the database is
passed to another system the dBase file must be placed in a directory
with the identical name, not a problem if the database is used on one
machine. Next input Security Levels and the Data Base Title. Use the
Tab or Mouse to select fields.
Example:
.DBF file Name: CHAPLIN.DBF (or C:\dBase\Chaplin.Dbf)
Read Security Level: 1
Data Base Title: A data base of Chaplin movies
Press OK when done or press enter. Next a Dialog Box will be presented
for the defining the layout of the dBase data on the screen.
Example:
╔═[■]═══════════════════════ Type 3 Db Fields ════════════════════════
║ ┌─ dBase Field ───┐ ┌────────── QRDB Handling Instructions ──────────┐
║ │ │ │(N)/A │ ║
║ │ │ │(O)pt │ ║
║ │ │ │(R)eq │ ║
║ │Name Typ Len│ │(K)ey Display Label Line Col │ ║
║
║ TITLE C 30 O Title 1 1
║ COMPANY C 15 O Company 1 38
║ RELEASE_D D 10 K Released 4 1
║ DIRECTOR C 30 O Director 3 1
║ WRITER C 30 O Writer 3 38
║ FEETLENGT N 5 N 0 0
║ FEET_SHOT N 6 N 0 0
║ REELS N 4 N 0 0
║ MINUTELEN N 3 N 0 0
║ START_DAT D 10 N 0 0
║ END_DATE D 10 N 0 0
║ ACTOR C 30 O Actor 2 1
║ ACTRESS C 30 K Actress 2 38
║ SUPPORT M 10 O Support Memo 5 1
║ MUSIC M 10 O Music Memo 5 26
║ CREDITS M 10 O Credits Memo 5 52
║
dBase Field Info .......
The dBase field Name, Type and Length are
displayed as an aid in working out the Handling
info required by QRDB.
QRDB Handling Info .......
║ │ │ │(N)/A │ ║
║ │ │ │(O)pt │ ║
║ │ │ │(R)eq │ ║
║ │Name Typ Len│ │(K)ey Display Label Line Col │ ║
(N)/A-(O)pt-(R)eq- Decide if the field will be a (K)ey field, a (D)isplay
(K)ey Field or a (N)ot Required Field. Fields coded (N)
are not used by QRDB. Memo fields must be coded (O)
or (N), they can NOT be a key field. In the example
the fields SUPPORT, MUSIC and CREDITS are memo
fields.
A numeric field as a key can have problems
indexing. Depending on how the key field was
input. dBase, dBuddy or QRDB. Don't use a numeric
field as a key unless all input is via one
system.
Display Label This is the Label QRDB will use when displaying the
associated field data.
Line This is the line that the Label and the Field data
data will be placed on when QRDB is displaying the
data.
Col This is column that the first character in the label
will be placed in. When a field is displayed the
label is followed by a colon and a space and then
the data. Labels are not displayed if the field
is empty.
After the above Setup is complete go to the operations menu and Build
the Type 3 DB Index. You must Build indexes even if you are starting
with a empty database. If ever changes are made to the .Dbf database
files outside of QRDB you will have to repeat this Build function.
This function can be time consuming, I just indexed a 39,945 record
dBase file. The .dbf file size is 5073k and the setup uses 3 key
fields. Indexing on a 386sx 20Mz machine took 15 Hours. As a
comparison, indexing a file of 2,348 records that had 2 key fields and
a dBase .dbf file size of 761k took less than 2 minutes. The increase
in time required for the Build process is not linear as you can see.
If you would like to use the type 3 data base, let's say for it's Memo
display capability and don't use a dBase compatable Data Base program.
You can use the Shareware program dBuddy to create the required files.
dBuddy (Data Base Buddy) is a dBase tool, it will build dBase III or
IV compatable Dbf and .Dbt files, either empty dBase files or it can
extract data from text files. dBuddy will Export to character
delimited files or text files, memo's are also exported.
When used to create a new type 3 setup the copy function will copy and
create a empty .dbf file. QRDBmgr does not create associated memo
files and complains that they are missing, not a problem, as QRDB will
create the memo files the first time a memo is added. The empty file
can be replaced with a file containing data as long as the fields are
an exact match.
In order to relocate a .DBF file that has been identified with a full
pathname you will have to use the (E)rase QRDB Index/Data function. It
wipes out everything but the .3CL and .DBF/DBT files. Then use edit a
DB setup to show the new pathname and then Build the type 3 DB Index.
The .3CL file contains your setup so nothing is lost except the indexes
and a pointer to the directory that contains the .DBF/DBT files. The
same process can be used to change any .3CL field to which changes arn't
allowed. You can also use the (E)rase QRDB Index/Data function to erase
references to indexes that don't exist. Such as when you are given a
.DDF and .3CL file without indexes.
ListKeys:
LISTKEYS.EXE is a utility that has been added to serve as an aid to those
adding a REC_OWNER field to an existing database. It will list the Owners
of records shown in the *O.IDX file.
It may have other uses. The utility will list the keys in any .IDX
file that indexes a key field that is at least 15 characters long.
Usage : ListKeys <Index File Name> Example : ListKeys USERBBSO.IDX
Disclaimer agreement:
Users of QRDB and QRDBMGR must except the following disclaimer
agreement:
QRDB and it's utilities are provided AS IS. The Author makes no
Warranty of any kind, expressed or implied. In addition THE AUTHOR
ASSUMES NO LIABILITY FOR DAMAGES WHICH MAY RESULT WHICH MAY RESULT
FROM THE USE OF QRDB, QRDBMGR or associated utilities.
History:
Version 1.00 Initial Release
Version 1.01 Added a Main Menu help function
Version 1.02 Added a type 2 data import function and fixed
a bug in the type 3 data dase setup functions
Version 1.03 Changed screens and added local mode default.
Version 1.04 MultiNode support added
Version 1.05 Beta Release switched to use of DorInfo1.Def
in order to make the door useable on more systems.
Version 1.06 Release of DorInfo1.Def version
Version 1.07 Added support for dBase III and dBase IV memos
Added support for dual word searches
Version 1.08 Improved dBase searches added dual word searches
and speed.
Version 1.09 Miner changes mainly in docs to aid in setup
Version 2.0 Changed QRDBMgr to allow the rebuilding of Index
files if changes have been made to the dBase
.DBF files. Changed QRDB to allow smoother exit
from Search functions.
Version 2.1 Added Browse function to type 2 and 3 database
menus. Added a Pause Page Toggle to all types.
Stoped scrolling the screen when displaying
the number of records searched. QRDB now overwrites
the message for a cleaner display.
Version 2.2 In type 2 database if Read access was not given then
then Write access was locked out. QRDB will now
allow you to give a user Write access without giving
read access.
Version 2.3 Improved Browse feature. Added capability to a Type 2
database to a comma delimited file.
Version 2.3a Main menu can be bypass, command line option, fix.
Version 2.3b Program now gives full pathname in .Dat not found
Error message. Moved the Browse function to the
top position in the menu. Changed the timer routine
I was using, it could possibly lock a system.
Version 2.4 Added additional drop carrier protection, added
escape from data entry feature.
Version 3.0 Beta version, Major upgrade, adds edit to type 2
database and adds Add, Edit and Delete to type 3.
User has edit/delete access to any record he creates.
3.0B Fixed level problem, a level equal to or greater than
the level set in QRDB now has access. Prior to fix
user level had to be greater for access.
3.1 Beta status Removed, Main Menu Help problem fixed and
Memo Display bug fixed.
3.2 Type 3 Browse Bug fix.
3.3 Cosmetic Bug fix, the word changed is no longer
displayed when entering a dBase record.
3.4 dBase file handler Bug Fix.
3.5 Fixed disappearing cursor problem,
Improved "Build Type 3 DB Index" routines.
Added type 3 db to QRDBMgr copy function
Fixed problem QRDB had in using a empty type 3 .dbf
3.6 Beta Version Will now use Door.Sys or DorInfo1.Def
3.7 Door.Sys version as yet not reported OK
Dos 6 NO GO fixed.
3.7a Beta Status removed, Documentation change only.
3.8 Type 3 Bug Fix
3.9a Fixed linecount problem and problem of two keys
being left at times, when a keyfield was edited.
The new key and the old key both pointing to the
same record.
3.9b The routine I was using to check for adequate memory
did not work properly on all systems. I have removed
it from the program.
3.9c Fixed Memo delete function
3.9d Improved exit from last page during Browse
3.9f Fixes problem where no more than two pages of recs
with duplicate keys would be displayed when browseing.
Also fixed hang while searching problem.
3.9g Changed QRDBMgr to allow changes to .3CL files
after Index files have been erased. Changed this doc.
file to reflect that change.
3.9h Corrected a problem with Userinf.3cl, it called for a
.dbf file in a d:\QRDBTEST directory. Discontinued the
use of a QRDB.Key file. The file was not a true key,
QRDB has never been crippled in any way. That key file
gave the impression that the program was crippled.
4.0 Added QRDBLang.Dbf, it contains the text used by QRDB
in menu's and prompts and can be edited.
4.0a Fixed bug associated with the use of empty .dbf files
that use a memo field. Also fixed a bug that prevented
the entering of a start place in the DataBase edit
picklist.
4.0b Fixed problem where-in Qrdb would not use dbase files
located in directories other than the QRDB directory.
Fixed Problem with dBase Memo Editor routines.
4.0c Bug introduced in 4.0b fixed
4.0d A couple more bugs fixed, Type 3 Kill function and
Help missing from Options menu.
4.0e Added code that should make QRDB OS2 aware (not tested).
QRDB will now read DorInfo*.Def, previous versions only
wanted Dorinfo1.Def. A seperate version is no longer needed
for RBBS, a RBBS command line option was added. Increased
maximum length of search string from 20 to 60 characters.
4.0f Problems with user generated record security corrected.
4.1 Local use no longer bypasses security levels. This should
help when debuging. QRDBMGR was having problems with
.DBF files located in directories other than the QRDB dir.
4.1a More problems with QRDBMGR and .DBF files located in
directories other than the QRDB dir.
4.2 Added expanded User Record Ownership support. Added a new
search feature, primarly for use with very large databases.
Added ListKeys.Exe utility. Added a couple of additional
sample database's. Expanded the Docs a little.
4.2a A type 1 database with the main menu bypassed would hang
if a (Q) was pressed when on the options menu.
4.2b Manager had a problem with type 1 database. Another (Q)
hang problem.
ShareWare, a $25 registration fee is required. When you register
send me a 65 character message of your choice. You will be sent a
new QRDB.Dat file. Your 65 character message will replace the
following line in the QRDB menu.
╠════════════════════════════════════════════════════════════════════════╣
║ QRDB Door - Mt. Retreat Software - Support BBS (408)335-4595 ║
╚════════════════════════════════════════════════════════════════════════╝
If you decide to continue useing QRDB after a 90 day trial period
you are expected to register. This is a one time registration the
message created for your system will work with all future revisions.
Please send your registration fee to:
John Jamieson
Mountain Retreat Software
555 Buckeye St.
Felton Ca, 95018
For support contact:
Fidonet 1:216/506
Internet John.Jamieson@f506.n216.z1.FIDONET.ORG
BBS phone (408)335-4595
Voice (408)335-4672