Data Drilling into Clipper .DBF Files Using .NTX Indexes

Robert Geer

First, the real Clipper file format info is found at:

Note: the "readme" file contains references to: The first references no longer appears to include file format info. Borland as changed its name & a quick look at their new Web page revealed nothing regarding dBase file format. Oh well...
bgclipper is a library of simple C functions that provide read-only access to Clipper .DBF file records using .NTX index files. It compiles & runs on both DOS/Win & Linux. Note the CWSDPMI & go32-v2.exe utilities from DJGPP are required for DOS & Win3.

My wife uses a Clipper-based database application at her medical practice. The program is very useful but lacks some functionality. The vendor's upgrades after ver.3 did not include the desired functionality, plus the new versions are prohibitively expensive to buy & require much more ram, disk, & processor speed (no surprise there, eh?).

As a software engineer, I have no problem augmenting the software designs of others. I wished to add:

bgclipper provides a basis for building C programs that access the data .DBF & .NTX files. It is not available in binary. It is not a generalized user tool. It does not support writing to .DBF & .NTX files. It is a programmer's tool.

I undertook this development, not because I'm too cheap to buy Clipper, but because I prefer Unix, hate DOS/Win, & hate even more the thought of purchasing a DOS/Win product for a single, very limited use.

I started this development on Win95 using the DJGPP V2 port of the FSF Gnu compiler (gcc) which is downloadble from DJGPP. After successfully creating a set of basic data access functions I ported my source & Makefile to Linux & continued development. I copied the result of that development back to my Win95 partition & had no problems compiling & executing it. Thus these programs run on either Linux or DOS/Win.

Indeed, bgclipper should compile & run an any Unix system with gcc. Minor tweaking of the Makefile may be required to accomodate subdir layout differences & the like.

The source code is available in DOS text (\r\n line delimiter) & Linux text (\n line delimiter) formats. Otherwise, the code as essentially identical. There are slight differences in the make files.

     To	obtain bgclipper via anonymous ftp:
	     prompt> ftp
	     prompt> user: anonymous
	     prompt> password: [user@domain]
	     prompt> cd	/pub/users/b/bgeer
	     prompt> get ipmasq.tgz
	     prompt> quit