home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #3
/
MONSTER.ISO
/
clipper
/
rlib32.txt
< prev
next >
Wrap
Text File
|
1993-09-15
|
16KB
|
344 lines
RLIB 3.2
Useful Functions for Clipper Application Developers
By Richard Low
Introduction
============
This file lists the features and highlights of RLIB 3.2, a function
summary by category, and an order form.
The shareware version of RLIB 3.2 is available for download from
CompuServe in the CLIPPER forum library in the file named RLIB32.EXE.
What is RLIB?
=============
RLIB is a Clipper function library that furnishes the application
programmer a collection of routines to aid in rapid application
development. RLIB also contains a set of sophisticated high level
functions to help you build intuitive end user applications.
RLIB is a collection of functions that simplify a wide range of
applications oriented programming tasks such as creating and
maintaining menus, message boxes, database record selection routines,
network locking functions and much more.
There are many libraries available for Clipper programmers that
provide indispensable functions. Most of these library functions are
written in C and Assembler and provide access to features which are
not currently supported in Clipper. RLIB was not designed to provide
these types of functions, which are widely available from a number of
sources and provide excellent functionality. RLIB was designed for
the Clipper programmer that creates customized application programs
and systems and who is interested in using a collection of functions
to make this job faster and above all, consistent.
All RLIB functions are written in Clipper and all of the routines that
RLIB utilizes are in the CLIPPER and EXTEND libraries distributed in
the Clipper package. Clipper has a rich set of commands and functions.
If you are curious as to some of the capabilities of Clipper, then
check out the functions in RLIB. They are ALL WRITTEN 100% IN CLIPPER!
Optimized for 5.0
=================
RLIB contains libraries for CA-Clipper 5.2, Nantucket Clipper 5.01 and
Summer '87. Moreover, the 5.x RLIB functions have been fully optimized
for, not merely re-compiled under, Clipper 5.x. PRIVATE and PUBLIC
variables have been converted to LOCAL and STATIC to take advantage of
the increased performance and reduced object code size. Code blocks are
extensively used in place of macros for significant speed enhancements.
Instructional Source Code
=========================
All RLIB functions are written 100% in Clipper and come with full source
code in both Clipper 5.x and Summer '87. The source code is an
excellent example of sound and consistent coding style with innovative
techniques. Each RLIB function is meticulously coded, well commented,
and very readable. These functions are the result of eight years of
Clipper programming experience, constantly exploring every Clipper
feature.
The source code is also a superb example of how to optimize your code
conversion from Summer '87 to 5.x. By comparing the source code from
the Summer '87 to the 5.x RLIB library functions, you can see how to get
the most from your conversion. You will see how to make the most
efficient use of LOCAL and STATIC variables and how to optimally convert
from the use of macros to code blocks.
Includes Message Reader 2.0
===========================
RLIB 3.2 comes bundled with Message Reader 2.0, a program which
simplifies and diversifies the management of messages captured from
CompuServe forums. Message Reader lets you easily handle the voluminous
amounts of information to be gleaned from the CompuServe forum message
bases. RLIB 3.2 includes the full source to Message Reader 2.0, over
3,500 lines of commented and highly instructional code that is an
excellent sample of what RLIB functions can do.
Features
========
* Demo program with over 90K of sample code that demonstrates practical
use of RLIB functions.
* An extensive Norton Guides on-line function reference database for
instant pop-up RLIB reference.
* PICKREC() - The premier database picklist function! Use it once and
you'll never give it up. Much simpler than TBROWSE() or DBEDIT().
Built in cursor control with speed key index lookup. A mark option
builds a set of records to process, similar to the F5 key in NetWare
menu utilities. Border boxing options with extensive color control.
Create a partial (conditional) view of an indexed database with one
parameter! Specify a procedure or function to be executed with each
keypress. Designate exit condition keys.
* PDOWNMENU() - Professional pull down menus with separator lines,
dynamic graying of options and much more. Automatic menu boxing
(double line active, single line in-active) and dimming. Color
options let you control all menu elements; top menu options and
highlight, pull down menu options and highlight, unselectable options,
box colors (both active and inactive), and menu option message text.
* QUERY() - With one function call you have a complete full screen menu
driven query manager with AND and OR connector logic. Displays an
English like description while you build your query.
* OPENED() - Open multiple database and index files with one call to
OPENED() with complete error reporting. Reduce coding by 90%,
especially in network environments!
* Complete set of network file open, record and file lock, and append
functions with automatic error recovery and message generation.
* ASCII text file 250+ page user manual containing an extensive function
reference, with descriptions, information and examples.
* Over 9,000 lines of executable source code in both Clipper 5.x and
Summer '87. This source code is extremely well formatted and legible
with extensive comments.
* The RHELP compiler and function API which lets you create text-based,
indexed access help files.
* Free unlimited technical support via CompuServe Mail.
List of RLIB 3.2 Functions By Category
======================================
Array Functions
---------------
ADIM2() Formulate two dimension reference to a linear array.
ALIST() List the elements of an array in a screen window.
ARRAYLEN() Count the number of contiguous elements in an array.
Character Functions
-------------------
ACRONYM() Convert a text string to its abbreviated acronym.
ANYCHARSIN() Test if any characters in a string are in another.
BRIGHT() Convert Clipper color string to its bright equivalent.
DECRYPTED() Decrypt a character string encrypted with ENCRYPTED().
ENCRYPTED() Encrypt a character string.
GETKEY() Replace INKEY() to allow internal customization.
GETPARM() Retrieve comma delimited token from character string.
MIDDLE() Center string by padding with leading/trailing spaces.
NAMESPLIT() Swap from First Middle Last to Last, First Middle.
NOTEMPTY() Validate that data was entered in a field.
PARENT() Retrieve parent directory for a specified directory.
PATHTO() Search DOS path for path leading to a given filename.
STRETCH() Pad string with blanks or truncate to a defined width.
TYPEC() Test if a PUBLIC/PRIVATE is character and not blank.
VALTYPEC() Test if a LOCAL/STATIC is character and not blank.
Database Functions
------------------
CATF() Copy array values to database fields.
CFTA() Copy database field values to an array.
CHANGED() Test if memory copies of fields have been changed.
CLOSEAREA() Close multiple database work areas with one command.
DBFCREATE() Dynamically create a database from a structure array.
FORGET() Release field variables created with MEMORIZE().
ISDBF() Test if a file is a valid .DBF format database file.
ISFIELD() Test if a field name is valid in the selected area.
MAKEALIAS() Construct a database alias from a full filename.
MARKREC() Mark/select multiple records from a pick list.
MEMORIZE() Save fields from database record to memory variables.
MREPLACE() Replace fields with memvars created with MEMORIZE().
NO_APPEND() Network append blank function with error trapping.
NO_FLOCK() Network file lock function with error trapping.
NO_RLOCK() Network record lock function with error trapping.
NTXKEYVAL() Get controlling index key value of the current record.
OPENED() Open multiple databases with network error checking.
PICKREC() Pop up a scrollable pick list of database records.
POPUPPICK() Generic pop-up pick list handler.
QUERY() Create a logical query/filter string via menu prompts.
Date Functions
--------------
ALPHADATE() Convert date variables to alphabetic format.
CALENDAR() Pop up a configurable calendar on the screen.
REVDATE() Reverse date fields for reverse index ordering.
STR2DATE() Convert date strings to a Clipper date type variable.
File Functions
--------------
CHECKFILE() Verify valid filenames, optionally pop up a pick list.
FEOF() Test for the End Of File status on a binary file.
FILEDATE() Retrieve last update date for a given file from DOS.
FILES() Test for the existence of multiple files.
FILESIZE() Retrieve the size of a file from DOS directory.
FILETIME() Retrieve the last update time for a given file.
FREADLINE() Read line from text file opened with FOPEN()/FCREATE()
GETFILE() Full featured user dialogue box for GETing filenames.
OLDERFILE() Determine the older of two disk files.
PICKFILE() Pop up directory listing from which to select a file.
TEMPFILE() Generate a temporary filename.
Help Functions
--------------
RH_HEADER() Retrieve the header from a RHELP compiled help file.
RH_LINES() Get the number of text lines within a help text block.
RH_TEXT() Extract help text for a key from compiled .HLP file.
RH_WIDTH() Get the maximum line width within a help text block.
Menu Functions
--------------
BARMENU() Create horizontal light bar menus.
BOXMENU() Create boxed framed highlight bar (pop up) menus.
MULTIMENU() Multi-column menus with four way cursor movement.
PDOWNINIT() Initialize the PDOWNMENU() function for use.
PDOWNMENU() Activate pull-down menu initialized with PDOWNINIT().
Miscellaneous/Internal Functions
--------------------------------
BEEP() Ring the system bell one or more times.
BLIP() Generate a blipping sound for warnings or errors.
BUZZ() Generate a buzzing sound for warnings or errors.
RLIBERROR() Return and optionally set the last RLIB error number.
RLIBINIT() Initialize internal RLIB PUBLIC/STATIC variable(s).
RLIBVER() Retrieve the version number of the RLIB.LIB linked.
NetWare Functions
-----------------
NWIpxLoaded() Test if IPX is loaded on the requesting workstation
NWShellLoaded() Test if the NetWare shell (NETx) is loaded
NWLoggedIn() Test if the calling station is logged in to a server
NWConnectID() Get workstation connection number
NWLoginId() Get login id of user logged into the current station
NWFullName() Get full name of user logged into the current station
NWLoginTime() Get login time of the current connection
Numeric Functions
-----------------
BIN2DEC() Convert binary number to its equivalent decimal value.
DEC2HEX() Convert decimal numeric value to a hexadecimal string.
DIVIDE() Divide numbers with divide by zero protection.
HEX2DEC() Convert hex string to equivalent decimal value.
VRANGE() Numeric range validation with error handling.
Printer Functions
-----------------
PRINTCODE() Convert text printer codes into escape sequences.
REPORTINIT() Initialize databases used by StartReport() function.
STARTREPORT() Report format and print control facility.
TARGET() Provide a pop-up target printer output selection menu.
Screen Functions
----------------
ABOXASK() Pop up a centered message box using array of messages.
ATINSAY() Display expression at in a specified color.
BORDERBOX() Draw a box with a one line title area at the top.
BOXASK() Pop up a centered message box using multiple messages.
CENTER() Center a string and/or get the center position.
FPROMPT() Display formatted and highlighted prompt strings.
FRESTSCREEN() Restore screen from a file saved with FSAVESCREEN().
FSAVESCREEN() Save screen to file to restore with FRESTSCREEN().
KEYINPUT() Get keyboard input optionally echoing dots to screen.
PICKCOLOR() Pick a color setting from a boxed display.
POPBOX() Restore a screen from a SAYINBOX() screen variable.
RJUSTIFY() Move trailing blanks to the front.
SAYINBOX() Pop up centered message box using multiple messages.
SETCURSOR() Retrieve and optionally set the current cursor state.
************************************************************************
RLIB 3.2 REGISTRATION & ORDER FORM
To order your copy of RLIB 3.2, send or FAX the following order form, or
call to place your order by telephone. We will send your diskettes by
First Class U.S. Mail at no charge within the United States and Canada.
The registration fee for RLIB 3.2 is $49 US. Please add $4 US for
overseas orders.
O R D E R F O R M
Send to: RLIB Software Tel: (919) 382-8114
P. O. Box 3232 Fax: (919) 382-3028
Durham, NC 27715 CompuServe: 72007,1063
Quantity Item Description Unit Cost Total
_____ RLIB 3.2 Function Library in $49.00 ________
CA-Clipper 5.2, Clipper 5.01,
and Summer '87 versions,
including full source code.
*** No charge for shipping within the United States and Canada ***
For shipping outside the United States and Canada please add:
_____ Outside the U.S. and Canada $ 4.00 ________
_____ Overnight (Only in U.S. and Canada) $20.00 ________
TOTAL $__________
Your Name: ______________________________________________________
Company: ______________________________________________________
Address: ______________________________________________________
City: _______________________________ State: _______________
Zip Code: _________________ Country: ___________________________
Telephone: (________)____________________________
Disk Size: ______3.5" ______5.25"
Payment: ______Check/M.O. ______MasterCard _______VISA
Card #: ______________________________ Expires: _____________
Name as it appears on card: _______________________________________
Signature: ______________________________________________________