home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
qfb110.zip
/
Qfb.Doc
< prev
next >
Wrap
Text File
|
1996-08-15
|
14KB
|
325 lines
**************************************************************
* *
* *
* ***** ******* ****** *
* ** ** ** * ** ** *
* ** ** ** * ** ** *
* ** ** **** ***** *
* ** ** ** * ** ** *
* ** ** ** ** ** *
* ***** * **** ****** *
* *
* *
* A Quick File Base Builder *
* v 1.10 for Maximus 3.xx (*) *
* *
**************************************************************
* *
* (C) Copyright 1995-1996 by Alberto Pasquale *
* *
* A L L R I G H T S R E S E R V E D *
* *
* F R E E W A R E *
* *
**************************************************************
* Maximus is a trademark of Lanius Corporation
(c) Copyright 1995-1996 by Alberto Pasquale
F R E E W A R E
LICENSE
You may copy, distribute and use this program freely, provided
you do not modify the original archive and Copyrights.
DISCLAIMER
You are entitled to use this freeware program "as is". No
guarantee can be given on the performance of the program. The
author will not be liable for any damage or loss related to the
use of this program.
Overview
QFB is a substitute for the FB (Dos) or FBP (OS/2) program by
Scott J. Dudley for building a Maximus 3.xx file-base (Maximus
is a trademark of Lanius Corporation).
Main characteristics:
- Generates UniFiles.Idx in addition to the standard
MaxFiles.Idx; UniFiles.Idx is an index file like MaxFiles.Idx
but with no duplicates (in the case of dupes, the file in the
first defined area is kept in the index).
You can use UniFiles.Idx as a file-request index for your
mailer (e.g. BinkleyTerm (c) Bit Bucket Software)
- Support for multi-line descriptions.
Usually the description of a file in the FILES.BBS is
contained in a single physical line: Maximus will word wrap
and align when displaying it to the user.
The problems come when you import the multi-line file_id.diz
descriptions into the FILES.BBS in order to make Maximus show
them to the user keeping the original formatting.
As a matter of facts, Maximus (partially) supports
"continuation" lines that begin with '|' or '+' (second or
greater column). However many people like using NO
continuation character: they add multi-line descriptions one
line after another, indenting the subsequent lines so that
Maximus shows them aligned (but it does not recognize them in
the case of hurl, kill etc.). File management programs are
then used to correctly manage the areas.
QFB supports a user-defined continuation character and
position, which default to the space ' ' and 31 (columns)
respectively (see the -c command line switch).
QFB adds continuation lines to the FILES.DMP without loosing
formatting. You can verify this by using the L)ocate or
N)ewfiles command of Maximus. FB/FBP, on the contrary,
concatenate all the lines together (when they area recognized
as continuation lines...).
There is a side effect, though: The L)ocate and N)ewfiles
commands show the continuation lines aligned at left.
Since this behaviour is not appreciated by some SysOps, the
"-d" command line switch allows to output a unique-line
description to FILES.DMP: original formatting is lost (as with
FB/FBP) but the entire description is word-wrapped and aligned
by Maximus.
- Very fast update operation (when a list of areas is specified
on the command line or the -n switch is used).
- Fast operation even in the full-build.
- The -n switch allows to update the filebase by compiling only
modified areas, even if you do not have a list of area names
available.
- Area names can be specified using the '?' and '*' wildcards as
per the OS/2 rules. E.G. "*OS2*" includes all areas whose name
contains "OS2".
- Can be used with CD-ROMs with no need to copy the FILES.BBS to
a hard-disk directory, provided you don't really need the
DAT/DMP/IDX files for the area: the global indexes
(MaxFiles.Idx and UniFiles.Idx) will contain the data for
these areas so that File-Request, Global Download and Upload
Dupe Check will work anyway.
- Does not abort nor prompt user in the case of "drive not
ready" or "write protected" errors.
- Retries for many seconds in case of a sharing violation.
Please note that in the case of protracted inability to open a
DAT/DMP/IDX file for write, QFB could report a "Write
Protected" area instead of the sharing violation. It will
proceed anyway as if the unit were write protected.
- All ApWorks programs that access the FileBase use a
"FileBase.Bsy" flag in the Maximus system directory to avoid
concurrent writes to the same filebase. There is no problem in
the case the FileBase.Bsy flag is not deleted due to abnormal
terminations or power failures, so you do not need to delete
it in the startup.cmd/autoexec.bat as with other programs.
Usage
The command line parameters are the same as with FB/FBP, with a
few exceptions:
QFB [<switches>] [<area> ...]
If no command line parameter is given, the help is shown. If no
<area> is given and the -n switch is not used, all areas are
compiled.
-a
Compile all areas.
This is the default, but the switch is needed when no
other switches are used (QFB shows help on an empty
command).
-c[<nn>[<c>|#<nnn>]]
The default for continuation column/character is 31/' '.
That is, if a line that starts with 31 spaces is found
after a description line in the FILES.BBS, then it is
taken as a continuation line. Empty lines are also taken
as continuation lines, in order to allow correct
processing of file_id.diz descriptions that contain
blank lines.
You can disable multi-line description support by using
"-c" alone.
e.g. -c (disables multi-line support)
You can override the number of blank columns required by
using "-c<nn>" where <nn> specifies the number of spaces
needed at the start of a line to consider it a
continuation line.
e.g. -c34 (34 spaces required)
If you want to use some special character (not the
simple space) as a continuation character, then you must
specify it in the -c switch after the <nn>. You can
either specify the character directly (<c>) or by its
ASCII code (#<nnn>). Please note that the '|'
(frequently used) is the symbol for pipe, so it CANNOT
be used on a command line: you must either specify its
ASCII code or prefix it with an escape character.
e.g. -c29+ (the continuation lines start with '+')
-c29#124 (124 is the ASCII code for '|')
-c29^| (OS/2 escape sequence for '|')
Since the continuation lines usually have a space after
the continuation character, QFB skips it if present.
Example:
TEST.ZIP This is a long description
| for the file test.zip
|
| Author: <author>
| Shareware US$30
Note: the <nn> number of spaces is essential when the
continuation character is not specified (simple
space). On the contrary, it is not currently
really meaningful when the continuation character
is different from space (the only difference is
between 0 and >0).
For example, if you use "-c29#124", QFB accepts as
continuation lines all those whose first non-space
character is '|', provided it is NOT in the first
column. To make QFB accept a continuation
character in the first column you must specify 0
as <nn> ("-c00#124").
-d
Output Unique-Line descriptions to FILES.DMP.
Avoids multi-line descriptions in FILES.DMP, the file
where Maximus looks for the file descriptions when using
the filebase (L)ocate and N)ewfiles commands).
When multi-line description support is used, QFB outputs
the entire description string (line feeds included) to
the FILES.DMP, so that the Maximus L)ocate and N)ewfiles
commands respect the original formatting.
Unfortunately there is a side-effect: the continuation
lines are aligned at left, and this is not appreciated by
some SysOps.
When this switch is used, QFB changes the linefeeds to
spaces, so that the DMP description is made of a long
unique line: the original formatting is lost but the
description will be aligned and word-wrapped by Maximus
when the L)ocate or N)ewfiles commands are used.
-f<file>
Use <file> as farea.dat.
This overrides the information from Max.Prm.
-g
Compile global index only.
The DAT/DMP/IDX files of each area are not generated.
Do not use this switch if you are not really sure you do
not need these files.
-n
Compile areas with new Files.Bbs.
All areas that have a Files.Bbs newer than the Files.Idx
will be compiled and the MaxFiles/UniFiles.idx updated;
areas marked as "Type CD" are skipped.
This switch is meaningless when the -g switch has been
used (files.idx not generated).
-p<file>
Use <file> as the Maximus .prm file.
Overrides the MAXIMUS environment var.
The .prm extension is added if no extension is given.
-q
Quiet mode.
QFB reports errors only.
-s
Skip slow areas marked as "Type CD".
The indexes are updated after scanning all non-slow
areas.
-u
Scan upload paths.
This switch is used by Maximus in RunFB.Cmd (.Bat for
DOS) when the update of upload areas is needed.
The Upload paths for the listed areas are scanned
instead of the download ones, provided the upload path
is in a defined Maximus area.
<area> can include wildcards ('?', '*') in the OS/2 way.
Errorlevels:
7 Out of memory
6 Timeout waiting for a busy FileBase
5 FArea.Dat not found
4 Max.Prm not found: either MAXIMUS environment variable or
-p<file> command line switch must point to a valid Max 3.xx
PRM file.
3 Abnormal termination
2 Error
1 Help requested
0 OK
IMPORTANT NOTE for the Dos version:
QFB is a 32 bit application: it requires the Dos4GW.Exe
dos extender in your path.