Contents of the README.DOC file

c.c - C functions called from Clipperclip.prg - Clipper program to test functions in c.cc.mak - make file to compile clip.prg and c.cclipper.txt - documentation on Clipper interface with Cc.exe - executable test program (test Clipper with C)

These files were created for the 03/01/90 meeting of the Twin Cities (Minnesota) meeting of the dBASE Compiler User Group.

A variety of C functions (in the file c.c) called from clip.prg are intendedto help Clipper programmers understand how to call C from clipper. The Clipper program is designed so that you can interchange different tests.The C functions are designed to give people who would like to use C withClipper; but were unable to make much sense from the Clipper Manual sectionon the extend system, a place to start.

Programming in C offers many benefits to the Clipper programmer. Thesebenefits include: flexible and efficient data types, low-level access toperipheral devices, blazing control structures, a preprocessor, etc.In addition, I believe programming in C helps programmers to understand andefficiently utilize the power of many programming languages.

The specific functions included here are intended only to demonstrateClipper's C interface and not fit any specific purpose. You may enjoyenhancing some of the routines or practicing with Clipper's C interface.

C functions included are:

ktom() - convert kilometers to milesconvdtoh() - convert decimal numbers to hexadecimalfilecr() - create a filefiledir() - return the number of files that match a particular maskfiledel() - delete files that match a particular mask (TEMP*.*, etc.)change_dir() - change the current directoryret_stack() - return current stack sizerandfile() - return a random file namegetenvvar() - return the current setting of an environment variableputenvvar() - modify a variables in your environment variable tablememavail() - amount heap space availablemaxmem() - maximum block of heap space availablenearheap() - return the status of the near heapfarheap() - return the status of the far heapheapwalk() - step through your heapexpand() - attempt to enlarge a block of memoryon_exit() - install a C function to execute upon an exit(0) from within Cexit_0() - call exit(0) to exit from Clipperreverse_st() - reverse the contents of a stringmonth_txt() - return the text for the number of a particular monthc_ave() - average the numeric elements of a Clipper array

If you have any questions or comments, please feel free to contact me at: