summaryrefslogtreecommitdiff
path: root/docs/howto
diff options
context:
space:
mode:
Diffstat (limited to 'docs/howto')
-rwxr-xr-xdocs/howto/AddAnIndex.txt11
-rwxr-xr-xdocs/howto/AddNewMemoFileType.txt9
-rwxr-xr-xdocs/howto/GettingStarted.txt86
-rwxr-xr-xdocs/howto/Hacking.txt28
-rwxr-xr-xdocs/howto/Locking.txt53
-rwxr-xr-xdocs/howto/mac_cmake_compile.txt1
6 files changed, 188 insertions, 0 deletions
diff --git a/docs/howto/AddAnIndex.txt b/docs/howto/AddAnIndex.txt
new file mode 100755
index 0000000..251caf8
--- /dev/null
+++ b/docs/howto/AddAnIndex.txt
@@ -0,0 +1,11 @@
+
+
+How to create an index
+
+1) Derive a child class from xbIx Pure Virtual Class
+
+2) Create header file
+3) Create cpp file
+
+4) SQL updates
+ - xbcrix.cpp
diff --git a/docs/howto/AddNewMemoFileType.txt b/docs/howto/AddNewMemoFileType.txt
new file mode 100755
index 0000000..a784d69
--- /dev/null
+++ b/docs/howto/AddNewMemoFileType.txt
@@ -0,0 +1,9 @@
+
+
+How to create a new memo file format
+
+1) Derive a child class from xbMemo Pure Virtual Class
+
+2) Create header file
+3) Create cpp file
+4) Update CMakeLists.txt \ No newline at end of file
diff --git a/docs/howto/GettingStarted.txt b/docs/howto/GettingStarted.txt
new file mode 100755
index 0000000..d6497a2
--- /dev/null
+++ b/docs/howto/GettingStarted.txt
@@ -0,0 +1,86 @@
+
+To build the xbase library
+
+1) Verify you have the correct software prerequisites installed
+ A) cmake 2.6 or LATER
+ B) Compiler and linker
+
+2) Verify you have access to the target location of the library
+
+3) Unpack the tar or zip file
+
+4) For Linux 64 bit or 32 bit plat forms
+
+ cd xbase/build/Linux64 or xbase/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
+ Your mileage may vary depending on Linux Distro
+
+
+ To update the configuration file
+ cd xbase/build/Linux64 or xbase/build/Linux32
+ ccmake .
+
+
+
+5) For Mac
+
+ Verify you have xcode installed and operational
+ cd xbase/build/Mac
+ cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
+ make
+ make test
+
+
+6) For Windows 64 bit with Visual Studio
+
+ Open a Visual Studio 64 bit Shell
+ cd xbase\build\Win64VS
+ buildwin.bat
+ nmake test
+
+ From a VS Studio 64 bit shell in admin mode
+ nmake install
+
+ Also of note: cleanwin.bat resets everything
+
+7) For Windows 32 bit with Visual Studio
+
+ Open a Visual Studio 32 bit Shell
+ cd xbase\build\Win32VS
+ buildwin.bat
+ nmake test
+
+ From a VS Studio 32 bit shell in admin mode
+ nmake install
+
+
+
+8) For Windows 32 bit with Borland 5.5 free compiler
+
+ cd xbase\build\Win32Borland
+ BuildBorland.bat
+ make test
+
+
+9) 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
diff --git a/docs/howto/Hacking.txt b/docs/howto/Hacking.txt
new file mode 100755
index 0000000..3447490
--- /dev/null
+++ b/docs/howto/Hacking.txt
@@ -0,0 +1,28 @@
+
+
+How to modify the library:
+
+
+The library was redesigned with a structure in mind to allow additional
+dbf, memo and index files to be added relatively easily without trashing
+the underlying codebase.
+
+
+To add functionality to add a DBF, or tailor a particular dbf class,
+create a new derived class using the xbdbf class as a base class.
+The core xbdbf base class encompasses the DBASE III code base.
+
+At one time there was "Real Delete" processing embedded in the code. It
+was removed from the core classes because it would be incompatible with
+later versions of the xbase file structures. If you were interested in
+adding this back into the library, you could derive a new dbf class
+and add the mods into the new derived class, leaving the base class
+as it stands.
+
+
+To add additional memo functionality, create a new derived class from
+the xbMemo class.
+
+
+
+Update xbFile::DetermineXbaseVersion to identify Xbase file type \ No newline at end of file
diff --git a/docs/howto/Locking.txt b/docs/howto/Locking.txt
new file mode 100755
index 0000000..b3cc832
--- /dev/null
+++ b/docs/howto/Locking.txt
@@ -0,0 +1,53 @@
+
+Xbase64 - Multi user / Record Locking
+
+
+
+If you are using the Xbase64 library in a multi user environment,
+
+The Record Locking functionality of Xbase64 is designed to work in an evironment
+where the files are not cached on a local client machine.
+
+If you are using the Xbase64 library in a multi user environment, you will need
+to verify that Oplocks are turned off for the files in question.
+
+Oplocks is short for Opportunistic Locking.
+
+
+If you are using Samba software as your file server software, you will
+need to add the following to your smb.conf config files.
+
+
+In the global section of the smb.conf file:
+
+[global]
+veto oplock files = /*.dbf/*.DBF/*.dbt/*.DBT/*.ndx/*.NDX/*.cdx/*.CDX/*.mdx/*.MDX
+
+
+Or you could set this at the share level
+[share_name]
+veto oplock files = /*.dbf/*.DBF/*.dbt/*.DBT/*.ndx/*.NDX/*.cdx/*.CDX/*.mdx/*.MDX
+
+
+Sometimes locking issues can be related to the network config, more than the programs
+For example, the locking logic might fail if the underlying file structure does not
+support it.
+
+Mac OSX does not support locking functionality on SMB / Samba shares
+Mac OSX does support locking functionality on NFS shares
+Per Apple, this is by design
+
+
+Function: xbase::SetMultiUser( xbTrue || xbFalse )
+
+ Use this function to turn multi user mode on or off.
+ This function needs to be called before any files are opened or created.
+ If this function is called after files are opened or created, the files
+ will need to be closed and reopened for this setting to take effect.
+
+ This setting turns file buffering on and off. In a single user environment,
+ set this switch to off to improve the performance of the application.
+
+
+
+
diff --git a/docs/howto/mac_cmake_compile.txt b/docs/howto/mac_cmake_compile.txt
new file mode 100755
index 0000000..4ec0ad6
--- /dev/null
+++ b/docs/howto/mac_cmake_compile.txt
@@ -0,0 +1 @@
+cmake . -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk