--------------------------------------------------------------------------------
CONFLIST v1.2 - PCBoard Conference list processor                 May 92 Release
--------------------------------------------------------------------------------

(c)1991,92 Key Research and Development.
Written by Chris Lautenbach

NEW IN THIS VERSION
~~~~~~~~~~~~~~~~~~~
A couple of little bugs have been fixed with color processing, and one where
an odd number of conferences would end up having itself truncated to an even
number.

In addition, a new specification type has been added; SINGLE.  This is for
when you have one conference that needs to be different from the rest.
Some people tried using RANGE for this, but specifying RANGE 60-60 for
example, would cause CONFLIST to produce some pretty strange results.

So to avoid any problems, I've added this new type.

Also, the following switches have been added:

/?  -  shows help on available switches
/n  -  negates adding of PCB @X codes.  Leaves output file pure ASCII.
/v  -  verbose.  Gives all sorts of internal info, to help you find out
       what's wrong with your config file if something odd is happening.

The next version will support a couple of new styles, including multi-page,
color-coded, four-column color-coded, and multi-page four-column color-coded.

INTRODUCTION
~~~~~~~~~~~~
I wrote this utility, because on my BBS, we were constantly adding new nets,
new local conferences, changing conference names, etc etc.  I didn't want to
have to waste time in an ANSI editor all the time making new menus.  I
decided to sit down and write this program.

The program, in a nutshell, reads your CNAMES file, and produces a file 
called CNFN.

CONFIGURING CONFLIST
~~~~~~~~~~~~~~~~~~~~
Your config file (CONFLIST.CFG) should look something like this:

--------------------------------------------------------------------------------
bordercolor =@X1F
numcolor    =@X1E
netcolor    =@X13
namecolor   =@X1B
undefined   =<blank>
N-,front    =(NANet)
S-,front    =(ShadowNET)
-DV,inside  =(DevNet)
1-20,range  =(Local)
41,single   =Private!
--------------------------------------------------------------------------------

The first five lines are static - meaning you should leave them there, in the
order they are in.  The fields are as follows:

Bordercolor  - the color for the border of the conference menu.
Numcolor     - the color for the conference numbers on the menu.
Netcolor     - the color for the 'net' that the conference belongs to.
Namecolor    - the color for the conference name itself.

Undefined    - this is the text that will be put beside conferences that
               have no definition below.  (ie.  Local conferences) If you
               want this to be blank, merely put "<blank>" in that field.

NOTE: The colors come predefined, as close to what PCB menus,etc would
      normally look like.  Feel free to change them, just refer to the
      PCBoard manual for actual @X?? color codes.  Theoretically, you
      should be able to put ANSI codes in here instead of the PCB codes,
      but I've never tried it.  If you do - let me know if it works.

DEFINING CONFERENCES
~~~~~~~~~~~~~~~~~~~~
On our BBS, we've set up all the netmailed conferences, so that they are
either suffixed or prefixed by a distinctive network 'id' so-to-speak.  For
example; the NANet administration conference would be "N-NETADMIN", and 
sysops would be "N-SYSOPS" and so-on and so-forth.  This is what the first
method of indexing conferences is for:

N-,front=(NANet)
^   ^      ^
|   |      |
|   |      +------ This specifies the name of the network, how you'd like it
|   |              to appear in your CNFN file beside the conference name.
|   |
|   +------------- This tells CONFLIST, to look for the conference identifier
|                  at the beginning of the conference name.  The other method
|                  similar to this one is, "inside", which will look for the
|                  identifier ANYWHERE in the conference name.  (This can 
|                  cause problems if your naming conventions are too simply
|                  chosen.)
|
+----------------- And this - is the conference identifer.  Therefore, this
                   whole line - would trap any conferences, that BEGIN with
                   "N-"

The second:

-DV,inside  =(DevNet)
^   ^         ^
|   |         |
|   |         +--- Again, the name of the network.
|   |
|   |
|   +------------- This tells CONFLIST that the conference identifier could
|                  could be located anywhere within the string. (ie. BA-DV,
|                  -DVBAD, L-DV-RT)
|
+----------------- See above.

The third:

0-20,range=(Local)
 ^     ^     ^
 |     |     |
 |     |     +---- Again, the name of the network.
 |     |
 |     +---------- This tells CONFLIST to to include all conferences within
 |                 a specified range under this network name.
 |
 +---------------- This is the range of conferences to include.  Just make                                      
                   sure there are no spaces in here.

And the final and newest:

5,single    =(DevNet)
^   ^         ^
|   |         |
|   |         +--- Again, the name of the network.
|   |
|   |
|   +------------- CONFLIST will only give this identifier to ONE conference,
|                  and that's the one specified in the number at the beginning
|                  of this statement.
|
+----------------- The number of the conference this identifier belongs to.

THE WRAP-UP
~~~~~~~~~~~
CONFLIST is small and fast.  It's well under 20k in size, and on my 386-25,
does over 200 conferences per second in non-verbose mode.  There is no limit
to the maximum number of conferences, and a limit of 500 defined networks.

The only important thing to know, is that CONFLIST.EXE, CONFLIST.CFG and your
CNAMES file must all be in the same directory.

In addition, I have only tested CONFLIST with PCBoard v14.5a/E3.  I doubt it
makes any difference what /XX version you're running, but I wouldn't try it
with anything less than PCB v14.5.

If you find this program useful, registration is only $15US.  Registration
entitles you to download the registered version of CONFLIST, which allows you
to specify the path of your CNAMES file, and the output path/filename for your
CNFN file, and free upgrades forever.

Please, cheques and money orders only, do not send cash.  Mail registrations
to:

                     Key Research and Development
                          17 Annapearl Crt,
                         Willowdale, Ontario
                           M2N 4H6 CANADA

Make cheques payable to "Key Research and Development".

Also, call our support BBS:

       Toronto Twilight Communications

       (416) 733-9012

       5 nodes, 3.2gb online, two HST's, one Dual v.32bis!
       Online role-playing games, RoseMail, Qmail, many online games!
       NANet, ShadowNet, DevNet, EchoNet, BahNet, City2City mail networks
       online, more coming soon.

--------------------------------------------------------------------------------
Other fantastic Key Research and Development products           8-)
--------------------------------------------------------------------------------

  GENius v1.5 - Complete personal communications system.  Includes;
                internal X/Y/Zmodem, full color EMS/XMS/RAM/DISK backscroll,
                up to 65,000 lines, full-featured script language, amazing
                macro capabilities and much much more!  You have to see it
                to believe it!

  PCMail Elite v1.0 - A great little .QWK mail reader, from the people
                      who brought you GEnius.  Features are too many 
                      to list.  Beats all the others by far.

  MiniDOS v1.2 - A fantastic miniature DOS shell.  Refers to files by
                 numbers, not names.  This shortens most commands to
                 a single letter, plus the number of the file to apply
                 it to.  Standard DOS syntax is greatly relaxed as well,
                 permitting use of / instead of \ in most cases.  File
                 tagging (batch deletion/copying/etc) fully supported,
                 internal support for shareware editors, list programs,
                 and archivers.  Uses only 12k of RAM when running your
                 applications.

  TexTils v1.0 - Text file manipulation utilites, remove lines from
                 files, save them to other files.  Change all the
                 occurances of one string in one or many files. Fully
                 command-line driven.  Easy to use.  Comes with
                 Turbo Pascal v6.0 source code.

  -------------------------------------------------------------------
  GEnius is a trademark of Key Research and Development.
  PC Mail Elite is a trademark of Key Research and Development.
  ITCS is a trademark of Key Research and Development.
  PCBoard is a trademark of Clark Development Corporation
  -------------------------------------------------------------------
