Dec 092017
Various C functions for Clipper. Very easy to include in your own programs. Full source code.
File CFORCLIP.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Various C functions for Clipper. Very easy to include in your own programs. Full source code.
File Name File Size Zip Size Zip Type
ATNBR.OBJ 430 371 deflated
ATT.OBJ 720 532 deflated
BETWEEN.OBJ 657 542 deflated
BXX.OBJ 1573 1014 deflated
CAPS.OBJ 304 245 deflated
CFORCLIP.DOC 6318 1995 deflated
CLRS.OBJ 795 425 deflated
COUNTCHR.OBJ 412 356 deflated
KBD.OBJ 349 310 deflated
PRNT.OBJ 486 408 deflated

Download File CFORCLIP.ZIP Here

Contents of the CFORCLIP.DOC file

Introduction Tue 06-13-1989

Here is a collection of 'C' language routines I've written for
mu Clipper Library - SuperFunction Library. I'm distributing these
as No-ware. Basically, I Garry Prefontaine, retain copyright for these
routines, but make them freely available for use.

You may use them freely in developing and distributing executable
files (.EXEs). They may not be distributed for profit in object format,
either as individual object files or in library files.

Source for these functions is available with the purchase of my
shareware library - SuperFunction library - for $45.00.

Files contained herein:

CFORCLIP.DOC - this file
BXX.OBJ - contains BXX()
ATT.OBJ - contains ATT()
ATNBR.OBJ - contains ATNBR()
PRNT.OBJ - contains PRNT()
KBD.OBJ - contains KEYBD()

Function usage

Function: Atnbr()

Purpose : Find nth occurance of character in string
Usage : Atnbr(, , )
Params : expC1 - string to search
expC2 - character to search for
expN - occurance to search for

Returns position of nth occurance of in .

Function: Att()

Purpose : Change attribute of area of the screen
Usage : Att(, , , , , [expC] )
Params : expN1 - top row
expN2 - left col
expN3 - bottom row
expN4 - right column
expN5 - attribute to set area
expC - character to fill area with

Returns nothing.

Function: Takeout()

Purpose : Extract section of a string between delimiters
Usage : Takeout(, , )
Params : expC1 - string
expC2 - delimiter (beginning and end of string are considered
expN - occurance

Example : takeout("Next:Previous:First:Quit",":",3)
returns "First"

Returns section of string between delimiters, occurance .

Function: Bxx()

Purpose : Draw a box on the screen with attribute and optional shadow
Usage : Bxx(, , , , , [expN6] )
Params : expN1 - top row
expN2 - left col
expN3 - bottom row
expN4 - right column
expN5 - attribute to box
expN6 - numeric shadow type (default 0 - no shadow)
follow numeric keypad | 7 8 9
| 4 5 6
| 1 2 3
expN7 - shadow attribute (default 7 - grey on black)
expC - frame string - MUST be 8 characters - default single

Returns nothing.

Function: Capslock() - sets capslock on
Capsloff() - sets caps lock off

Function: Standard() Enhanced() Unselected()

Returns : Numeric code for current color setting
Standard Enhanced Unselected
| | |
"W/N , N/W , , ,+W/B"

Function: Countchr()

Purpose : Count occurances of character in string
Usage : Takeout(, , )
Params : expC1 - string
expC2 - count character

Example : Countchr("ABCDABCABA","A")
returns 4

Returns count of characters in string

Function: Keybd()

Purpose : Returns shift status of
Scroll Lock - 4
Numlock - 3
Capslock - 2
Insert key - 1

Usage : Keybd(expN)
Params : 1-4 as above.

Function: Prnt()

Purpose : Write string to row/col with attribute
Usage : Prnt(, , , )
Params : expN1 - row
expN2 - col
expC - String to write
expN3 - color attribute of string
Example : Prnt(10,10,"Hello, Dolly , yes hello, Dolly",23)

Returns nothing. Does not change cursor location or color setting.

Garry Prefontaine
Functional Software
920 N Washington
Edmond, OK, 73034
(405) 340-1940


Garry Prefontaine distributes these functions solely on an "as is"
basis and offers no warranties at all.

Garry Prefontaine shall not bear any liability or responsibility to
any user or entity with respect to any liability, loss or
damage caused, or alleged to be caused directly, or indirectly
by the functions contained in this product, including but not
limited to interruption of services, loss of business or
anticipatory profits or consequential damages resulting from
the use or operation of any of the functions contained in this

Garry Prefontaine makes no warranties, either expressed or implied
regarding this software product, it's merchantibility and/or
it's fitness for a particular purpose. The user agrees that
Garry Prefontaine shall not be held liable for any consequential
damages, even if Garry Prefontaine has been advised of the possibility
of such damages.

By using any of these functions , you
acknowledge your agreement with all of the above conditions.

 December 9, 2017  Add comments

Leave a Reply