DbfLIB

A multi-platform C library that allowed you to work with xBase database, index and memo files from your C program. Shipped as a compiled static library for DOS and as a royalty free DLL for 16 and 32 bit versions of both OS/2 and MS Windows. The company later introduced a C++ version of the library called dbfLIB++ that was shipped free with the C version of the library, and when the market for dBase related products started cooling down around the turn of the century the company responded by lowering the prices of the product and offering the package in a source code form which opened up the possibility to use the library with other operating systems.

Features
According to the company sales blurb
 * Meaningful function names familiar to the xBASE programmer.
 * Network support.
 * File and record locking.
 * Functions for opening, creating, updating, reading, and indexing dBASE files.
 * Soundex searching
 * Handle-based function calls (permits safe multi-threading)


 * File format support
 * DBF (dBASE, Clipper, Foxpro database)
 * DBT (dBASE, Clipper memo fields)
 * FPT (Foxpro memo fields)
 * NDX (dBASE index)
 * NTX (Clipper index)

Version

 * Last known version: v.3.15 for OS/2 and MS Windows.


 * Compiler support for v.3.1x
 * Microsoft C Version 6.0a (DOS & OS/2 1.x)
 * Microsoft Visual C++ 1.5x (Windows 3.1)
 * Microsoft Visual C++ 2.x (Windows 95/NT)
 * Microsoft Visual C++ 4.x (Windows 95/NT)
 * Borland C++ (DOS, Windows 3.1)
 * MetaWare High C/C++ (OS/2 Warp)
 * IBM C Set++ (OS/2 2.x & Warp)
 * IBM VisualAge C++ (OS/2 Warp)
 * Watcom C/C++ 10.x (DOS, Windows 3.1, OS/2 1.x, OS/2 2.x, OS/2 Warp, Windows 95/NT)

Licence and availability

 * Commercial - Discontinued
 * Last known prices for dbfLIB ca. 2003 were USD 195 for the basic library, USD 295 for the source code version and USD 995 one time payment and USD 395 per year for a site license. dbfLIB could also be bought in a bundle with dbfREXX for USD 329. Prices in the 1990's were higher than this.

Links

 * Using dbfLIB with Borland C++ 5. - A page explaining how you can use the library with newer Borland C++ and CBuilder compiler.

Author

 * dSOFT

API
This is a list of the calls the dbfLIB DLL/library accept, they are listed here simply as a reference for those that may have the library but not the handbook. DbfAppend                DbfDeleteAll             DbfRecall DbfAppendFrom            DbfDeleted               DbfRecallAll DbfAppendMultiple        DbfFlushWrite            DbfReccount DbfBottom                DbfGetDatabaseType       DbfRecno DbfClearRecBuf           DbfGo                    DbfRefresh DbfClipperLock           DbfHandle                DbfSeek DbfClose                 DbfLocate                DbfSeekNoPad DbfCloseAll              DbfLock                  DbfSetDeleted DbfCopyTo                DbfMarkAll               DbfSkip DbfCreate                DbfName                  DbfSort DbfCreateExtended        DbfNSeek                 DbfSoundex DbfCreateFile            DbfOpen                  DbfTop DbfCreateFromExtended    DbfPack                  DbfUnlock DbfCreateFromFile        DbfPackAndReindex        DbfUse DbfCreateFromHandle      DbfPadString             DbfWriteRec DbfDB4Lock               DbfQueryLock             DbfZap DbfDelete                DbfReadRec

FldChangeName            FldReplaceDirect         FldRefDecimals FldCopy                  FldReplaceDate           FldRefPtr FldCopyAndPad            FldReplaceNum            FldRefReplace FldCopyDate              FldReplaceLog            FldRefReplaceCount FldCount                 FldType                  FldRefReplaceDirect FldDecimals              FldTrue                  FldRefReplaceDate FldName                  FldWidth                 FldRefReplaceNum FldNRef                  FldValue                 FldRefReplaceLog FldPtr                   FldRefChangeName         FldRefType FldRef                   FldRefCopy               FldRefTrue FldReplace               FldRefCopyAndPad         FldRefWidth FldReplaceCount          FldRefCopyDate           FldRefValue

IndexBottom              IndexOpen                IndexGetCurrent IndexClose               IndexReindex             IndexSetCurrent IndexCloseAll            IndexSkip                IndexKeyExpression IndexCreate              IndexTop                 IndexKey IndexKeyLen              IndexType

MemoAllocBuffer          MemoFreeBuffer           MemoRead MemoBufferSize           MemoLen                  MemoReadFilter MemoDelete               MemoPointer              MemoWrite MemoExist

GetMemoFilter            GetDefaultLockType       SetPadding SetMemoFilter            GetDateFormat            GetAutoPack GetDefaultBlockSize      GetPadding               SetAutoPack SetDefaultBlockSize      SetCentury               GetDbfOpenMode GetMemoBlockSize         SetDefaultLockType       SetDbfOpenMode GetCentury               SetDateFormat

CvtAsciiToDouble         CvtCharToDate            CvtDateToIndex CvtCharReplace           CvtDateToChar            CvtDoubleToAscii