From EDM2
Jump to: navigation, search

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.


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)


  • 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.




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

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

   CvtAsciiToDouble          CvtCharToDate            CvtDateToIndex
   CvtCharReplace            CvtDateToChar            CvtDoubleToAscii