TAGFILE.MEX		10 Sept 1995  by Herman Freeman 1:308/90

This archive includes:

TAGFILE.TXT	-	This file.
TAGFILE.MEX	-	The program source.
TAGFILE.VM	-	Ready-to-wear compiled module.
FILE_ID.DIZ	-	DIZ-style description.


A MEX program to allow Maximus v3.0 to tag file(s) with a single keystroke(s).
It supports the following Maximus features:

 	Extended Descriptions
        Download Counters
        Free download time and/or bytes (/tb)
	Embedded Paths in Files.BBS        
        Manual & Auto File Date/Size

No support is presently included for:
  	
	Sorted listings
	Embedded Comments (including headers, i.e., DownSort)
	Untagging interactively (still use Tag Menu Command)
        
This program replaces the File_Titles menu command in a Maximus 3.0 Files menu.
To install this program, locate all references to the File_Titles command in
MENUS.CTL and replace the command with a reference to this MEX routine.  For
Example, if you have a line like this;

        File_Titles                            Demoted "File titles"

change it to look like this;

        MEX             M\Tagfile              Demoted "File titles"

Additionally, place the Tagfile.VM file in the MEX subdir of your BBS (usual-
ly C:\MAX\M).

TAGFILE.MEX uses the data files produced by FB.EXE (or FBP.EXE for OS/2), the
File DataBase Utility included with Maximus.  If TAGFILE is unable to process
the FB data files, it will call the internal File_Titles routine, so your users
will be able to tag files in the old fashion way.

You'll be interested to know that FB processes a download counter field if it
is present (and formatted as [snn] where s = 0 or more spaces and nn is a
numeric value.  the data is enclosed in square braces) at the beginning of the
description of a file in FILES.BBS!  TAGFILE.MEX detects the download count
and displays the value.  Also, if a file is flagged as Free Bytes and/or Free
Time, this information is automatically displayed to the user.

This routine uses the (forced upper-case) letters A-Z to tag files.  In the
unlikely event that a user has a display length greater than 26 lines, AND you
have a file area with a run of more than 26 consecutive files with *NO* desc-
riptions, TAGFILE will display only 26 lines.  If the user enters a character
other than A-Z, it is ignored (except <Enter>, of course).  Tag characters may
be entered in any order.  Ranges must be explictly filled, ABCDE must be enter-
ed to tag files A,B,C,D & E.  A-F will tag only file A and file F. 

The tag queue is *NOT* checked to see if the file is already tagged.  I may add
this later, but I didn't see this as major concern.  If a user wants to dl the
same file several times, what do I care, really?

This program is free.  Use it as you like, hack it beyond all recognition.
If it does something odd on your system, I *might* try to fix it, so let me
know, but I make no warranty or assurance.  If you use this program, I'd like
to know.  I'd *really* like to know.  Drop me netmail at 1:308/90.

Programmers might want to take note of the routine to convert an internal Max
date (stored as a bit-mapped unsigned long) to a MEX date_stamp structure.
Many data files created and used by Maximus use this date format, and the rout-
ine bit_date_to_stamp() can be used to handle these.

I really enjoy programming in MEX, and am actually *learning* something by
doing it.  If you are even slightly fluent in any language (even BASIC, like
me), try it.  Try it *hard*.  After banging my head upon nearby objects many,
many, times, I'm having FUN! (ain't delirium great?)

regards,
Herman Freeman 1:308/90
