

                        MaxFile/PM - VERSION 1.28

        COPYRIGHT 1993,94,95 by Craig Morrison. All Rights Reserved.

                A FILES.BBS Manager for Presentation Manager



        Portions of the header files used in compilation are:

          Copyright (C) 1992 by Scott Dudley
          Copyright (C) 1993 by Aki Antman
          Copyright (C) 1994 by Marco Maccaferri

        MSGAPI portions of the Announce Files option are:

          Copyright 1991,94 by Scott J. Dudley.  All rights reserved.
          "Squish" and "Maximus" are trademarks of Lanius Corporation.

        From the Development Team of:

          Craig Morrison - MaxFile/PM Development
            1:201/60@fidonet.org

          Ronald Van Iwaarden - MaxFile/2 Development
            1:104/338@fidonet.org

        UNRAR.EXE is included in the distribution archive by special
        permission from:

          Andrey Spasibozhko

        UNRAR.EXE is:

          Copyright 1994 by Eugene Roshal



Special Thanks go out to:

 Mark Kimes

  For putting up with my never ending questions and general bull-headedness
  when it comes to programming under OS/2. (Very handy guy to talk to when it
  comes to programming in general!)

 Andrey Spasibozhko

  For allowing me to include UNRAR.EXE as a part of the archive. RAR is an
  up and coming compression utility, if you haven't done so yet, it might
  be worth your while to take a look at it. The authors are very responsive
  to all inquiries.

 Elliott Goodman

  Beta Tester
  ANNOUNCE.CMD author

 Philip Perlman

  Beta Tester

 Ronald Van Iwaarden

  Cohort in crime and Beta Tester


------------------------------------------------------------------------------
--- Foreword -----------------------------------------------------------------
------------------------------------------------------------------------------

        MaxFile/PM is a FILES.BBS manager that runs under Presentation
        Manager. While it was written with the Maximus-CBCS in mind,
        any BBS software package that uses the standard FILES.BBS
        format is supported.

        Including these features:

            *  All Files and New Files List Generation

            *  Auto Adopt Orphaned Files with File Description Import

            *  Automatic Generation of FILES.BBS Headers

            *  Built-In Support for Maximus 2.xx/3.xx, LoraBBS, SuperBBS

            *  Check for Duplicate Files

            *  Context Sensitive Online Help

            *  Create File Announcements in *.MSG/Squish Message Bases

            *  Create File Attaches for *.MSG/Squish Message Bases

            *  Create File Requests for *.MSG/Squish Message Bases

            *  Create Text Okfiles for Mailers

            *  Drag and Drop Enabled

            *  Extract Archives

            *  Extended Description Support

            *  FILE_ID.DIZ, DESC.SDI, SDN.ID Import

            *  Generic Configuration for ANY FILES.BBS Based File System

            *  Kill or Move Outdated Files

            *  Process Received File Requests and Toss them to Proper Area
               with File Descriptions

            *  Purge Duplicate File Entries

            *  Rearchive Files to a Preferred Format

            *  Remove Missing or Orphaned File Entries

            *  REXX Macro Support

            *  Scan through Documentation Files to Cut and Paste a
               Description

            *  Sorts File Areas By Name, Date, Size or Description. Comments
               are left intact and in place

            *  Support for ARC, ARJ, HA, LZH, RAR, UC2, ZIP and ZOO archivers

            *  Tests Archives

            *  User Definable Button Bars for Quick Function Access

            *  User Definable Shift Key Functions

            *  Virus Scanner Support


------------------------------------------------------------------------------
--- Registration -------------------------------------------------------------
------------------------------------------------------------------------------

        I'm going to keep this short, sweet and to the point. It is
        $25 to register the program. You have unrestricted use of this
        program for the first 45 days you use it. After that period of
        time the program will display a registration incentive dialog
        for 45 seconds each time you run it.

        MaxFile/PM is not freeware, it is shareware, you are expected
        to register the program if you continue using it.

        Please print out and read the REGISTER.FRM file that is included
        in the archive for more information on registering the program.

        Registration provides me with the incentive to keep working on
        the program, it's all up to you folks that use the program. I
        treat registered users VERY well.

        'Nuff said...


------------------------------------------------------------------------------
--- Support ------------------------------------------------------------------
------------------------------------------------------------------------------

        If you need to contact me about the program I can be reached
        in a number of places. NetMail will get you the fastest
        response, but I read the OS2PRODSUP, OS2BBS and MUFFIN
        conferences everyday and intend on answering any questions
        posted there. There is also a local conference on my BBS
        called MFILEPMSUP that you are more than welcome to poll for.
        Contact either myself, Elliott Goodman at 1:102/1319 or Pete
        Norloff at 1:109/347 for more information about getting hooked
        up.

        Due to the large cost in crashing netmail all over the world I
        will only be sending replies out crash to registered users who
        report a problem. Sorry folks, but most of my income is
        generated by these projects. If they don't get registered I
        can't provide free support. I will respond to everyone who sends
        netmail, but it will be routed netmail in most cases.

        While I will answer questions from those of you who have not
        registered the program, you will get a much quicker response
        from me if you have.

        I *will* support MaxFile/PM, all you need to do is ask.


------------------------------------------------------------------------------
--- Before You Start - READ THIS!! -------------------------------------------
------------------------------------------------------------------------------

        The default installation of OS/2 defines Mouse Button 1 as the
        left button and Mouse Button 2 as the right button. Please
        keep this in mind as you read through this document if you
        have redefined your mouse buttons.

        A word to the wise here..

                     BACKUP *BEFORE* USING MAXFILE/PM !

        Here comes the standard disclaimer...I don't promise that
        MaxFile/PM will do anything for you except take up space on
        your hard drive. While I am fairly certain I have got all the
        nasties out of it, there is a chance that I may have missed
        something. So please be safe and backup prior to using the
        program. Suffice it to say, you have been warned..


------------------------------------------------------------------------------
--- Configuring MaxFile/PM ---------------------------------------------------
------------------------------------------------------------------------------

        To configure MaxFile/PM for use, simply start MaxFile/PM by
        typing MAXFMPM and pressing ENTER at an OS/2 Command Prompt.
        The MaxFile/PM Settings notebook will be presented for you, so
        that you can enter the vital information about your system and
        BBS setup.

        The Settings Notebook is where you configure MaxFile/PM so
        that it fits your particular system. There are a lot of
        options here, some required, some not, all depending on
        whether you want to be able to use that particular feature or
        not. There are 4 major categories of information here; Main,
        Archivers, Viewers and Other. Some of the categories have more
        than one page devoted to them. A detailed discussion of the
        categories follows.

Main - Basic information

        The Main section of the notebook consists of three pages that
        contain the information that tells MaxFile/PM the basics about
        your BBS configuration and how to handle certain options.

Main - Page 1

    Registration Key

        Your registration key, if you have one. If not leave it blank.

        Enter the registration key exactly the same as it is given to you.

    Registration Name

        Your name, this works in conjunction with the Registration Key
        field. MaxFile/PM hashes your name against your Key to see if
        you really are a registered user.

        The Registration XXXX fields when filled out properly, stop
        the usage timer.

    BBS Package

        Four choices here:

            Maximus
            Maximus 3.0
            Lora
            SuperBBS
            Generic

        Simply select one from the drop down list box. Or type in one
        of the names in the list above.

    BBS Directory

        This is the directory that your BBS software resides in. Enter
        the FULL path specification.

    Temp Directory

        This is the FULL path to an EXISTING directory that MaxFile/PM
        can use to store temporary files in and use for rearchiving
        files. Don't use this directory for ANYTHING else while
        MaxFile/PM is running. EVERYTHING, INCLUDING ANY
        SUB-DIRECTORIES WILL BE REMOVED BEFORE Maxfile/PM TERMINATES!

    File Area Data

        This is the FULL path and filename of the file that contains
        your file area definitions. For Maximus 2.xx users this will
        be AREA.DAT, Maximus 3.0 users FAREA.DAT, for Lora users this
        will be SYSFILE.DAT, for SuperBBS users this will be
        FLSEARCH.BBS, for those using the Generic setup this should be
        the name of the text file you created according the guidelines
        in the "Generic File Area Definitions" section.

    File Database Utility

        The next field is for the filename of your File Database
        Utility. For Maximus this will be either FB.EXE or FBP.EXE. On
        my system I have this set to FBP, since the utility is in my
        path. For Lora-BBS users, this will be FILEIDX.EXE. Please see
        the "Known Problems" section at the end of this document for
        more information about FILEIDX.EXE. For SuperBBS users, I
        don't have a clue. If someone would fill me in on this one I'd
        really appreciate it! This entry is only required if you want
        MaxFile/PM to run the utility for you.

    File Inbound

        This is the directory that your mailer places incoming files in.
        MaxFile/PM will look in this directory for files when you
        perform a Receive Files... from the File Area window context
        menu.

Main - Page 2

    Hide CDs

        When checked your CD file areas will be hidden from view in the
        main File Area Window.

        NOTE: When you have this option turned on it would be wise to
        make sure there is a CD in the CD-ROM drive, MaxFile/PM needs to
        ask the file system drivers for some information about the drive
        and in the process the CD-ROM drive has to be accessed.

    File Headers

        When checked MaxFile/PM will generate an information header that
        is written to the top of the FILES.BBS for an area when you
        perform a save in a FILES.BBS window.

        The header looks much like the area headers that are written to
        the All Files and New Files lists. The only exception being that
        the custom information from ALLFILES.CUS is not written to the
        header in the FILES.BBS.

    AutoSave

        This tells MaxFile/PM whether or not you want your FILES.BBS
        files automatically saved when you close a file area. If you
        check this option MaxFile/PM will save the FILES.BBS for you
        as soon as you close the window associated with a FILES.BBS,
        if not, it will prompt you and ask if you want the information
        saved.

    Button Bar

        This check box tells MaxFile/PM whether or not you want the
        button bar turned on in your FILES.BBS windows.

    Create File Summaries

        When checked MaxFile/PM will create a summary of the file
        statistics for a file area when the FILES.BBS for the area is
        saved. The name of the file will the same as the file list
        (FILES.BBS in most cases) with the extension removed and
        replaced with SUM. It will be saved into the same directory as
        the file list. An example:

                C:\BBS\FILES\OS2\FILES.BBS

        The summary file would be saved in:

                C:\BBS\FILES\OS2\FILES.SUM

    Header Size

        For those of you using programs such as DownSort, this option
        will allow you to tell MaxFile/PM how many lines at the
        beginning of your FILES.BBS to skip when reading them in. The
        headers ARE preserved when MaxFile/PM writes out a new
        FILES.BBS.

        NOTE: When you have File Headers checked, MaxFile/PM takes care
        of this setting for you.

    Dupe Length

        Tells MaxFile/PM how many characters to look at in a filename
        when performing a search for duplicates.

    ED Marker

        For those BBS packages that support extended descriptions this
        option will come in handy. Here you tell MaxFile/PM what
        character is associated with extended descriptions for your
        BBS Package. This character can not be a space or a dash.

        Defining this character causes a few changes in the way
        MaxFile/PM handles your file descriptions. When this option is
        used, file descriptions are allowed to be up to 1024
        characters in length and nothing is stripped from FILE_ID.DIZ,
        DESC.SDI or SDN.ID descriptions read in from archives.
        MaxFile/PM does not insert this character in multiple line
        descriptions for you, you need to do this. However, when you use
        'Format Description' MaxFile/PM will take care of putting this
        character where it belongs.

    FileList Margin

        This setting causes a change in the file description handling
        similar to the ED Marker. NOTE: If an ED Marker is defined,
        FileList Margin is IGNORED. However, if an ED Marker is NOT
        defined and FileList Margin is greater than zero; File
        descriptions are limited to 1024 characters, FILE_ID.DIZ
        DESC.SDI and SDN.ID are imported as is, when a FILES.BBS is
        written _FileList Margin_ spaces are added to the beginning of
        each extra line in the file description so that they line up in
        a file listing.

        If an ED Marker is not defined and this is set to zero, file
        descriptions are limited to 255 characters, any non-printable
        ASCII characters (0-31) and high-bit ASCII characters are
        stripped from the file description.

    Run FD Utility

        The options for Run FD Utility determine when and if the File
        Database utility will get run. There are three; Always, Prompt
        and Never. Always will run your file database utility
        every time you exit MaxFile/PM. If no changes have been made,
        it will prompt you before running it. Prompt will ask you if
        you wish to run it. Do I need to explain Never? :-}

    Display

        The Display options control whether or not the file size and
        date information gets displayed for your files in the
        FILES.BBS windows. Simply check or un check the check boxes to
        set your preferences.

Main - Page 3

    Extensions edit control

        This is a simple edit control that you use to enter in the
        extensions that you want add to the list box to the right. You
        may enter up to 3 characters for each extension, wild cards are
        allowed. These extensions are used while adopting files,
        anything not defined here will be ignored. These extensions are
        use when you perform an Adopt from the FILES.BBS window context
        menu or you have Auto Adopt turned on.

    Add button

        After entering an extension in the edit control click this
        button to add it to the list of extensions in the list box.

    Remove button

        This button allows you to remove an entry from the list box.
        Simply highlight the entry you want to remove from the list
        box and click here.

    Auto Adopt

        This check box tells MaxFile/PM if you want it to automatically
        perform an Adopt when a file area is first opened. This only
        works if you have actually added at least one extension for
        MaxFile/PM to scan for.

    Download counters

        If you want download counters added to the description of
        files that get adopted, check this box.

    Default Description

        You may enter up to 80 characters for a default description.
        This text will get used any time you Insert, Adopt or drop
        files from an outside source into a window in MaxFile/PM and
        those files meet the following criteria: 1, they are not an
        archive or 2, they are an archive and the archive does not
        contain a FILE_ID.DIZ, DESC.SDI or SDN.ID description inside of
        it.

    Add (x/xx) counter on description copy

        This option allows you to tell MaxFile/PM whether or not you
        want the (xx of xx) counters appended onto the end of
        descriptions when you perform a "Description->Copy" in a
        FILES.BBS window. Check it if you want them, unchecked if you
        don't. The default is for them to be added.

    Extract All Files on Document Scan

        When selected all the files in a selected archive will be
        extracted when performing a Description->Scan Docs from a
        FILES.BBS Window context menu. Otherwise, MaxFile/PM will
        attempt to extract a common subset of files that are usually
        documentation related files.

    Remove Items

        Three choices here:

            Prompt
            Entries
            Entries and Files

        This configuration option affects the default action of "Remove
        Items" inside a FILES.BBS window. "Prompt" asks you each time.
        "Entries" removes just the entries. "Entries and Files" removes
        the entries and deletes the files associated with those entries.

Buttons

    This page allows you to customize the button bar that can be
    displayed in a FILES.BBS window to your liking.

    Please Note:  If "Button Bar" on Main Pg 2 is not selected, the
    button bar will NOT be displayed in your FILES.BBS windows.

    Each button definition consists of two items; A bitmap and a
    function.

    The bitmaps used are stored in the directory you start MaxFile/PM
    from. For best results they should 32x32 16 color bitmaps, larger
    bitmaps will be clipped to size of the button. When a FILES.BBS
    window is opened the bitmaps are loaded into memory, if the bitmap
    doesn't exist the button is skipped and will not display. You can
    use the Icon Editor that comes with OS/2 to create your own bitmaps
    for use with MaxFile/PM.

    To define a button; first select a bitmap file from the drop down
    list box labelled "Bitmaps" at the top of the notebook page. Then
    select a function from the drop down list box labelled "Functions"
    and click on the "Add" button. The button definition will then be
    inserted into the "Buttons" list box at the bottom of the notebook
    page.

    Directly above and to the right of the Buttons list box are a set of
    buttons that allow you to add, remove or reorder your button
    definitions. We have already covered the Add button.

    To remove a button definition; Select the button definition you want
    to delete and then click on the "Remove" button. The definition will
    then be discarded from the Buttons list box.

    To reorder the button definitions; Select the button definition you
    want to move and then click on either the up or down arrow button to
    the right of the Buttons list box to move the definition in the
    respective direction.

    You can have as many buttons as you want but remember, they take up
    screen real estate. If the button bar would extend beyond the right
    hand side of the window it will be wrapped downwards so that all of
    your buttons are visible.

    To help you remember what button does what, when you move the mouse
    pointer over a button the window title bar the button is in will
    display the function associated with that button.

Archivers - Archiver Information

    This section causes the most confusion when configuring
    MaxFile/PM. The best I can do to help is to tell you what I use
    here on my system to give you a few hints.

    There are eight pages, one each for; Zip, Arj, Lzh, Arc, HA, RAR,
    UC2 and ZOO. I don't use HA, RAR or UC2 so you are on your own with
    these archivers.

    You will need to enter the executable name and the appropriate
    switches for each of the actions for each archiver. You should
    include any switches necessary for recursing sub-directories and
    if you want to make MaxFile/PM's job a little easier, any switches
    to tell the archivers to 'move' files into archives when adding to
    or creating a new archive. Below I will give a short description
    of each entry and the settings for the archivers I use. You will
    have MUCH better success with OS/2 based archivers.

    NOTE: Each of the archivers you use must be able to accept
    filenames on the command line other than just the archive name.
    Some versions of UNARJ do not allow you to do this.

    I also believe I have gotten the DOS kludge worked around in the
    code. So you *should* be able to just define your DOS archivers just
    like OS/2 based archivers, I.E, PKUNZIP -v, for listing an archive.
    The settings for the DOS archivers below worked for me for what
    little time I spent with them.

        Extract

            This entry should contain the command and switches
            necessary to extract a file from an archive.

                ZIP     unzip -xo -U -C
                ARJ     unarj e
                ARJ     x -y
                LZH     lh x
                ARC     arc x
                RAR     rar -o+ -std -y
                HA      ha ey
                UC2     uc2 ESF
                ZOO     zoo xO

        Add

            This entry should contain the command and switches
            necessary to add files to an archive.

                ZIP     zip -9 -r
                ARJ     a -r -y
                LZH     lh a
                ARC     arc a
                RAR     a -r -y -ep1 -std
                HA      ha a12rd
                UC2     uc ASF
                ZOO     zoo ah

        List

            This entry should contain the command and switches
            necessary to list the files in an archive to standard
            output.

                ZIP     unzip -v
                ARJ     unarj l
                ARJ     arj v -y
                LZH     lh l
                ARC     arc l
                RAR     v -std -y
                HA      l
                UC2     VS
                ZOO     zoo L

        Test

            This entry should contain the command and switches
            necessary to test the integrity of an archive with the
            output going to standard output.

                ZIP     unzip -t
                ARJ     unarj t
                ARJ     arj t -y
                LZH     lh t
                ARC     arc v
                RAR     t -std -y
                HA      t
                UC2     TF
                ZOO     zoo xN

Viewers - File Viewers

    Here you can define viewers for use with the View function in a
    FILES.BBS window. Enter the filename and any necessary switches
    for each of the programs. There are entries for the following file
    types:

        Archives
        GIF
        PCX
        JPG
        TIF
        BMP
        Other

    The 'Other' entry catches anything that is not an archive, GIF,
    PCX, JPG, TIF or BMP file. I.E, text files.

Other - Things I couldn't figure out where else to put. :-)

    Virus Scanner

        This should be the name of the program to scan files for
        viruses, make sure to include any necessary switches. I use
        McAfee's scanner for OS/2 like so:

            OS2SCAN /A /NOEXPIRE

    Editor

        Here you can define a text editor for editing text based files.
        Currently this is only used for editing REXX macro scripts.

    Shift F6
    Shift F7
    Shift F8
    Shift F9
    Shift F10

        These five entries are for things I may have overlooked or for
        some special processing that you would like to do to a file.
        Enter the program name and any switches they need. When in a
        FILES.BBS window and you press one of the above keystrokes,
        the appropriate entry will get started with one of the
        selected files as a parameter on its command line, this will
        continue one file at a time until all selected files have been
        processed.


------------------------------------------------------------------------------
--- Generic File Area Definitions --------------------------------------------
------------------------------------------------------------------------------

        To provide support for any BBS system that uses the standard
        FILES.BBS format for their file listings I have come up with a
        very simple text file format that will allow you to tell
        MaxFile/PM how your file areas are defined.

        The file is made up of a verb that tells MaxFile/PM how many
        areas it can expect to find in the text file. Each successive
        line after that verb defines the file areas themselves. A
        sample file is shown below:

----------------------------- AREAS.CFG sample --------------------------------
AreaCount 5
0 d:\max\file\uncheck    d:\max\file\uncheck\files.bbs    Unchecked Uploads
1 d:\max\file\max        d:\max\file\max\files.bbs        BBS Stuff
2 d:\max\file\dos\games  d:\max\file\dos\games\files.bbs  Dos Games
3 d:\max\file\os2\util   d:\max\file\os2\util\files.bbs   OS/2 Utilities
4 d:\max\file\os2\apps   d:\max\file\os2\apps\files.bbs   OS/2 Applications
-------------------------------------------------------------------------------

        The 'AreaCount' keyword tells MaxFile/PM how many area
        definitions it can expect to find in the file. The AreaCount
        keyword must come BEFORE the area definition lines.

        The format for each area definition line is:

            <area tag> <file path> <list name> <area description>

     
      <area tag>           Is a short name to identify the file area.

      <file path>          Is the download path of the file area.

      <list name>          Is the full drive:\path and filename of the
                           FILES.BBS for the area.

      <area description>   Is a short description of the area.
     

        You can name this file what ever you wish, just make sure you
        specify the name of this file for the File Area Data option in
        the Main Settings Dialog and make sure the BBS Package is set
        to 'Generic'.

------------------------------------------------------------------------------
--- Using MaxFile/PM ---------------------------------------------------------
------------------------------------------------------------------------------

        When MaxFile/PM first comes up a window will be displayed that
        contains all of your file areas. I will be referring to this
        window by the term 'File Area Window' throughout the rest of
        this document.

        When you open up a file area, a window that is very similar in
        appearance to the File Area window will appear. This window
        will contain all the files listed in the FILES.BBS for that
        area. These windows will be referred to as 'FILES.BBS Windows'
        from here on out.

--- File Area Window ---------------------------------------------------------
------------------------------------------------------------------------------

        The File Area window serves two basic purposes. First, it
        allows you to open FILES.BBS Windows and second, it also
        serves as a dropping point for files so that you can quickly
        move files to another file area without having to open the
        file area.

    File Area Window Context Menu

    The File Area Window Context Menu is where you control the overall
    operations of MaxFile/PM. A somewhat detailed explanation of each
    menu item follows.

    Open...

        This menu item allows you to open the highlighted file area(s).

        The various ways of opening a file area are: Highlighting the
        area you want to open and pressing enter or double-clicking
        mouse button 1 on a file area.

        If the file area is already open it will be brought into view,
        even if it is minimized to the Minimized Window Viewer folder.


    Area Sort

        Tag
        Description
        Files Dir

        These options sort the File Area Window listing by the
        appropriate field in ascending order.


    Check for Duplicates

        To check your file areas for duplicate files choose this menu
        item after selecting the area(s) you want MaxFile/PM to check
        against all of your file areas. Please note that the scan
        performed when checking for duplicates does not involve the
        FILES.BBS files for the areas scanned, it looks at the contents
        of the download directory for each area. So all duplicates will
        be found regardless of whether there is a FILES.BBS entry for
        them or not. However, the files searched for come directly from
        the FILES.BBS files of the areas selected in the File Area
        window. So make sure if you have a FILES.BBS window open for one
        of the areas you will be checking for duplicates from, that you
        have saved any changes made in that window.

        The File Area window will be locked open until you close the
        DupeCheck Results dialog box. This dialog will appear as soon as
        the file scanning is complete. Inside this dialog you will see a
        listing of all the files found. To open the file area associated
        with a file, simply double-click on its entry. If you decide
        that you want to delete the file from this dialog, highlight the
        entry and click the delete button.


    Search...

        This function is very similar to the Dupe Checker option, with
        the exception that instead of checking for duplicate files you
        can enter a string of text that MaxFile/PM will search for in
        each of the FILES.BBS files for each of the selected areas.

        First select the areas that you want to search, then bring up
        the context menu and select 'Search...' A dialog box will come
        up asking you what to search for. You may enter up to 80
        characters. Click ok to begin the search.

        The search is not case nor position sensitive. Both the filename
        and description are searched for the text, if the text appears
        in of these two places a 'hit' will occur. The dialog box that
        comes up after the search is complete works exactly the same as
        the dialog box showing the results of the Dupe Checker option.


    Find Area...

        This function will allow you to enter an area tag, MaxFile/PM
        will find the area and then scroll it into view for you.


    All Files List

        Probably the most requested feature had to be the ability to
        generate a list of available files from the FILES.BBS listings.
        MaxFile/PM will generate an all files list for you. It's highly
        customizable and can be run automagically from a batch file once
        configured correctly.

        To use the all files generator interactively, simply start
        MaxFile/PM and then select the areas from the File Area window
        that you want included in the listing. Then bring up the context
        menu and select "All Files List". MaxFile/PM will then process
        each FILES.BBS and produce two listings under the filenames
        ALLFILES.LST and NEWFILES.LST in the directory that MaxFile/PM
        resides in.

        Each time you run the all files generator from the context menu,
        a file called ALLFILES.CFG will be written that contains a list
        of the area tags for each of the areas in the listing. Do NOT
        modify this file. The purpose behind this file is to tell
        MaxFile/PM what areas to include when you run the all files
        generator in batch mode. If you add or delete file areas, you
        MUST run the all files generator from the context menu in
        interactive mode at least once to keep the ALLFILES.CFG in sync
        with your file areas. I'll put it this way... IF YOU WANT TO RUN
        IN BATCH MODE YOU MUST KEEP allfiles.cfg IN SYNC WITH YOUR FILE
        AREAS.

        To customize the all files generator to suit your tastes, you
        can create some text files which will be written to your file
        listing at the appropriate times.

        The names for the files are:

            ALLFILES.HDR    NEWFILES.HDR
            ALLFILES.FTR    NEWFILES.FTR
            ALLFILES.CUS

        ALLFILES.HDR and ALLFILES.FTR are written verbatim to the file
        listing at the beginning and ending of the listing,
        respectively. ALLFILES.CUS is a little more complex. It allows
        you to insert text into the headers that are written to the
        listing for each file area. The format of the file is:

            <AreaTag> <Header text......>

        <AreaTag> is the area tag of the file area header the text that
        follows it should be inserted into. You may place as many lines
        as you need to for each area as long as they all follow this
        format. <AreaTag> is checked against the area tag for each area
        in such a manner that if the tag for the area begins with the
        tag specified in this file the text will get inserted. An
        example might be of some help here..

        You have the following areas:

            CICA001
            CICA002
            CICB001
            001
            002

        In your ALLFILES.CUS file you have:

            CICA Files in this area are NOT freq'able.
            CIC These files are on my CD-ROM.
            00 These files are freq'able anytime but ZMH.

        CICA would match CICA001 and CICA002. CIC would match CICA001,
        CICA002 and CICB002. 00 would match 001 and 002. Get the idea?
        Its rather simple once you get used it.

        To run the all files generator in batch mode from the command
        line, specify the -A switch on MaxFile/PM's command line.
        MaxFile/PM will do its thing and then return to the command
        prompt when it is done. -a, -A, /a and /A are all recognized as
        valid switches for this mode of operation.

        NOTE: This function is run at IDLE priority so that it won't
        degrade other processes in the system.


    Outdated Files...

        This option will allow you to either remove or move to a file
        area those files that are older than a certain number of days.

        The process of taking care of your outdated files begins by
        selecting the areas that you wish to scan from the File Area
        window. Now, bring up the context menu and select 'OutDated
        Files...', you will be presented with a dialog box, this is
        where you tell MaxFile/PM how to manage the old files.

        To remove files, select the Kill radio button. To move files to
        a selected file area, select the Move radio button and then
        enter the Area Tag of the file area you want the files to go
        into. The Area Tag you type in MUST exactly match one of the
        area tags listed in the first column of the File Area window,
        upper and lower case letters are important here.

        Now you need to tell MaxFile/PM the number of days old a file
        has to be before it will be moved or deleted. Either type in the
        number of days or use the spin button to adjust the number of
        days to your liking. To give you some indication of the date
        range you will be working with, the date below the spin button
        will tell you what the date on the oldest file can be.

        After entering the above, click OK and sit back and let
        MaxFile/PM do its thing. If a file area you have selected is
        open, it will be skipped. Also, if you are moving files, the
        file area that will receive the dated files will be skipped.


    Create FREQ List...

        Here you can tell MaxFile/PM to create an OKFILE listing for
        your mailer based on the selected items in the File Area window.

        After selecting this option, you will be presented with a
        standard File Save As dialog to choose a filename from. You can
        either type in the name of an existing file, or the name you
        want the listing to have. If it doesn't exist MaxFile/PM will
        create it for you.

        If the file "MAGIC.TXT" exists in the directory you start
        MaxFile/PM from, the entries in it will be copied to the output
        file. The directory listing will then be appended to the output
        file.


    Request Files...

        Allows you to create a file request message to request files
        from another FTN capable system.

        After selecting this option you will be presented with a dialog
        box that asks you for a number of items; The message base path,
        mail processor, message base type, message flags, who the file
        request is generated for and who you are. More information about
        these options can be found in the discussion of the Announce
        Files option on the FILES.BBS Window Context Menu.

        The remaining controls in the dialog box deal with what files
        you want to request and what areas the files go into. An example
        will explain this best. Let's say we want to request the
        following files:

            FILES           Magic name, doesn't go in any area.
            MPM1_26.ZIP     For area - BBS

        For the first file, FILES, you would enter 'FILES' in the edit
        control labelled "File:" and then select the "Request" button.
        This will add the entry "FILES" to the listbox directly beneath
        the "File:" and "Area:" edit controls.

        For the second file, MPM1_26.ZIP, you would enter 'MPM1_26.ZIP'
        in the edit control labelled "File:" and then enter 'BBS' in the
        edit control labelled "Area:" and then select the "Request"
        button. This will add the entry "MPM1_26.ZIP - BBS" to the file
        request list listbox.

        If you make a mistake or just want to remove an entry for a
        requested file, select the entry to remove from the request list
        listbox and then select the "Remove" button.

        Please Note: If you don't enter an area for a file that is
        requested no processing will take place for that file when you
        perform a "Receive Files".


    Receive Files

        Receives or processes the files requested with Request Files
        after actually receiving them.

        When you requested files with "Request Files..." a file called
        MAXFMPM.REQ was written to your MaxFile/PM directory. This file
        contains both the name of the file requested and the area the
        file should be tossed into. You really shouldn't edit this file,
        but if you have a burning desire to do so... Each line of the
        file consists of the filename requested, EXACTLY one space, a
        hyphen '-' character, EXACTLY one space and the area tag (or
        name) of the file area the file should go into.


    REXX Macro...

        Don't like the way MaxFile/PM does something? Well, now YOU can
        change it! REXX scripts are now supported. In addition to all
        the commands available from REXX, there are 30+ REXX extensions
        added by MaxFile/PM so that you can manipulate your files from a
        REXX command script.

        A discussion of REXX is well beyond the scope of this document,
        instead what you will read about here are the extensions that
        MaxFile/PM adds to REXX to allow you to work with your files.
        The supplied TESTREXX.CMD file is a sample that shows the syntax
        and usage of some of the added functions. PLEASE use this file
        as a guide when you are constructing your macros.

        REXX commands and programs that communicate with the user via
        Standard input and Standard output are fully supported by
        MaxFile/PM's REXX interface. When the REXX interface first
        starts up a window entitled "MaxFile/PM REXX Output" will appear
        on your desktop, this window is your means of communication with
        REXX.

        The top line of the REXX output window contains a single line
        edit control that can accept up to 80 characters. When you wish
        to actually send the typed text to standard input, click on the
        Send button. Clicking on the Send button when the control is
        empty sends a CR/LF pair to standard input.

        The remainder of the output window is reserved for the output
        coming from your REXX commands and/or application programs.
        REXX's PULL and SAY commands are fully supported. There are some
        limitations to what the output window can do though. It doesn't
        support; reverse tabs, vertical tabs, backspace or cursor
        movements. For applications that use this type of output or
        expect to be able to write to the screen using other methods
        than standard output you are going to need to use the START
        command or some other similar utility to run them in another
        session.

        To stop a REXX script that is running, bring the Main File Area
        window to the front and pull up the context menu, then select
        'Stop REXX' this will halt the script after the current
        instruction is complete.

        Starting MaxFile/PM with the -r switch will cause MaxFile/PM to
        open its main window, immediately run the REXX script specified
        and then exit. An example:

            MAXFMPM -rTESTREXX.CMD

        Would start MaxFile/PM, run TESTREXX.CMD to completion and then
        exit. -r -R /r and /R are all valid forms of the "REXX"
        switch.

        Listed below you will see the REXX extensions for use with
        MaxFile/PM, they will be listed by name with a short explanation
        of each. All the functions return 'ERROR' if something goes
        wrong. Those functions that aren't meant to return some type of
        information return 'OK' for success.

                  *******************************************
                  *   PAY ATTENTION TO THE NEXT PARAGRAPH   *
                  * IT WILL MAKE OR BREAK YOUR REXX SCRIPTS *
                  *******************************************

        You *MUST* be in the directory that MaxFile/PM resides in when
        you call one of the extensions added by MaxFile/PM. You can
        change directories throughout the lifetime of your script, but
        MaxFile/PM needs to be able to find its files and it expects
        them to be in the directory that your script gets called from.
        So if things start acting strangely when you are testing a
        script, make sure the current directory is your MaxFile/PM
        directory before you call one of the extensions listed here. The
        standard REXX function DIRECTORY() will return the current
        directory for you, use it to save the directory your script
        starts out in. Then just before your script ends, use it to
        restore the current directory.


                         MaxFile/PM REXX Extensions
                         --------------------------

        MPM_GetVersion()

            Returns MaxFile/PM's revision or version number.


        MPM_ClearWindow()

            Clears the REXX output window.


        MPM_MsgBox(message, title)

            Displays a simple message box using 'message' as the text
            displayed in the message box and 'title' as the title for
            the message box.


        MPM_QueryArea([area tag])

            Works in two different ways. Called with no arguments it
            returns the area tag of the first file area listed in the
            Main File Area window listing. When called with a single
            argument containing the area tag of an existing file area,
            it will return the area tag of the NEXT file area in the
            list. In either case, if an area can't be found it returns
            'ERROR'.


        MPM_QueryAreaList('stemvar')

            Creates a compound stem variable containing the area tag,
            description, download path and the full path/filename of the
            FILES.BBS for each area.

            The stem variable name is passed to the function as a
            string. stemvar.0 contains the total number of areas that
            information has been returned for.

            An example of how to use this function follows:

                /* MPM_QueryAreaList() example */
                rc = MPM_QueryAreaList('arealist')

                Say arealist.0' items in Area List.'
                Say arealist.1.area' is the first area.'
                Say arealist.1.desc' is the first area description.'
                Say arealist.1.path' is the first area download path.'
                Say arealist.1.fbbs' is the first area FILES.BBS location.'


        MPM_QueryAreaInfo(area tag, '0' | '1' | '2')

            Queries and returns the specified information for 'area
            tag.' The level info is as follows:

                0 - Area description
                1 - Download Path
                2 - FILES.BBS Location


        MPM_DeselectArea([area tag])

            Detags a file area in the Main File Area window. If area tag
            is ommitted the selection emphasis is removed from all items
            in the window.


        MPM_SelectArea(area tag)

            Tags a file area in the Main File Area Window.


        MPM_OpenArea(area tag)

            Opens the FILES.BBS Window associated with 'area tag'. If
            this function returns 'OK' the window _IS_ open, v. the old
            behaviour of just letting you know the message to open the
            window got posted okay.


        MPM_CloseArea(area tag)

            Closes the FILES.BBS window associated with 'area tag.'


        MPM_IsAreaOpen(area tag)

            Returns "1" if the FILES.BBS window associated with 'area
            tag' is open, "0" otherwise.


        MPM_AllFilesList()

            Starts up the All Files List generator in interactive mode,
            the list generated will be made up of the file areas that
            are selected in the File Area window. Use MPM_SelectArea()
            and MPM_DeselectArea() to select areas from REXX.


        MPM_OutDated(days, 'MOVE | KILL', areatag)

            Performs an outdated file scan on the selected file areas in
            the File Area window based on the arguments passed. All
            three arguments MUST be present.

            days is the number of days old a file can be, anything older
            than 'days' will either be deleted or moved.

            'MOVE | KILL' selects whether you want the files MOVEd or
            KILLed. If you want files moved, areatag must contain the
            area tag or name (case MUST match) of an existing file area.

            When "KILL" is selected the areatag is ignored, but it still
            MUST be present.


        MPM_SetFDUFlag(area tag)

            Sets the File Database Utility flag for the FILES.BBS that
            is associated with 'area tag.' Use this to tell MaxFile/PM
            that the File Database Utility needs to be run to update
            your file database after making changes that MaxFile/PM
            doesn't know about.


        MPM_QueryFile(area tag[, filename])

            Returns the base filename of a file from a FILES.BBS window.
            When called with just the area tag of an open window it
            returns the first file in the window. When called with both
            the area tag and an existing filename it will return the
            NEXT filename in the window. If something goes wrong it
            returns ERROR.


        MPM_QueryFileList(area tag, 'stemvar')

            Creates a compound stem variable containing a list of all
            the files in the FILES.BBS associated with 'area tag'. The
            stem variable name is passed as a string to the function.
            stemvar.0 contains how many items are in the list.

            An example follows:

                /* MPM_QueryFileList() example */
                mpmarea = 'TEST'

                /* Open up the file area */
                retval = MPM_OpenArea(mpmarea)

                If MPM_IsAreaOpen(mpmarea) = '0' then Exit

                rc = MPM_QueryFileList(mpmarea, 'files')

                rc = MPM_CloseArea(mpmarea)

                Say 'There are 'files.0' files in the list.'
                Say
                Say files.1.file' is the first file.'
                Say files.1.path' is the path of the first file.'
                Say files.1.desc' is the description of the first file.'


        MPM_QueryFileInfo(area tag, filename, '0' | '1' | '2' | '3')

            Queries and returns the specified information about
            'filename.' The level information is as follows:

                0 - File Path
                1 - File Date in DD MMM YYYY format
                3 - File Size
                4 - File Description


        MPM_SelectFile(area tag, filename)
        MPM_DeselectFile(area tag, filename)

            Select and deselect 'filename', respectively, in the area
            identified by 'area tag'.


        MPM_SetFileInfo(area tag, filename, '0' | '1' | '2')

            Set the displayed information for a file in a FILES.BBS
            window. The level information is as follows:

                0 - Set File Date
                1 - Set File Size
                2 - Set Description

            Please note that options 0 and 1 are only for display
            purposes, if you want to set the file's date ("touch" it)
            you need to perform this yourself, MaxFile/PM does not do
            this for you, the same goes for the file's size. This REXX
            extension is merely to update the display in the FILES.BBS
            window. Option 2, for setting descriptions, does actually
            alter the description that will get saved for the file.

            Dates should be in the FTSC format DD MMM YYYY, 01 Dec 1993.
            Sizes should be unformatted with no thousands separators.


        MPM_RemoveFile(area tag, filename)

            Removes the file 'filename' from the FILES.BBS window
            associated with 'area tag'.


        MPM_AddFile(area tag, filename, description)

            Adds 'filename' with description to the FILES.BBS window
            associated with 'area tag'. 'filename' MUST be a FULL file
            specification in the form of D:\PATH\FILENAME.EXE! The
            function returns 'ERROR' if something goes wrong.


        MPM_AnnounceFiles('stemvar')

            Creates a file announcement message and writes it to a
            Squish or *.MSG message base. The message is built from the
            information stored in the compound stem variable 'stemvar'.

            Please see TANN.CMD (included in the distribution archive)
            for an example of how to use this extension.

            The elements of the message that need to be placed in
            'stemvar' are as follows:

                stemvar.msgpath  - is the root path of the message area
                                   to place the message in.

                stemvar.msgproc  - is the executable name and switches
                                   needed to run your mail
                                   tosser/packer, this one is optional,
                                   if it isn't defined it is ignored.

                stemvar.msgtype  - this defines the type of message base
                                   and must be one of:

                                       SQUISH
                                       MSG
                                       MSGECHO

                stemvar.msgflag  - is the message flag you want to use
                                   for this message, it must be one of:

                                       HOLD
                                       NORMAL
                                       CRASH
                                       DIRECT

                stemvar.to       - is the name to address the message
                                   to, if it isn't defined it defaults
                                   to 'All'.

                stemvar.toaddr   - this the Fidonet style address of the
                                   recipient of the message. It must be
                                   in the format Zone:Net/Node.Point,
                                   I.E, 1:201/60.0, if not defined it
                                   defaults to stemvar.fromaddr.

                stemvar.from     - is the name the message is from, this
                                   one is required.

                stemvar.fromaddr - is the address of who the message is
                                   from, in other words, the originating
                                   Fidonet address. This one is also
                                   required.

                stemvar.subject  - this gets put in the subject field of
                                   the message. If not defined it
                                   defaults to 'File Announcement'.

                stemvar.header   - is the header of the message, it gets
                                   placed just before the file list in
                                   the message. This one is optional.
                                   1024 character limit.

                stemvar.footer   - this is similar to the header, except
                                   it comes after the file list in the
                                   message. It is also optional. 1024
                                   character limit.

                stemvar.origin   - this is the text that will get put in
                                   the origin line of the message. The
                                   " * Origin: " and from fidonet
                                   address are taken care for you. All
                                   you need to enter here is what text
                                   you want added in between the two.
                                   This is optional, if it is not
                                   defined no origin line is generated.

                stemvar.0        - contains the number files being
                                   announced.

                stemvar.x.file   - this is the base filename of a file
                                   to announce.

                stemvar.x.path   - is the drive and path to the above
                                   base filename. Do NOT include the
                                   filename here.

                stemvar.x.desc   - this is the description you want to
                                   use for this file in the message.
                                   1024 character limit.

                'x' in the above three is a place holder for each of the
                files that you want announced, up to stemvar.0 files.


        MPM_FileAreaSort(area tag, 'Name|Date|Size|Desc', 'Asc|Desc'[, 'All'])

            Sorts the file area 'area tag' by; Name, Date, Size or Desc.
            In either ascending or descending order, optionally
            deselecting all highlighted files.

            This function behaves just like the menu options on the
            FILES.BBS context menu, if any items are selected ONLY those
            items are sorted. If you want to sort the entire area make
            sure you pass the fourth argument 'All' to it.

            Here are a few examples:

                rc = MPM_FileAreaSort('0', 'Name', 'Asc')

                    Sorts area 0 by name in ascending order.

                rc = MPM_FileAreaSort('FWBBS', 'Date', 'Desc')

                    Sorts area FWBBS by date in descending order.

                rc = MPM_FileAreaSort('FWCOMM', 'Date', 'Desc', 'All')

                    Sorts area FWCOMM by date in descending order, first
                    deselecting all selected files.


        MPM_AdoptFiles(area tag)

            Performs an adopt on all orphaned files in the file area
            'area tag'. area tag MUST be open.


        MPM_ReArchive(area tag, archivetype)

            Rearchives all selected files in the area 'area tag' to
            'archivetype'. area tag MUST be open.

            archivetype should be one of:

                ZIP
                ARJ
                LZJ
                ARC
                HA
                RAR
                UC2
                ZOO


        MPM_PurgeDupes(area tag)

            Scans through the file area 'area tag' and removes all
            duplicate file entries. area tag MUST be open.


        MPM_RemoveMissingFiles(area tag)

            Scans through the file area 'area tag' and removes all
            entries for files that do not exist. area tag MUST be open.


        MPM_CleanseDescriptions(area tag)

            Cleanses the descriptions for all selected files in the area
            'area tag'. area tag MUST be open.


        MPM_GetDIZFiles(area tag)

            Attempts to extract and use FILE_ID.DIZ, DESC.SDI or SDN.ID
            for the selected files in the area 'area tag'. area tag MUST
            be open.

        MPM_QueryFilesBBS(area tag, stemvar)

            Returns the FILES.BBS for 'area tag' in the compound stem
            variable 'stemvar'. area tag does not have to be open, but
            if it is, make sure you save the FILES.BBS before you call
            this function. 'ERROR' is returned if an error occurs or
            there are no entries in the FILES.BBS file.

            stemvar.0 will contain the number of entries.

            stemvar.1 - stemvar.x will each contain one entry from the
            FILES.BBS. The FILES.BBS will be parsed according to your
            settings for Extended Description Marker, FileList Margin,
            File Headers and Header Size. In general, each string is
            formatted just like the entries you view in your FILES.BBS
            windows.

        MPM_SaveFilesBBS(area tag)

            Saves the FILES.BBS for 'area tag'. Should be used after any
            changes are made to a FILES.BBS window. area tag MUST be
            open.


        MPM_SetWindowState([area tag, ]'MAXIMIZE | MINIMIZE | RESTORE')

            Sets the state of a window. If 'area tag' is ommitted, the
            File Area Window is set, otherwise, the state of the
            FILES.BBS window 'area tag' will be set.

            The possible window states are; MAXIMIZE, MINIMIZE or
            RESTORE, only one may be specified per call to this
            function. Examples:


                rc = MPM_SetWindowState('MINIMIZE')

                    Would minimize the File Area window to either the
                    desktop or Minimized Window viewer, depending on
                    your object settings.

                rc = MPM_SetWindowState('1' ,'RESTORE')

                    Would restore the FILES.BBS window associated with
                    file area '1' to its previous state.


        MPM_Crc32('filename')

            Examines 'filename' and returns a CRC32 value calculated
            according to FIPS PUB 71 and FED-STD-1003. This should prove
            useful for rolling your own TIC processor.


        MPM_ExecPgm(title, program, arguments [, "WAIT | NOWAIT"])

            Starts another program session. title is the text that will
            be displayed in the title bar of the session. program is the
            name of the executable file. arguments are the command line
            parameters you want to pass to the program. The last
            argument is optional, if it is present and is 'WAIT'
            MaxFile/PM will wait until the program has finished running
            before returning control to your REXX script.

            The return value will be the return code from the program if
            run with the 'WAIT' parameter, or the return code from
            DosStartSession() if run asynchronously.

            PLEASE NOTE: if you wish to do any command line redirection
            you must pass the correct command processor as the program
            (CMD.EXE, COMMAND.EXE, etc..) and pass the name of the
            executable you want to run as part of the arguments.


        MPM_ExtractFromArc(filename, filespec(s), filepath)

            Extracts filespec(s) from filename into the directory
            filepath. filename should be a fully qualified filename.
            filepath MUST exist.


    Stop REXX

        Stops the currently running REXX macro. The current instruction
        in the macro will finish executing before the macro stops.


    Edit REXX Macro...

        Here you can find and edit a REXX macro script, provided you
        have an editor defined in your configuration.

        After selecting this option you will be presented with a
        standard file dialog to select from the files on your system.
        After selecting a file, the editor you have configured will be
        started with the selected file as its one and only argument.


    Settings...

        Brings up the Settings Notebook for MaxFile/PM. Please see
        'Configuring MaxFile/PM' for more information.


    Product Information

        Displays MaxFile/PM's Product Information Dialog.


--- FILES.BBS Window ---------------------------------------------------------
------------------------------------------------------------------------------

        FILES.BBS windows are the heart and soul of MaxFile/PM, these
        windows are where you will be spending most of your time. A
        FILES.BBS window is very similar to the File Area window in
        appearance. What you will see when you open one of these
        windows is the contents of the FILES.BBS that is associated
        with the file area this window belongs to.

    FILES.BBS Window Context Menu

    Revert...

        Discards changes made in a FILES.BBS window since the window was
        opened or the last save was performed, which ever occured last.

    Save FILES.BBS

        Performs an unconditional save of the FILES.BBS for the
        current FILES.BBS Window. At the same time it also sets the
        flag for this area to tell MaxFile/PM that the File Database
        Utility (if you have one configured) needs to be run on it.


    Shift-Macros

        Each of your defined program macros will be listed on this
        sub-menu. See Configuring MaxFile/PM -- Other for more
        information on program macros.


    Sort Ascending

        Name
        Date
        Size
        Description

        Sorts the FILES.BBS entries for the current FILES.BBS Window
        in ascending order.


    Sort Descending

        Name
        Date
        Size
        Description

        Sorts the FILES.BBS entries for the current FILES.BBS Window
        in descending order.

        Please note the following: If you want the entire FILES.BBS
        sorted make sure that none of the items in the window are
        selected. If any items are selected ONLY those items get
        sorted. Deselect All or CTRL+\ will remove the selection
        emphasis on all items in the window. This applies to both
        ascending and descending sorts.

        Comments lines are skipped, the file blocks between them are
        sorted according to the sort selection made.


    Descriptions

        Copy

            This selection takes the first description from a group of
            selected items and copies it to the rest of the files in
            the group. The copied description will have '(xx of xx)'
            appended to the end of it. This is convenient to use with
            a group of files that are all part of one program or file
            collection.


        Cleanse

            This option goes through each of the selected items in a
            FILES.BBS window and removes all the extra whitespace,
            non-printable ASCII and high-ASCII characters from the
            descriptions or comments.


        Edit

            Many of you asked for this one. Edit Description allows
            you to edit the description of a selected item by first
            selecting it, then choosing this option from the context
            menu. It works the same way as ALT+clicking mouse button 1
            on an item's description.


        Format...

            This option is only usable when you have an Extended
            Description Marker (ED Marker) or a FileList Margin defined
            in the Settings Notebook.

            When an ED Marker is defined:

                What it does is take a file description and break it up
                into smaller parts and insert the defined ED Marker at
                the beginning of the excess lines so that your BBS
                package will understand the excess lines are part of the
                description for a file.

                After selecting this option from the context menu a
                dialog box will be presented asking you for a left
                margin and a line length. The left margin is where you
                want the ED Marker placed on the line and the line
                length is how many characters past the ED Marker the
                description is allowed to go on each line.

            When an ED Marker is NOT defined and FileList Margin is
            greater than zero:

                What it does is take a file description and wrap it into
                smaller line segments based on 80 - _FileList Margin_.


        Get FILE_ID.DIZ

            This option goes through the selected items in the window
            and attempts to extract the FILE_ID.DIZ, DESC.SDI or SDN.ID
            from them. Comments and files that aren't archives are
            skipped over by this function. If one of the above is
            present in the archives selected, it will be read from it
            and placed in the description field. You will need to edit
            this text to suit your needs.


        Set FILE_ID.DIZ

            Here you can insert the file description for selected
            archives into the archives as a FILE_ID.DIZ. You will need
            to edit the description to conform to the 45/10 standard.

        Scan Docs...

            This works only with archives. MaxFile/PM will go through
            and extract all the documentation files it can find for a
            selected archive. It will then present a dialog box that
            will allow you to copy text from a file to use as a
            description.

            Each selected archive is processed in sequence, in other
            words, the Get Description Text dialog gets presented once
            for each selected archive.

            When the dialog first comes up a standard File Open dialog
            will be presented for you to choose a file to open. NOTE: If
            there were directories stored in the archive, they will be
            present and you might have to go down a few to find the
            files.

            After selecting a file the first 8K of it will be loaded
            into the text entry control in the Get Description dialog.
            You can edit the text if necessary to get it somewhere close
            to what you want.

            If you choose to open an INF file, the OS/2 View application
            will be started so that you can view the file selected.
            Using the Services menu from View you can copy a page to the
            clipboard from the INF file. Then you can switch back to
            the Get Description Dialog and paste the contents of the
            clipboard into the entry control by clicking on the "Paste
            from Clipboard" button.

            To copy and use part of the text in the entry control,
            highlight the text you want to copy and click on the "Copy"
            button. The highlighted text will be copied into the
            description of the selected file that the file in the entry
            control was extracted from.

            All the normal description handling characteristics apply to
            the copied text. If you do NOT have an Extended Description
            Marker defined and FileList Margin is set to 0; all
            whitespace, unprintable characters (CR, LF, etc..) and
            high-bit ASCII are stripped from the description and it is
            truncated to 255 characters.


        Download Flags...

            Allows you to place or remove time and byte download flags
            on the currently selected files.

            This function is only available to Maximus Sysops.


    Files

        Find...

            Many, many of you asked for this one. After selecting this
            option you will be asked to type in a filename. MaxFile/PM
            will search for the name and scroll it into view if it is
            found. Partial filenames are okay, case is not important.


        Adopt

            Adopt Files allows you to add any orphan files in a
            particular file area to the FILES.BBS for that area.
            Adopting is performed in a separate thread so that you may
            continue to work in the window for the file area while the
            adopt is going on. The window will be locked open while
            the Adopt is being performed.


        Remove Missing

            This option automates the process of removing entries in a
            FILES.BBS window that have no file associated with them.

            No special setup is required, just bring up the context menu
            and select this option. MaxFile/PM will then search through
            the FILES.BBS window and remove all entries that meet the
            following criteria; The entry is a file, is 0 bytes in size
            and has a date/time stamp of 00/00/00 00:00:00.


        Purge Dupes

            Purge Dupes scans the FILES.BBS window looking for duplicate
            file entries. Only the last entry for each file that has a
            duplicate entry is kept.

            This option is useful for removing extra entries added after
            a TIC processor has added new files to a FILES.BBS file.


        Announce...

            This option will allow you to write a customized message
            announcing selected files directly to any Squish, *.MSG or
            *.MSG ECHO message base. You may also specify a mail
            processor so that you can scan for the message to send it
            out of your system.

            The whole process gets started by selecting the files you
            wish to announce from a FILES.BBS window. Next you bring up
            the context menu and select 'Announce Files...' You will
            be presented with a configuration dialog you must fill out
            to tell MaxFile/PM the particulars about the message you
            want to send. As it stands right now, you have to fill out
            the dialog for each different window. The configuration
            for each window will be saved separately and will be used
            each subsequent time you announce files from each
            particular window.

            There are a few things MaxFile/PM needs to know to be able
            to send the message correctly and they are as follows:

                Message Base Path   -The full path and base filename
                of the message area put the message in. For *.MSG
                areas this will be the full path to the directory that
                contains the *.MSG files. For Squish areas this will
                be the path and base filename of the Squish files
                related to the message area. This is a required entry.

                Mail Processor      -This is an optional entry to
                allow you to scan for the message that was just
                written by a mail tosser/scanner. Please see the
                documentation for your tosser/scanner for more
                information.

                Message Type        -This is the message base type,
                *.MSG and Squish are fairly self-explanatory. *.MSG
                Echo, refers to a Fidonet style *.MSG echo mail area
                that stores the high-water mark in 1.MSG.

                Message Flags       -These are the attribute flags for
                the message you will be creating. They are mutually
                exclusive. I will be adding Direct to the available
                flags when I get the time to research the flags more.

                To:                 -This is the name of the recipient
                of the message. If you leave it blank, MaxFile/PM will
                automatically default to 'All.'

                To Addr:            -This is the address of the
                recipient of the message. If left blank, the From
                Address will be used. (Please see the From Address
                discussion for more information on entering Fidonet
                addresses.)

                From:               -This is a required entry. This is
                the name of the sender of the message.

                From Addr:          -This is a required entry. This is
                the address of the sender of the message. Most likely
                this will be your fidonet address if you have one. If
                not it doesn't matter what you enter here, as it won't
                get used by your message bases.

                The format for entering Fidonet addresses into
                MaxFile/PM is:

                    zone:net/node.point

                All four elements are required. To use my address as
                an example, the field would have 1:201/60.0 entered
                into it.

                Header              -This is an optional entry that
                you can use to place a customer banner at the top of
                the message just before the files that are being
                announced in the message. It is pretty much free-form,
                but you will be much better off if you leave the
                formatting up to MaxFile/PM. You may enter up to 1024
                characters in this field.

                Footer              -This entry is basically the same
                as the Header field, except it comes after the
                announced files. You may enter up to 1024 characters
                in this field.

                The 'Subject' line of the message is 'File
                Announcement' it is currently hard coded. If I get
                enough requests, I will add it as an option but as you
                can see, the message dialog is quite full as it is.
                The same holds true with the Tear and Origin lines,
                they are not configurable. The Tear line will always
                read '--- MaxFile/PM......' and the Origin line will
                always just be a standard origin line with your
                Fidonet address in it. These two I will probably be
                adding macros for so that you can place them into
                either the header or footer of the message. It all
                depends on user feedback.


        Send...

            Here you can create a file attach message. First select the
            file or files that you want to send, then select this item.
            The same dialog that is used for the Announce Files option
            is presented for you to fill out, please see the discussion
            of that function for more information on the dialog
            controls.

            The Header and Footer text are combined together to create
            the body of the message, if you enter any text for them. No
            tearline or origin are added to the message. In addition to
            the message attributes you set in the message information
            dialog box, the File Attach and Kill/Sent bits are set.


        Touch

            "Touching" is the process of updating the Time and Date
            stamps of files to the current time and date. This option
            allows you to do that for the selected files in the
            current window.


        View

            The View option works in conjunction with the external
            program options. For archives it will fire up the proper
            archiver to create a list of files contained in the
            archive and display a dialog containing that list. For
            pictures and text files the appropriate viewer will be
            started. View is also the action that is associated with
            double-clicking mouse button 1 on an entry in the window.


        Virus Scanner

            This option runs the virus scanner you have set up on each
            file selected in the current FILES.BBS window. The window
            that the virus scanner is run in is not closed when the
            scan is complete so that you may view the results.

            Nothing is extracted from the archives. The files are
            passed to the 'Other->Virus Scanner' entry from the
            Settings Notebook one at a time until all the selected
            files have been scanned. At this writing it is up to you to
            perform any additional processing.


    Archives

        Test Archive

            This option only works with archives. It simply invokes
            the appropriate archiver for each selected item in the
            window. The output from the archiver will be displayed in
            a dialog box after the testing is completed is completed
            for each archive.


        Extract To...

            Here you can extract a selected archive to a directory
            that you specify. Note that the directory you specify must
            exist.

            After you have used this option at least once, the directory
            will be remembered the next time the dialog box comes up
            asking you for a directory. You can just press ENTER to
            accept it.


        Touch Arc Dates

            This option will call upon the appropriate archiver(s) to
            set the time/date stamp for the selected archive(s) to the
            time/date of newest file in the archive(s).


        ReArchive

            to ZIP
            to ARJ
            to LZH
            to ARC
            to HA
            to RAR
            to UC2

            Each of these options takes an existing archive or group
            of archives and converts them to the appropriate archive
            type.

            If one the ADD entry for an archive is not defined its
            entry on this sub-menu will be disabled.


    Insert

        Comment

            To Insert a comment into the current FILES.BBS window,
            first select the item in the window that you want the
            comment to go in FRONT of. Then bring up the context menu
            and select Insert->Comment. A blank comment will then be
            inserted in the FILES.BBS window.


        File...

            Insert/File works much the same way as Insert/Comment, first
            select the item in the window that you want the file to go
            in FRONT of, then select Insert->File from the context menu.
            A file dialog will be displayed so that you can find the
            file you want to insert. Once you have found the file,
            select the Insert button in the dialog box. The file will
            then be inserted into the current window. Selecting the
            Cancel button inside the file dialog box aborts the insert
            operation.

            THE FILE WILL BE INSERTED INTO THE FILES.BBS WITH A FULL
            PATH SPECIFICATION. It does NOT get copied or moved to the
            download directory. This allows you to point to a single
            file from multiple FILES.BBS files.


    Remove Items

            This item removes or deletes items from the FILES.BBS
            window. When you select it from the context menu, a dialog
            box will appear allowing you two options. 'Entries' just
            removes the entry from the FILES.BBS window, 'Entries and
            Files' causes the entries to be removed and the associated
            with the entries to be deleted. Click Ok to remove the
            items, or Cancel to abort the operation.


    Select All

            Selects all items in the current FILES.BBS Window.


    Select All Files

            Selects all files in the current FILES.BBS window, excluding
            orphans.


    Deselect All

            Deselects all items in the current FILES.BBS Window.


    Display Date

            Toggles the display of the File Date column in the current
            FILES.BBS Window. This setting is temporary, FILES.BBS
            Windows will always open according to the settings defined
            in the Settings Notebook.

    Display Size

            Toggles the display of the File Size column in the current
            FILES.BBS Window. This setting is temporary, FILES.BBS
            Windows will always open according to the settings defined
            in the Settings Notebook.

    Area Statistics

            This option displays an information message box containing
            how many files are in the current area, how much space
            they take up and how much free space remains on the
            volume.


------------------------------------------------------------------------------
--- Presentation Parameters --------------------------------------------------
------------------------------------------------------------------------------

        Container windows are the windows that hold your file area
        information or file lists.

        The only presentation parameters that are saved for your windows
        are the foreground/background color of the container windows and
        the fonts dropped on the status bar and the container windows.
        The size and position of each window is also saved.

        These parameters are saved to your MAXFMPM.INI, which is usually
        kept in the directory you start MaxFile/PM from.

        The foreground (text) and background colors of the container
        window can be changed by dropping a color from the Solid Color
        Palette on it.

        The font used for the status bars and context menus can be
        changed by dropping a font from the Font Palette on the status
        bar. The container window font can be changed by dropping a font
        on the container.


------------------------------------------------------------------------------
--- Selecting Items ----------------------------------------------------------
------------------------------------------------------------------------------

        Perhaps the most confusing part of working in a FILES.BBS
        window is selecting or deselecting items. I wrote the program
        and I still have to think about it. Basically it works like
        this; Clicking mouse button 1 on an item selects it and clears
        the selection from any other items in the window. To select
        multiple items in the window, press mouse button 1 on the
        first item you want selected and hold it down while you drag
        the mouse cursor. This allows you to select a contiguous range
        of items. If you want to select multiple items and they aren't
        adjacent to each other, hold down the CTRL key while you click
        mouse button 1 on each item. If the item is not selected it
        will become selected, if the item is already selected the
        selection is cleared for that item.

        Another technique to select items uses a combination of the
        CTRL and SHIFT keys along with mouse button one. The SHIFT key
        when used in conjunction with mouse button 1 will
        select/deselect all items between the first marked item and the
        item SHIFT-clicked on. An example might help:

            COMMENT
            FILE1       <-- click mouse button one here
            FILE2
            FILE3
            FILE4
            FILE5       <-- SHIFT-click mouse button one here
            COMMENT
            FILE6       <-- CTRL-click mouse button one here
            FILE7
            FILE8
            FILE9
            FILE10
            FILE11
            FILE12      <-- CTRL-SHIFT-click mouse button one here

        With no items selected, the above actions would select two
        non-contiguous blocks of files; FILE1-FILE5 and FILE6-FILE12.

        If you need to select or deselect all the items in a window,
        your best bet is to use the Select All/Deselect All options
        from the context menu.


------------------------------------------------------------------------------
--- Hotkeys ------------------------------------------------------------------
------------------------------------------------------------------------------

                          ^ = CTRL, ! = SHIFT

        The following accelerator keys may be used when you are
        working in the File Area window:

                        Check for Duplicates    ^D
                        Search                  ^S
                        Find                    ^F
                        Find Again              ^N
                        All Files List          ^L
                        Outdate Files           ^O
                        Create FREQ List        ^Q
                        Request Files           ^R
                        Receive Files           ^V
                        REXX Macro              ^M
                        Stop REXX               ^P

        The following accelerator keys may be used when you are
        working in FILES.BBS window:

                          Sort Ascending
                              Name        ^1
                              Date        ^2
                              Size        ^3
                              Description ^4
                          Sort Descending
                              Name        ^5
                              Date        ^6
                              Size        ^7
                              Description ^8
                          Description
                              Edit        ^E
                              Format      ^F
                              Get DIZ     ^G
                              Set DIZ     ^S
                          Files
                              Adopt       ^A
                              Announce    ^N
                              Touch       ^O
                              View        ENTER
                              Virus Scan  ^C
                          Archives
                              Test        ^T
                              Extract to  ^X
                              ReArchive
                                  to ZIP  !F2
                                  to ARJ  !F3
                                  to LZH  !F4
                                  to ARC  !F5
                          Remove Items    ^D


------------------------------------------------------------------------------
--- Renaming Files -----------------------------------------------------------
------------------------------------------------------------------------------

        To rename a file, press and hold the ALT key and click mouse
        button 1 on the file that you want to rename. Then enter the
        new filename and click button 1 anywhere outside the edit box
        or press the keypad Enter key. Pressing ESC will discard any
        changes you have made to the filename.


------------------------------------------------------------------------------
--- Editing File Descriptions ------------------------------------------------
------------------------------------------------------------------------------

        Editing descriptions works in the much the same manner as
        renaming files, ALT+click mouse button 1 on the description
        you want to edit. To save the description, click outside the
        edit box or press the keypad Enter key. Pressing ESC will
        discard any changes made to the description or comment.

        The standard CUA conventions for cutting and pasting text work
        while the editing window is open for you to edit descriptions.
        They are as follows:

            Ctrl+INS    Copy to the Clipboard
            Shift+Del   Cut to the Clipboard
            Del         Cut (to the black hole of bits)
            Shift+INS   Paste from the Clipboard

        These aren't well documented, but they are standard items that
        you can expect *most* applications to use when working with
        text, including MaxFile/PM.


------------------------------------------------------------------------------
--- Program Macros -----------------------------------------------------------
------------------------------------------------------------------------------

        FILES.BBS windows are the only place that the Shift-F(x)
        macros will operate. When pressing one of these key
        combinations MaxFile/PM will search through the container in
        the window and pass the fully qualified filename of the
        selected files to your macro one at a time. Comments are
        ignored. Don't make any assumptions about what directory the
        macro will start out in, that will be determined by the
        default OS/2 shell.


------------------------------------------------------------------------------
--- Drag and Drop ------------------------------------------------------------
------------------------------------------------------------------------------

              *************************************************
              * THIS IS HOW YOU MOVE FILES BETWEEN FILE AREAS *
              *************************************************

        Remember, MaxFile/PM is a Workplace Shell and Presentation
        Manager friendly program. The basic operations of changing,
        editing and moving objects work the same way.

        A drag operation is started by pressing mouse button 2 down
        and dragging the mouse cursor. The operation is considered
        complete when you release mouse button 2. Should you wish to
        abort the drag, press the ESC key on your keyboard.

        When dragging files between windows in MaxFile/PM, holding down
        the CTRL key will cause the objects to be copied instead of
        moved. This works for both files and comments.

        You will need to make sure that both the source and
        destination windows are visible on your display.

        You can drag files from anywhere on your system and drop them
        either on a FILES.BBS window or onto the File Area window.
        When dropping on an open FILES.BBS window, the files are
        inserted into the FILES.BBS at the point at which they were
        dropped. When dropping on the File Area window, the files are
        inserted at the end of the FILES.BBS for the area they are
        dropped on.

        You can also rearrange the items in a window by selecting
        them, then dragging them and dropping them where you want them
        to be.

        Many of you have asked about this one...To delete one or more
        items from a FILES.BBS window; highlight the items you want
        deleted, then drag them to the shredder object and delete
        them. Or, alternatively you can use the 'Remove Items' option
        on the context menu.


------------------------------------------------------------------------------
--- Excluding File Areas------------------------------------------------------
------------------------------------------------------------------------------

        If MaxFile/PM finds a file called MAXFMPM.EXC in the directory
        it is started from it will scan that file as it is populating
        the File Area window. If the area tag of a file area is found in
        that file, the area will NOT be added to the file area list.

        MAXFMPM.EXC is a simple text file that contains one area tag per
        line in the file.

------------------------------------------------------------------------------
--- Known Problems -----------------------------------------------------------
------------------------------------------------------------------------------

        In a system as configurable as OS/2 there are always going to
        be problems, this section is devoted to those problems and in
        some cases work-arounds. If you are having trouble with
        MaxFile/PM this is the first place to look to see if you can
        find some help.

--- FILEIDX.EXE --------------------------------------------------------------

        Lora-BBS File index maintenance utility

            Make sure that you specify the files IDX file that you
            want rebuilt in the Main Settings dialog box. For example:

                                Ŀ
        File Database Utility    E:\LORA\FILEIDX E:\LORA\FILES.IDX  
                                

        MaxFile/PM will take care of the rest. (The "AREA .. .. .."
        part.)


--- CONTAINER DISPLAY CORRUPTION ---------------------------------------------

        Moving vertical separator bar messes up highlighting

            The Service Pack for OS/2 2.1 screwed up the way the
            highlighting is handled when the vertical separator bar is
            moved. I didn't it break folks, IBM did.


--- VIEW AND TEST DIALOG LOCKUPS ---------------------------------------------

        Archive Statistics Dialog comes up as a grey window

            When run under 2.11 the View and Test functions lock up
            after opening more than one window. I have NOT been able
            to reproduce this under 2.10, so I don't even know where
            to begin to look. I have made several modifications to the
            code, hopefully one of them fixed the problem. :-( [06 Jun
            1994] This *HAS* been fixed!!

--- MAXFMPM.INI CORRUPTION ---------------------------------------------------

        MAXFMPM.INI gets trashed if a REXX script bombs out and won't
        quit.

            Always keep a backup of your MAXFMPM.INI file someplace
            safe. I need specific examples of scripts that I can use to
            recreate the problem. I'm not sure what is causing it, but I
            am looking.

            The key to safety is to BACKUP before you start a new script
            and try to debug it to get it to work.

 --- LAUNCH PAD SHREDDER WON'T SHRED MY FILES --------------------------------

        Create a shadow of your shredder object on the desktop and drag
        the items you want deleted to it or use Remove Items from the
        context menu in a FILES.BBS window.

--- MOVING ITEMS -------------------------------------------------------------

        Moving items up in a FILES.BBS window more than one window at a
        time can be a major chore. Here's a simple work around:

        1)  Select the item(s) at the bottom of the window you want to
            move.
        2)  Move up into the list approximately where you want them to go.
        3)  Hold down the CTRL key and click on an item to highlight it
            along with the other item(s).
        4)  Select one of the Sort options off the Context Menu.

        NOTE: This only works for moving items towards the TOP of your
        FILES.BBS.

--- CAN'T EXTRACT FILE_ID.DIZ ------------------------------------------------
--- DOS ARCHIVERS NOT WORKING ------------------------------------------------

        The following is the results of a lot of head scratching on my
        part for about the 30th time, now it is documented.

   -------------------------------------------------------------------------
   Area: OS2BBS

   Date : Dec 23 '94, 23:31
   From : Craig Morrison                                         1:201/60.0
   To   : Rick Cooke
   Subj : MaxFile/PM 1.24
   -------------------------------------------------------------------------

   Following up a message from Craig Morrison to Rick Cooke:

    RC> Robert Jung. My arj version is 2.41a also by Robert Jung.
    RC> can you suggest an alternative, as neither one works.

    CM>   I just did some checking.. :-(

    CM>   Somehow I've broken the DOS archiver support, I'll be
    CM> damned if I know what I did to break it but sure enough it's
    CM> hosed.

    CM>   This WILL be fixed ASAP, hopefully by the time you read
    CM> this message..

     After some more testing, make sure that in the AUTOEXEC.BAT for your
   DOS sessions you have the directory that your DOS archivers are in
   listed in the PATH statement. The DOS archiver support is _NOT_ broken
   in MaxFile/PM.

     I just got done testing MaxFile/PM with ARJ 2.41a and the following
   settings:

         Extract     ARJ x -y
         Add         ARJ a -r -y
         List        ARJ l -y
         Test        ARJ t -y

     All functions operated normally.

     It did NOT work until I remembered I had to reinstall OS/2 because of
   a drive failure and that I had forgotten to add my Utilities directory
   to the DOS PATH statement in my AUTOEXEC.BAT. Once I added the directory
   to the path ARJ/PKZIP/PKUNZIP et al magically started functioning
   correctly.

     Good luck! :-)

       See ya,

   Craig
   cam@wpc.cioe.com

   --- timEd/2 1.00
    * Origin: Workplace Connection * (317) 742-2680 (1:201/60)

------------------------------------------------------------------------------
