**************************************************************************

Rock Island Operation, Inc. (RIO) is pleased to announce the availability of
four new FoxPro 2.5 DOS API Libraries providing high value programming functions
at very affordable prices.  All four libraries are offered in shareware to
provide the user with a no cost method for evaluation before purchase, and all
four may be registered online through CompuServe.

<> Two Idle Handler Libraries: RIO_AtRest
                             : RIO_AtRestPlus

<> NetWare Basics Library    : RIO_NWbasics

<> Inactivity Detection and
   Screen Control Library    : RIO_ScrnCtrl

**************************************************************************

RIO_AtRest 1.0 Idle Handler Library, ATREST.PLB.

FEATURES :

<> Contains Two Idle Handlers

RIO_ATREST provides both Cyclic (time-interval) and Scheduled (set-time) Idle
Handlers for the execution of user specified procedures and functions.  A Cyclic
and a Scheduled idle handler may be established with RIO_ATREST concurrently.
The RIO_ATREST idle handlers are called by FoxPro whenever it is not otherwise
engaged; in other words, "idle", or waiting for keyboard or mouse input.

The Cyclic Idle Handler executes the user specified procedure or function at a
user specified interval (the cycle), set in seconds from 1 to 86399.

The Scheduled Idle Handler executes the user specified procedure or function at
every user specified time-of-day (the schedule), set in hours, minutes, seconds
in 24:00:00 hour notation.

Implement an Elapsed-Time action 10-minutes from "now" by combining the
Scheduled Idle Handler and IncrementTime functions:

  =RIO_ATREST("SetIdleTo", "Schedule", [command], ;
   RIO_ATREST("IncrementTime", TIME(), "00:10:00"))

<> Twelve Functions

  Idle Handler Functions :

    SetIdleTo, Cycle
        Load and set the Cyclic idle handler to execute a procedure or function
        on a timed interval cycle, or unload the cyclic idle handler.
    SetIdleTo, Schedule
        Load and set the Scheduled idle handler to execute a procedure or
        function at a set time of day, or unload the scheduled idle handler.
    GetIdleCommand
        Query the Cyclic or Scheduled idle handler command setting.
    GetIdleTime
        Query the Cyclic or Scheduled idle handler time setting.
    EnableIdle
        Enable a previously disabled Cyclic or Scheduled idle handler.
    DisableIdle
        Disable a previously loaded and enabled Cyclic or Scheduled idle
        handler.
    IdleStatus
        Determine whether Cyclic or Scheduled idle handler is loaded and enabled
        or disabled.
    RemoveIdle
        Remove previosly loaded idle handler(s).

  Unique Time Functions :

    DecrementTime and
    IncrementTime
        Decrement or Increment a time string like "10:25:30", as might be
        returned by the TIME() function, by hours, minutes, and seconds.
    SecondsToTime
        Convert seconds-from-midnight, as might be returned by SECONDS(),
        into its time string equivalent like "10:25:30".
    TimeToSeconds
        Convert a time string like "10:25:30", as might be returned by the
        TIME() function, into its seconds-from-midnight equivalent.

  Dynamic Dialog Function :

    ALERT
        Dynamically generate multi-purpose dialog boxes.  Control window
        color, content, user action, and user choices.  Returns user choice
        selection.

<> Unique Library Access Function

RIO_ATREST utilizes a unique function call interface in the form of a Library
Access Function named after the ATREST.PLB filename : RIO_ATREST(), through
which all of the library's functions are accessed.

Function calls are made like : RIO_ATREST("DecrementTime", ...)

Prevents potential function name conflicts between multiple loaded libraries.

Allows for the use of more meaningful function names by breaking through the
10-character limit.

APPLICATIONS :

* Automate a nightly backup.
* Periodically check for network messages.
* Perform scheduled file/data integrity checks.
* Periodically check your e-mail for new entries.
* Conduct daily maintenance for performance: sort files on key values.
* Automatically refresh @SAY and @GET fields, periodically picking up
  modifications made by other network users.
* Start an upload of the day's transactions to a remote host.
* While you proceed with other tasks, check previously locked files or records
  for availability.
* Automate a nightly status report.
* Run a system status log in the background.
* Filter and sort your e-mail before arriving at the office.
* Check your calendar/scheduler for imminent meetings and appointments and
  display a reminder notice to yourself.
* Establish weekly, monthly, and annual automated tasks.
* Check system variables for "trigger" conditions, and automatically schedule a
  report to run that evening.
* Initiate nightly batch tasks.

ACQUISITION and REGISTRATION

The ATREST 1.0 Idle Handler Library is available on CompuServe.  To download for
Evaluation :

GO FOXFORUM
Library      : # 6, FP DOS API/PLBs
Program Title: RIO_ATREST 1.0 Idle Handler Library
Program Name : ATREST.PLB 1.0
Filename     : ATREST25.ZIP

To Register and receive your unique Activation Key :

GO SWREG
Sharewaren ID# :  2244
Program title  :  RIO_ATREST 1.0

**************************************************************************

RIO_AtRestPlus 1.0 Advanced Idle Handler Library, ATRSTPLS.PLB.

FEATURES :

<> Unlimited Idle Handlers

RIO_AtRestPlus provides both Cyclic (time-interval) and Scheduled (set-time)
Idle Handlers for the execution of user specified procedures and functions.  Any
number of Cyclic and Scheduled idle handlers may be established with
RIO_AtRestPlus concurrently, limited only by memory.

<> Twelve Functions

  Same as RIO_AtRest.  Refer to the above presentation.

ACQUISITION and REGISTRATION

The RIO_AtRestPlus 1.0 Advanced Idle Handler Library is available on CompuServe.
To download for Evaluation :

GO FOXFORUM
Library      : # 6, FP DOS API/PLBs
Program Title: RIO_AtRestPlus 1.0
Program name : ATRSTPLS.PLB
Filename     : ATRSTP25.ZIP

To Register and receive your unique Activation Key :

GO SWREG
Shareware ID# : 2247
Program title : RIO_AtRestPlus 1.0

**************************************************************************

RIO_NWbasics 1.0 NetWare Basics Library, NWBASICS.PLB.

FEATURES :

<> Nine Functions

* Determine if workstation is connected to NetWare server.
* Find current user's NetWare UserID.
* "Walk" NetWare's user list.
* Find out a particular user's login status.
* Determine workstation's network message mode; receive or block.
* Set workstation's network message mode; receive or block.
* Retreive a stored NetWare network message.
* Send a NetWare network message to another user.
* And, synchronize workstation clock to the NetWare server clock.

<> Unique Library Access Function

RIO_NWbasics utilizes a unique function call interface in the form of a Library
Access Function named after the NWBASICS.PLB filename : RIO_NWbasics(), through
which all of the library's functions are accessed.

  Function calls are made like : RIO_NWbasics("GetUser")

* Prevents potential function name conflicts between multiple loaded libraries.

* Allows for the use of more meaningful function names by breaking through the
  10-character limit.

BENEFITS :

Developing network-aware applications for NetWare environments in FoxPro
presents a problem as FoxPro's SYS(0), network machine number function, won't
tell you whether you are on a NetWare network, and you can't get the NetWare
UserID.  You could set a DOS environment variable with the workstation user's
name or ID from NetWare's Login script, allowing your application to GETENV() to
retrieve it and validate whether the user did login.  However, this technique is
flawed as NetWare does not have a comparable "Logout" script with which to
remove the previously set environment variable.  Therefore, you still have no
reliable means of testing whether the user is currently logged in to the NetWare
file server.

RIO_NWbasics provides the fundamental NetWare functions you need for your
applications to automatically determine whether they are operating in a NetWare
network environment:

* Is the current workstation connected to the NetWare file server?
* Is the current workstation user logged in to the NetWare network?
* What is the current user's NetWare UserID?

And, RIO_NWbasics has additional functions to :

* Find all NetWare network users.
* Determine those users' login status.
* Facilitate user-to-user NetWare messaging.
* Synchronize workstation date/time to the NetWare file server clock.

Possible applications of RIO_NWbasics:

* Quickly and accurately determine whether you're Connected to a NetWare file
  server and whether you're LoggedIn.

*  Use GetUser to access the workstation's NetWare UserID and :

  - Automate application security accesses by NetWare UserID.
  - Maintain an application usage log.
  - Perform "Who-Has" of file and record locks through an
    application-maintained lock-log by UserID.
  - Facilitate application user messaging and message queues.

* Use GetNextUser and LoggedIn, to determine all UserIDs of the NetWare server
  and their login status.

* Automatically SendMessage to any one or all currently logged-in NetWare server
  users.

* Ensure all workstations running your application are date/time synchronized to
  the NetWare file server clock.

If you also have Rock Island Operation's RIO_AtRest Idle Handler Library you can
combine the acquisition of the NetWare UserID and Login status of your
application's users with the capabilities of RIO_AtRest to :

* Provide automated application polling for network messages for the current
  user, or from specific users, and enable interactive user messaging.

* Combine "Who Has" functionality, automatic lock request to lock-holder, and
  automatic lock acquisition/notification to current user when file/record
  becomes available.

ACQUISITION and REGISTRATION :

The RIO_NWbasics 1.0 NetWare Basics Library is available for download on
CompuServe.  To download for Evaluation:

GO FOXFORUM
Library      : #6, FP DOS API/PLBs
Program Title: RIO_NWbasics 1.0
Program Name : NWBASICS.PLB
Filename     : NWBAS25.ZIP

To register and receive your Activation key :

GO SWREG
Shareware ID# : 2245
Program Title : RIO_NWbasics 1.0

**************************************************************************

RIO_ScrnCtrl 1.0 Inactivity Detection and Screen Control Library,
                      SCRNCTRL.PLB

FEATURES:

Inactivity Detection Handler functions:

  SetTimeOut    : Set to procedure/function upon specified inactivity time.
  DisableTimeOut: Temporarily disable inactivity detection.
  EnableTimeOut : Reenable inactivity detection.
  RemoveTimeOut : Remove the inactivity detection handler.

Screen Control functions:

  DirectVideo   Ŀ Set RIO_ScrnCtrl to use direct video or BIOS video.
  IndirectVideo 
  Crumble        : Randomly "crumble" characters from the display.
  ClearDisplay   : Blank the full screen.
  RefreshDisplay : Redisplay full screen from FoxPro's video memory.
  SaveScreen     : Save full screen image with attributes to variable.
  RestoreScreen  : Restore full screen image with attributes from variable.
  ScreenText     : Save full screen image as text for documentation.

The Inactivity Detection Handler executes a program procedure or function upon
detecting contiguous user inactivity of a program-specified duration.

APPLICATIONS :

Use SetTimeOut to execute your procedure to take full program control of user
inactivity in your applications.

Create your own "screen saver" routines.

Automatically protect screen displays from prying eyes while user is away from
the workstation or on the phone.

Ensure application and data security when users leave their station for extended
periods.

Provide highly sensitive applications with a password protected "lock-out"
feature on user inactivity.

And,

During development, use the ScreenText function through an ON KEY LABEL to
capture full screens to text for documentation.

ACQUISITION and REGISTRATION :

The RIO_ScrnCtrl 1.0 Inactivity Detection and Screen Control Library is
available for download on CompuServe.  To download for Evaluation:

GO FOXFORUM
Library      : #6, FP DOS API/PLBs
Program Title: RIO_ScrnCtrl 1.0 Inactivity Detection and Screen Control
Program Name : SCRNCTRL.PLB
Filename     : SCNCTL25.ZIP

To register and receive your Activation key :

GO SWREG
Shareware ID# : 2325
Program Title : RIO_ScrnCtrl 1.0

**************************************************************************
**************************************************************************

Rock Island Operation, Inc. (RIO)
534 West First Street
Milan, IL 61264-2716

CIS 73301,1014

309-787-8330 Voice
309-787-8385 Fax

