From bfa452a375ea0a0a3f95304a69186936567e5263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 14 Aug 2023 19:45:36 +0200 Subject: New upstream version 4.1.4 --- docs/html/xbc1.html | 199 ---------------------------------------------------- 1 file changed, 199 deletions(-) delete mode 100755 docs/html/xbc1.html (limited to 'docs/html/xbc1.html') diff --git a/docs/html/xbc1.html b/docs/html/xbc1.html deleted file mode 100755 index c07e5f6..0000000 --- a/docs/html/xbc1.html +++ /dev/null @@ -1,199 +0,0 @@ - - -Xbase DBMS Chapter 1 - - -

Getting Started

-

Chapter Updated 12/09/22

- -

Overview

- -Welcome to Xbase64 DBMS, a collection of specifications, programs, -utilities and a C++ class library for manipulating legacy Xbase (DBF) type -data files and indices. -

- -The term Xbase is often used used to describe the format of the original -DBase, Clipper and Foxbase (.DBF) files. The XBase file format is well -documented and has stood the test of time. Various popular programs -still create and read xbase formatted files.

- -The purpose of the Xbase64 library is to provide reliable and usable -programming tools for reading, writing and updating DBF databases, -indices and memo fields. Version 4.x.x has been tested for compatability -with DBase III (TM) and DBase IV (TM) version data files and indices -*.DBF (data), *.NDX (single tag index), *.MDX (multi tag index) and -*.DBT (memo).

- -Version 4.x.x is a major rewrite of the library to strengthen error -processing and bring consistency across modules. It includes updates -to the locking process and also includes a module to support MDX multi -tag indices.

- -Earlier versions of the library have included NTX and CDX index formats -and that code will be re-incorporated into the latest version in the -future. - - -

-Why use the Xbase library? -The DBF file format is a ubiquitous industry standard with -widespread usage and application. Using this standard file format removes any -vender specific locks that bind you to a particular platform. -Additionally, with Xbase64 only the options needed can be compiled into or out of the library -to provide a custom configuration specific to project requirements. -For a small footprint, locking, memo fields and indices could be excluded from -the library build which would reduce the library size. -This tool is usefull for small to medium sized apps that don't need all the -overhead, sophistication and cost of a complex client server configuration. -The Xbase library is designed to be flexible in which options can be compiled -into or out fo the library and also which environments it can be run on. - - -


- -

System Requirements

- -To build the Xbase64 library, the following items are needed:

- -A computer, a C/C++ compiler and CMAKE.

- -The original source code was developed on a Linux platform with the GCC -public domain C/C++ compiler. -

- -Xbase64 DBMS has been successfully ported and runs on Linux, Mac and and Windows. -

- -

Classes and User Interface

- -Classes and User Interface Documentation via Doxygen - -

-

Portability, Type Defs and Structures

- -To make the Xbase64 library as portable as possible, the following things occurred: -

-
  • The software was developed to compile and run on either 32 or 64 bit architectures. -
  • The software was developed to compile and run on either big endian or little endian archtectures. -
  • All numeric data is stored in little endian format. -
  • The library is built using Cmake to provide support on a wide variety of platforms. -
  • Field types were defined to be consistent across various OS and CPU configurations. -Xbase64 defines the following field types:


    -
    - - - -

    Field Types

    TypeDescription -
    xbBoolContains xbTrue (0) or xbFalse (1) -
    xbInt1616 bit int -
    xbUInt1616 bit unsigned int -
    xbInt3232 bit int -
    xbUInt3232 bit unsigned int -
    xbInt6464 bit int -
    xbUInt6464 bit unsigned int -
    xbDoubledouble -
    charchar -
    voidvoid -
    struct SCHEMAUsed for defining record structures -
    -

    - -Xbase64 was designed for portability utilizing standard ANSI-C/C++ compliant -code. If you decide to write updates to the Xbase64 project, please try -to keep your work to standard C/C++ generic calls and use the above predefined field types.

    - -

    Compilation Overview

    -To build the xbase64 library, verify you have:
    -
  • Xbase64 source code -
  • cmake 2.6 or LATER -
  • Compiler and linker - -

    -Verify you have access rights to the target location of the library - -

    -For Linux: -

    -
  • cd xbase/Linux -
  • cmake . -
  • make -
  • make test -
  • sudo make install -
  • Verify the ld.so.conf file has the library target directory. For example -update file /etc/ld.so.conf to include /usr/local/lib and run ldconfig. -

    - -For Mac: -

    -
  • Verify you have xcode installed and operational. -
  • cd xbase/Mac -
  • cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -
  • make -
  • make test -

    - -For Windows 64 bit with Visual Studio: -

    -
  • Open a Visual Studio 64 bit Shell -
  • cd xbase\Win64VS -
  • buildwin.bat -
  • nmake test -
  • From a VS Studio 64 bit shell in admin mode: nmake install -

    - -For Windows 32 bit with Visual Studio: -

    -
  • Open a Visual Studio 32 bit Shell -
  • cd xbase\Win32VS -
  • buildwin.bat -
  • nmake test -
  • From a VS Studio 32 bit shell in admin mode: nmake install -

    - -For Windows 32 bit with Borland 5.5 free compiler -

    -
  • cd xbase\Win32Borland -
  • BuildBorland.bat -
  • make test -

    - -For other platforms: -

    -Here is something to start with... -
  • cd xbase -
  • md MyPlatform -
  • cd MyPlatform -
  • cp ../Cmake/CmakeLists.txt. -
  • Enter the appropriate make command for your environment. Check the cmake web site for help.
    - On Linux, it is .cmake, then make - your mileage may vary - - Send your results to the library maintainer so it can be added to this library - - - -To use the Xbase classes, include the following header file in the program: -

    - -#include <xbase.h>

    - -For more information on getting started, check out the sample programs in the src/examples folder. -

    - -

    -

    System Limitations

    -
    -Maximum size of a database file is the size of LONG - 2,147,483,647 bytes
    -Total number of fields in a database - 255
    -Total number of characters in all fields - 32767
    -Maximum number of characters in a field - 254
    -Total number of records in a file - 1 billion
    -Maximum index key length - 100 bytes
    -Maximum .DBT file memo block size - 32256
    -Maximum expression result length - 100 bytes
    -Maximum NDX index key length - 100 bytes

    -

    -



    - - -- cgit v1.2.3 From c894a7cdd8686ea695602a23a511a3f1b0d047be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 14 Aug 2023 21:07:46 +0200 Subject: New upstream version 4.1.4 --- docs/html/xbc1.html | 212 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100755 docs/html/xbc1.html (limited to 'docs/html/xbc1.html') diff --git a/docs/html/xbc1.html b/docs/html/xbc1.html new file mode 100755 index 0000000..d042048 --- /dev/null +++ b/docs/html/xbc1.html @@ -0,0 +1,212 @@ + + +Xbase DBMS Chapter 1 + + +

    Getting Started

    +

    Chapter Updated 4/28/23

    + +

    Overview

    + +Welcome to Xbase64 DBMS, a collection of specifications, programs, +utilities and a C++ class library for manipulating legacy Xbase (DBF) type +data files and indices. +

    + +The term Xbase is often used used to describe the format of the original +DBase, Clipper and Foxbase (.DBF) files. The XBase file format is well +documented and has stood the test of time. Various popular programs +still create and read xbase formatted files.

    + +The purpose of the Xbase64 library is to provide reliable and usable +programming tools for reading, writing and updating DBF databases, +indices and memo fields. Version 4.x.x has been tested for compatability +with DBase III (TM) and DBase IV (TM) version data files and indices +*.DBF (data), *.NDX (single tag index), *.MDX (multi tag index) and +*.DBT (memo).

    + +Version 4.x.x is a major rewrite of the library to strengthen error +processing and bring consistency across modules. It includes updates +to the locking process and also includes a module to support MDX multi +tag indices.

    + +Earlier versions of the library have included NTX and CDX index formats +and that code will be re-incorporated into the latest version in the +future. + + +

    +Why use the Xbase library? +The DBF file format is a ubiquitous industry standard with +widespread usage and application. Using this standard file format removes any +vender specific locks that bind you to a particular platform. +Additionally, with Xbase64 only the options needed can be compiled into or out of the library +to provide a custom configuration specific to project requirements. +For a small footprint, locking, memo fields and indices could be excluded from +the library build which would reduce the library size. +This tool is usefull for small to medium sized apps that don't need all the +overhead, sophistication and cost of a complex client server configuration. +The Xbase library is designed to be flexible in which options can be compiled +into or out fo the library and also which environments it can be run on. + + +

    +

    Library Features

    +
  • Supports 32 and 64 bit architectures +
  • Supports big endian and little endian architectures +
  • Compatible code, same API across multiple platforms / archtiectures +
  • Supports single and multi user configurations with record and file locking +
  • Includes support for logfiles + + + +


    + +

    System Requirements

    + +To build the Xbase64 library, the following items are needed:

    + +A computer, a C/C++ compiler and CMAKE.

    + +The original source code was developed on a Linux platform with the GCC +public domain C/C++ compiler. +

    + +Xbase64 DBMS has been successfully ported and runs on Linux, Mac and Windows. +

    + +

    Classes and User Interface

    + +Classes and User Interface Documentation via Doxygen + +

    +

    Portability, Type Defs and Structures

    + +To make the Xbase64 library as portable as possible, the following things occurred: +

    +
  • The software was developed to compile and run on either 32 or 64 bit architectures. +
  • The software was developed to compile and run on either big endian or little endian archtectures. +
  • All numeric data is stored in little endian format. +
  • The library is built using Cmake to provide support on a wide variety of platforms. +
  • Field types were defined to be consistent across various OS and CPU configurations. +Xbase64 defines the following field types:


    +
    + + + +

    Field Types

    TypeDescription +
    xbBoolContains xbTrue (0) or xbFalse (1) +
    xbInt1616 bit int +
    xbUInt1616 bit unsigned int +
    xbInt3232 bit int +
    xbUInt3232 bit unsigned int +
    xbInt6464 bit int +
    xbUInt6464 bit unsigned int +
    xbDoubledouble +
    charchar +
    voidvoid +
    struct SCHEMAUsed for defining record structures +
    +

    + +Xbase64 was designed for portability utilizing standard ANSI-C/C++ compliant +code. If you decide to write updates to the Xbase64 project, please try +to keep your work to standard C/C++ generic calls and use the above predefined field types.

    + +

    Compilation Overview

    +To build the xbase64 library, verify you have:
    +
  • Xbase64 source code +
  • cmake 2.6 or LATER +
  • Compiler and linker + +

    +If you run into issues, verify you have access rights to the target location of the library. + +

    +For Linux: +

    +
  • cd build/linux64 or cd build/linux32 +
  • cmake . +
  • make +
  • make test +
  • sudo make install +
  • Verify the ld.so.conf file has the library target directory. For example +update file /etc/ld.so.conf to include /usr/local/lib and run ldconfig. +

    + +For Mac: +

    +
  • Verify you have xcode installed and operational. +
  • cd build/mac64 +
  • cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk +
  • make +
  • make test +

    + +For Windows 64 bit with Visual Studio: +

    +
  • Open a Visual Studio 64 bit Shell +
  • cd build\win64vs +
  • buildwin.bat +
  • nmake test +
  • From a VS Studio 64 bit shell in admin mode: nmake install +

    + +For Windows 32 bit with Visual Studio: +

    +
  • Open a Visual Studio 32 bit Shell +
  • cd build\win32vs +
  • buildwin.bat +
  • nmake test +
  • From a VS Studio 32 bit shell in admin mode: nmake install +

    + +For Windows 32 bit with Borland 5.5 free compiler +

    +
  • cd build\borland5.5 +
  • BuildBorland.bat +
  • make test +
  • make install (if errors, run in administrator mode) +
  • xb_cfg_check (if errors, add path c:\Program Files\xbase64\bin) + +

    + +For other platforms: +

    +Here is something to start with... +
  • cd xbase +
  • md MyPlatform +
  • cd MyPlatform +
  • cp ../Cmake/CmakeLists.txt. +
  • Enter the appropriate make command for your environment. Check the cmake web site for help.
    + On Linux, it is .cmake, then make + your mileage may vary + + Send your results to the library maintainer so it can be added to this library + + + +To use the Xbase classes, include the following header file in the program: +

    + +#include <xbase.h>

    + +For more information on getting started, check out the sample programs in the src/examples folder. +

    + +

    +

    System Limitations

    +
    +Maximum size of a database file is the size of LONG - 2,147,483,647 bytes
    +Total number of fields in a database - 255
    +Total number of characters in all fields - 32767
    +Maximum number of characters in a field - 254
    +Total number of records in a file - 1 billion
    +Maximum index key length - 100 bytes
    +Maximum .DBT file memo block size - 32256
    +Maximum expression result length - 100 bytes
    +Maximum NDX index key length - 100 bytes

    +

    +



    + + -- cgit v1.2.3