Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Novlib 3.30 Online Reference - <b> ca-clipper</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 CA-Clipper
------------------------------------------------------------------------------
 NOVLIB supports both CA-Clipper Summer `87 and CA-Clipper 5.x versions,
 although some features, such as user defined commands (UDCs), are only
 available under CA-Clipper 5.x.

 NOVLIB Data Types and CA-Clipper

 When reading the function reference section of this manual, you will notice
 that each function argument and return value is denoted by a variable that
 has a `hungarian' prefix denoting the type of the variable that is
 expected. The following table lists the hungarian prefixes and the
 corresponding CA-Clipper data types.

 Prefix  Parameter Type           CA-Clipper Type
 b       Boolean                  logical
 dw      Unsigned 32 bit integer  numeric
 i       16 bit signed integer    numeric
 l       Signed 32 bit integer    numeric
 lpby    Long pointer to byte     character
 lpdw    Long pointer to 32 bit   integer numeric (@var)
 lpsz    Long pointer to ASCIIZ   string character
 w       16 bit unsigned integer  numeric

 The format of date values returned by NOVLIB is dependent upon the
 CA-Clipper SET DATE command.

 CA-Clipper Function Names

 The function reference section of this manual details the use of each
 NOVLIB function. Most compilers allow function and variable names of 32
 characters or greater, but CA-Clipper allows only 10 significant
 characters. For this reason, the names of most of the CA-Clipper callable
 functions differ from those used by the other supported languages. When
 studying the function reference chapter of this manual, note that the name
 of the corresponding CA-Clipper callable function can be found in the
 `Notes' section.

 NOVLIB includes a number of CA-Clipper 5.x UDCs (user defined commands)
 that are only available to CA-Clipper 5.x programmers. NOVLIB's UDCs
 emulate NetWare's command line utilities, such as CAPTURE, LOGIN, MAP and
 others, and provide an easy to learn starting point for the beginning
 NOVLIB user. The documentation for these UDCs can be found in the online
 help file.

 User defined commands are only supported by CA-Clipper 5.x. However their
 functionality can be emulated in CA-Clipper Summer '87 because most of the
 UDCs call associated UDFs (User Defined Functions). A large number of the
 NOVLIB functions are contained in NOVLIB.CH, a CA-Clipper 5.x header file.
 These are #defines for internal NOVLIB functions which give great
 flexibility and significantly reduce the memory overhead.
 NOVLIB contains some `low level' multi-purpose functions, particularly in
 the Bindery section. These functions can be called in a number of different
 ways with different parameters to get different results. For example in the
 bindery section there is a library function called SetPrpIDTst() which
 tests the bindery to see if an object is a member of the set property value
 of another object ( see the Bindery chapter for a further explanation of
 objects and properties ). In the NOVLIB.CH header file is a series of
 functions such as UsrSupTst() and QueOprTest() which are #define
 redefinitions of SetPrpIDTest() calling it in a particular manner. For
 CA-Clipper Summer '87 compatibility these redefinitions are contained in a
 file called NOVLIB87.PRG.

 The #commands for the UDCs are contained in the NOVLIB.CH file and their
 associated UDFs are contained in NOVLIB50.PRG. If you use any of the UDCs
 you must compile and link NOVLIB50.PRG into your program. Alternatively,
 you can copy the required functions into your own .PRG file.

 Compiling and Linking

 Compiling is simple. Just call the functions as you would any other
 CA-Clipper function. However it is important to include the NOVLIB.CH
 header file if you are using CA-Clipper 5.x, or to compile and link the
 NOVLIB87.PRG file in the case of CA-Clipper Summer '87.
 For example, a typical CA-Clipper 5.x program should have:

 #include "novlib.ch"

 included with your other #include statements.
 For CA-Clipper Summer '87, compile NOVLIB87.PRG and link it into your
 program at link time.
 The NOVLIB functions do not need to be declared using the CA-Clipper
 EXTERNAL command unless they are called solely from within a CA-Clipper
 macro.
 When using NOVLIB with CA-Clipper, three NOVLIB libraries must be linked -
 NOVLIBCL.LIB (CA-Clipper interface), NOVLIB.LIB and NOVDOS.LIB. The NOVLIB
 libraries need to be specified at link time along with any other necessary
 libraries. For example, CA-Clipper Summer '87 requires the EXTEND library
 to be explicitly specified. NOVLIBCL.LIB and NOVLIB.LIB are almost
 completely overlayable using a dynamic overlay linker such as Blinker, for
 which a script is provided (NOVLIBCL.LNK).

 NOVLIB is fully compatible with Blinker 3.0 and later versions in protected
 mode, dual mode and real mode, and is compatible with CA-Exospace in
 protected mode.

 Blinker

 If Blinker is being used to link the program, the following general format
 applies:

 BLINKER FILE <filenames> LIB CLIPPER,NOVLIBCL,NOVLIB,NOVDOS

 If a response file with a .LNK extension is being used instead of command
 line arguments as above, include the following line in the .LNK file:

 LIB NOVLIBCL,NOVLIB,NOVDOS

 To overlay NOVLIB to minimise memory overhead in real mode DOS programs,
 use the supplied link file NOVLIBCL.LNK, which will ensure NOVLIB is
 overlaid correctly.

 # TEST.LNK
 BLINKER INCREMENTAL OFF
 FILE TEST
 @NOVLIBCL

 PLINK86-Plus

 If PLINK86-Plus is being used to link the program, the following general
 format applies:

 PLINK86 FILE <objects> LIB NOVLIBCL,NOVLIB,CLIPPER,EXTEND

 If a response file with a .LNK extension is being used instead of command
 line arguments as above, include the following line in the .LNK file:

 LIB NOVLIBCL, NOVLIB, NOVDOS, CLIPPER, EXTEND

 Microsoft LINK & Borland TLINK

 If the Microsoft or Borland linker is being used, the following general
 format applies:

 LINK <objects>,<exefile>,<map>,NOVLIBCL+NOVLIB+NOVDOS+CLIPPER

 PocketSoft .RTLINK

 If the .RTLINK supplied with CA-Clipper 5.x is used, the following general
 format applies:

 RTLINK FILE <objects> LIBRARY NOVLIBCL, NOVLIB, NOVDOS

 If a response file with a .LNK extension is being used instead of command
 line arguments as above, include the following line in the .LNK file:

 LIBRARY NOVLIBCL,NOVLIB

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson