\hypertarget{classxb_1_1xbDbf}{}\doxysection{xb\+::xb\+Dbf Class Reference}
\label{classxb_1_1xbDbf}\index{xb::xbDbf@{xb::xbDbf}}


Base class for handling dbf files/tables.  




{\ttfamily \#include $<$xbdbf.\+h$>$}

Inheritance diagram for xb\+::xb\+Dbf\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classxb_1_1xbDbf}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}{xb\+Dbf}} (\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$x)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}{$\sim$xb\+Dbf}} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}{Abort}} ()
\begin{DoxyCompactList}\small\item\em Abort any uncommited changes for the current record buffer. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record}} ()
\begin{DoxyCompactList}\small\item\em Append the current record to the data file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}{Blank\+Record}} ()
\begin{DoxyCompactList}\small\item\em Blank the record buffer. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}{Commit}} ()
\begin{DoxyCompactList}\small\item\em Commit updates to disk. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}{Close}} ()
\begin{DoxyCompactList}\small\item\em Close DBF file/table. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}{Copy\+Dbf\+Structure}} (\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$d\+New\+Table, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Alias, xb\+Int16 i\+Overlay, xb\+Int16 i\+Share\+Mode)
\begin{DoxyCompactList}\small\item\em Copy table (dbf) file structure. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}{Create\+Table}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}, \mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$p\+Schema, xb\+Int16 i\+Overlay, xb\+Int16 i\+Share\+Mode)=0
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}{Delete\+Table}} ()
\begin{DoxyCompactList}\small\item\em Delete a table. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}{Delete\+All}} (xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Delete or undelete all records in a dbf file (table). \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}{Delete\+All\+Records}} ()
\begin{DoxyCompactList}\small\item\em Delete all records. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}{Delete\+Record}} ()
\begin{DoxyCompactList}\small\item\em Delete the current record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a309b5b1fb6a5c048c4bfb404d011ac55}{Dump\+Header}} (xb\+Int16 i\+Option) const
\begin{DoxyCompactList}\small\item\em Dump dbf file header. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}{Dump\+Record}} (xb\+UInt32 ul\+Rec\+No, xb\+Int16 i\+Output\+Dest=0, xb\+Int16 i\+Output\+Fmt=0)
\begin{DoxyCompactList}\small\item\em Dump record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}{Get\+Auto\+Commit}} () const
\begin{DoxyCompactList}\small\item\em Get auto commit setting. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}{Get\+Auto\+Commit}} (xb\+Int16 i\+Option) const
\begin{DoxyCompactList}\small\item\em Get auto commit setting. \end{DoxyCompactList}\item 
virtual xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}{Get\+Cur\+Rec\+No}} () const
\begin{DoxyCompactList}\small\item\em Get a pointer to the current index object. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}{Get\+Dbf\+Status}} () const
\begin{DoxyCompactList}\small\item\em Return the current dbf status. \end{DoxyCompactList}\item 
virtual xb\+Int32 \mbox{\hyperlink{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}{Get\+Field\+Cnt}} () const
\begin{DoxyCompactList}\small\item\em Return the number of fields in the table. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}{Get\+First\+Record}} ()
\begin{DoxyCompactList}\small\item\em Get the first record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}{Get\+First\+Record}} (xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Get the first record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}{Get\+Last\+Record}} ()
\begin{DoxyCompactList}\small\item\em Get the last record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}{Get\+Last\+Record}} (xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Get the last record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}{Get\+Next\+Record}} ()
\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}{Get\+Next\+Record}} (xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}{Get\+Next\+Record}} (xb\+Int16 i\+Option, xb\+UInt32 ul\+Start\+Rec)
\begin{DoxyCompactList}\small\item\em Get the next record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}{Get\+Prev\+Record}} ()
\begin{DoxyCompactList}\small\item\em Get the previous record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}{Get\+Prev\+Record}} (xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Get the previous record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}{Get\+Record}} (xb\+UInt32 ul\+Rec\+No)
\begin{DoxyCompactList}\small\item\em Get record for specified record number. \end{DoxyCompactList}\item 
virtual xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_a0aaa06d6028e75efc6b5131f7356ecce}{Get\+Record\+Count}} ()
\begin{DoxyCompactList}\small\item\em Get the current number of records in the dbf data file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}{Get\+Record\+Cnt}} (xb\+UInt32 \&ul\+Rec\+Cnt)
\begin{DoxyCompactList}\small\item\em Get the current number of records in the dbf data file. \end{DoxyCompactList}\item 
virtual char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}{Get\+Record\+Buf}} (xb\+Int16 i\+Opt=0) const
\begin{DoxyCompactList}\small\item\em Get pointer to record buffer. \end{DoxyCompactList}\item 
virtual xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}{Get\+Record\+Len}} () const
\begin{DoxyCompactList}\small\item\em Get the dbf record length. \end{DoxyCompactList}\item 
virtual const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}{Get\+Tbl\+Alias}} () const
\begin{DoxyCompactList}\small\item\em Get the table alias. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}{Get\+Version}} () const =0
\item 
virtual \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}{Get\+Xbase\+Ptr}} () const
\begin{DoxyCompactList}\small\item\em Get the pointer to the xb\+Xbase structure,. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}{Memo\+Fields\+Exist}} () const
\begin{DoxyCompactList}\small\item\em Check for existence of any memo fields. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name)
\begin{DoxyCompactList}\small\item\em Open a table/dbf file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}})
\begin{DoxyCompactList}\small\item\em Open a table/dbf file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}{Open}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Table\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&\mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}, xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode)=0
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}{Pack}} ()
\begin{DoxyCompactList}\small\item\em Pack dbf file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}{Pack}} (xb\+UInt32 \&ul\+Deleted\+Rec\+Cnt)
\begin{DoxyCompactList}\small\item\em Pack dbf file. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}{Put\+Record}} ()
\begin{DoxyCompactList}\small\item\em Write the current record to disk. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}{Put\+Record}} (xb\+UInt32 ul\+Rec\+No)
\begin{DoxyCompactList}\small\item\em Write record to disk. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}{Read\+Header}} (xb\+Int16 i\+File\+Position\+Option, xb\+Int16 i\+Read\+Option)
\begin{DoxyCompactList}\small\item\em Read dbf file header information. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}{Record\+Deleted}} (xb\+Int16 i\+Opt=0) const
\begin{DoxyCompactList}\small\item\em Return record deletion status. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}{Rename}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} s\+New\+Name)=0
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}{Set\+Auto\+Commit}} (xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}{i\+Auto\+Commit}})
\begin{DoxyCompactList}\small\item\em Set auto commit. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}{Undelete\+All\+Records}} ()
\begin{DoxyCompactList}\small\item\em Set auto lock. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}{Undelete\+Record}} ()
\begin{DoxyCompactList}\small\item\em Undelete one record. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}{Zap}} ()
\begin{DoxyCompactList}\small\item\em Zap (remove) everything from the file,. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}{Get\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value, xb\+Int16 i\+Rec\+Buf\+Sw) const
\begin{DoxyCompactList}\small\item\em Get field data for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}{Get\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get field data for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}{Get\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}{Get\+Field\+Decimal}} (xb\+Int16 i\+Field\+No, xb\+Int16 \&i\+Field\+Decimal) const
\begin{DoxyCompactList}\small\item\em Get decimal for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}{Get\+Field\+Decimal}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+Decimal) const
\begin{DoxyCompactList}\small\item\em Get decimal for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}{Get\+Field\+Len}} (xb\+Int16 i\+Field\+No, xb\+Int16 \&i\+Field\+Len) const
\begin{DoxyCompactList}\small\item\em Get field length for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}{Get\+Field\+Len}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+Len) const
\begin{DoxyCompactList}\small\item\em Get field length for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}{Get\+Field\+Name}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name) const
\begin{DoxyCompactList}\small\item\em Returns the name of the specified field. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}{Get\+Field\+No}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int16 \&i\+Field\+No) const
\begin{DoxyCompactList}\small\item\em Get the field number for name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}{Get\+Field\+No}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name) const
\begin{DoxyCompactList}\small\item\em Get field ID number for a given field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}{Get\+Field\+Type}} (xb\+Int16 i\+Field\+No, char \&c\+Field\+Type) const
\begin{DoxyCompactList}\small\item\em Get field type for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}{Get\+Field\+Type}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, char \&c\+Field\+Type) const
\begin{DoxyCompactList}\small\item\em Get field type for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}{Put\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}{Put\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}{Put\+Logical\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put logical field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}{Put\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put logical field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data) const
\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}{Get\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Data) const
\begin{DoxyCompactList}\small\item\em Get logical field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}{Put\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put logical field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}{Put\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Field\+Data)
\begin{DoxyCompactList}\small\item\em Put logical field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data) const
\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}{Get\+Logical\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data, xb\+Int16 i\+Rec\+Buf\+Sw) const
\begin{DoxyCompactList}\small\item\em Get logical field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}{Get\+Logical\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Field\+Data) const
\begin{DoxyCompactList}\small\item\em Get logical field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}{Get\+Long\+Field}} (xb\+Int16 i\+Field\+No, xb\+Int32 \&l\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get long field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}{Get\+Long\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+Int32 \&l\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get long field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}{Put\+Long\+Field}} (xb\+Int16 i\+Field\+No, xb\+Int32 l\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put long field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae7aad223119edb3d541e9f65e88c9f2f}{Put\+Long\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+No, xb\+Int32 l\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put long field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}{Get\+ULong\+Field}} (xb\+Int16 i\+Field\+No, xb\+UInt32 \&l\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get unsigned long field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}{Get\+ULong\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, xb\+UInt32 \&l\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get unsigned long field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}{Put\+ULong\+Field}} (xb\+Int16 i\+Field\+No, xb\+UInt32 l\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put unsigned long field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}{Put\+ULong\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+No, xb\+UInt32 l\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put unsigned long field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}{Get\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}{Get\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value, xb\+Int16 i\+Rec\+Buf\+Sw) const
\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}{Get\+Double\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&d\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get xb\+Double field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}{Put\+Double\+Field}} (xb\+Int16 Field\+No, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put double field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}{Put\+Double\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&Field\+Name, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put double field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}{Get\+Float\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&f\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get xb\+Float field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}{Get\+Float\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&f\+Field\+Value) const
\begin{DoxyCompactList}\small\item\em Get xb\+Float field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}{Put\+Float\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} f\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put float field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}{Put\+Float\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} f\+Field\+Value)
\begin{DoxyCompactList}\small\item\em Put float field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}{Get\+Date\+Field}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt) const
\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}{Get\+Date\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt) const
\begin{DoxyCompactList}\small\item\em Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field name. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}{Put\+Date\+Field}} (xb\+Int16 i\+Field\+No, const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt)
\begin{DoxyCompactList}\small\item\em Put date field for field number. \end{DoxyCompactList}\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}{Put\+Date\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&dt)
\begin{DoxyCompactList}\small\item\em Put date field for field name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aae9a2ddb0adb8165b4ac2b6a28a932f7}{Create\+Unique\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Dir\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ext\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fqn\+Out)
\begin{DoxyCompactList}\small\item\em Create a unique file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ae5ffabde2c88ea58324f27e471f6bfc0}{Create\+Unique\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Dir\+In, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Ext\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fqn\+Out, xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Create a unique file name. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}{Get\+Directory}} () const
\begin{DoxyCompactList}\small\item\em Get the directory name. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}{Get\+File\+Name}} () const
\begin{DoxyCompactList}\small\item\em Get the file name. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}{Get\+Fq\+File\+Name}} () const
\begin{DoxyCompactList}\small\item\em Get the fully qualified file name. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}{Set\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Directory)
\begin{DoxyCompactList}\small\item\em Set the directory. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}{Set\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
\begin{DoxyCompactList}\small\item\em Set the filename. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}{Set\+Fq\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Fq\+Name)
\begin{DoxyCompactList}\small\item\em Set the fully qualifed filename. \end{DoxyCompactList}\item 
xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}{Get\+Block\+Size}} () const
\begin{DoxyCompactList}\small\item\em Get the block size. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}{Set\+Block\+Size}} (xb\+UInt32 ul\+Block\+Size)
\begin{DoxyCompactList}\small\item\em Set the block size. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}{Get\+Open\+Mode}} () const
\begin{DoxyCompactList}\small\item\em Get the open mode of the file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}{Get\+Share\+Mode}} () const
\begin{DoxyCompactList}\small\item\em Get the share mode of the file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}{Get\+File\+Dir\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}{Get\+File\+Dir\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Dir\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the directory part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}{Get\+File\+Ext\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}{Get\+File\+Ext\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Ext\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the extension part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}{Get\+File\+Name\+Part}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}{Get\+File\+Name\+Part}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Complete\+File\+Name\+In, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name\+Part\+Out) const
\begin{DoxyCompactList}\small\item\em Get the name part of the file name. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}{Get\+File\+Type}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Type) const
\begin{DoxyCompactList}\small\item\em Get the file type aka Capitalized file extension. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 \&i\+Version)
\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte)
\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}{Get\+Xbase\+File\+Type\+Byte}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, unsigned char \&c\+File\+Type\+Byte, xb\+Int16 \&i\+Version)
\begin{DoxyCompactList}\small\item\em Get the file type byte and version of the dbf file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}{Determine\+Xbase\+Table\+Version}} (unsigned char c\+File\+Type\+Byte) const
\begin{DoxyCompactList}\small\item\em Determine xbase dbf version. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}{Determine\+Xbase\+Memo\+Version}} (unsigned char c\+File\+Type\+Byte) const
\begin{DoxyCompactList}\small\item\em Determine which version the memo (dbt) file is. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}{File\+Exists}} () const
\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}{File\+Exists}} (xb\+Int16 i\+Option) const
\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name) const
\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}{File\+Exists}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
\begin{DoxyCompactList}\small\item\em Determines if a file exists. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}{File\+Is\+Open}} () const
\begin{DoxyCompactList}\small\item\em Determines if file is open. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t read\+Size, void $\ast$buf)
\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}{Read\+Block}} (xb\+UInt32 ul\+Block\+No, xb\+UInt32 ul\+Block\+Size, size\+\_\+t read\+Size, void $\ast$buf)
\begin{DoxyCompactList}\small\item\em Read a block of data from file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}{Write\+Block}} (xb\+UInt32 ul\+Block\+No, size\+\_\+t write\+Size, void $\ast$buf)
\begin{DoxyCompactList}\small\item\em Write a block of data to file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}{Get\+File\+Size}} (xb\+UInt64 \&ull\+File\+Size)
\begin{DoxyCompactList}\small\item\em Get the size of the file as reported by the OS. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}{Get\+File\+Mtime}} (time\+\_\+t \&mtime)
\begin{DoxyCompactList}\small\item\em Get the time of last file modification timestamp as reported by the OS. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \mbox{\hyperlink{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}{e\+Get\+Double}} (const char $\ast$p) const
\begin{DoxyCompactList}\small\item\em Get a portable double value. \end{DoxyCompactList}\item 
xb\+Int32 \mbox{\hyperlink{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}{e\+Get\+Int32}} (const char $\ast$p) const
\begin{DoxyCompactList}\small\item\em Get a portable long value. \end{DoxyCompactList}\item 
xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}{e\+Get\+UInt32}} (const char $\ast$p) const
\begin{DoxyCompactList}\small\item\em Get a portable unsigned long value. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}{e\+Get\+Int16}} (const char $\ast$p) const
\begin{DoxyCompactList}\small\item\em Get a portable short value. \end{DoxyCompactList}\item 
xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}{e\+Get\+UInt16}} (const char $\ast$p) const
\begin{DoxyCompactList}\small\item\em Get a portable unsigned short value. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}{e\+Put\+Double}} (char $\ast$p, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} d)
\begin{DoxyCompactList}\small\item\em Write a portable double value to memory location. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}{e\+Put\+Int32}} (char $\ast$p, xb\+Int32 l)
\begin{DoxyCompactList}\small\item\em Write a portable long value to memory location. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}{e\+Put\+UInt32}} (char $\ast$p, xb\+UInt32 ul)
\begin{DoxyCompactList}\small\item\em Write a portable unsigned long value to memory location. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}{e\+Put\+Int16}} (char $\ast$p, xb\+Int16 s)
\begin{DoxyCompactList}\small\item\em Write a portable short value to memory location. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}{e\+Put\+UInt16}} (char $\ast$p, xb\+UInt16 s)
\begin{DoxyCompactList}\small\item\em Write a portable unsigned short value to memory location. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}{xb\+Fclose}} ()
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fclose. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}{xb\+Feof}} ()
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary feof. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}{xb\+Fflush}} ()
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fflush. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}{xb\+Fgetc}} (xb\+Int32 \&c)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}{xb\+Fgetc}} (char \&c)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgetc. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode)
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}{xb\+Fopen}} (xb\+Int16 i\+Open\+Mode, xb\+Int16 i\+Share\+Mode)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}{xb\+Fopen}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Mode, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Share\+Mode)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fopen. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}{xb\+Fputc}} (xb\+Int32 c)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}{xb\+Fputc}} (xb\+Int32 c, xb\+Int32 i\+No\+Times)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputc. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}{xb\+Fputs}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fputs. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}{xb\+Fread}} (void $\ast$ptr, size\+\_\+t size, size\+\_\+t nmemb)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fread. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}{xb\+Fgets}} (size\+\_\+t l\+Size, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Line)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fgets. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}{xb\+Ftell}} ()
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary ftell. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}{xb\+Fseek}} (xb\+Int64 ll\+Offset, xb\+Int32 whence)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fseek. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}{xb\+FTurn\+Off\+File\+Buffering}} ()
\begin{DoxyCompactList}\small\item\em Turn off file buffering. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}{xb\+Fwrite}} (const void $\ast$ptr, size\+\_\+t l\+Size, size\+\_\+t l\+Nmemb)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fwrite. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}{xb\+Read\+Until}} (const char c\+Delim, \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Out)
\begin{DoxyCompactList}\small\item\em Read file until a particular character is encountered on input stream. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option)
\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}{xb\+Remove}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name)
\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}{xb\+Remove}} ()
\begin{DoxyCompactList}\small\item\em Delete file. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}{xb\+Rename}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Old\+Name, const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+New\+Name)
\begin{DoxyCompactList}\small\item\em Rename file. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}{xb\+Rewind}} ()
\begin{DoxyCompactList}\small\item\em Xbase wrapper for rewind. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}{xb\+Truncate}} (xb\+Int64 ll\+Size)
\begin{DoxyCompactList}\small\item\em Xbase wrapper for ftruncate. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}{Name\+Suffix\+Missing}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+File\+Name, xb\+Int16 i\+Option) const
\begin{DoxyCompactList}\small\item\em Determines status of file extension. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}{Display\+Error}} (xb\+Int16 Error\+Code) const
\begin{DoxyCompactList}\small\item\em Display error message on console for a given error number. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}{Get\+Default\+Date\+Format}} () const
\begin{DoxyCompactList}\small\item\em Get the default date format. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}{Get\+Data\+Directory}} () const
\begin{DoxyCompactList}\small\item\em Get the current data directory. \end{DoxyCompactList}\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}{Get\+Endian\+Type}} () const
\begin{DoxyCompactList}\small\item\em Get the Endian type. \end{DoxyCompactList}\item 
const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}{Get\+Error\+Message}} (xb\+Int16 Error\+Code) const
\begin{DoxyCompactList}\small\item\em Get an error message. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}{Set\+Data\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Data\+Directory)
\begin{DoxyCompactList}\small\item\em Set the data directory. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}{Set\+Default\+Date\+Format}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Date\+Format)
\begin{DoxyCompactList}\small\item\em Set the default date format. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}{Bit\+Set}} (unsigned char c, xb\+Int16 i\+Bit\+No) const
\begin{DoxyCompactList}\small\item\em Check a bit in a one byte field and see if it is set. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}{Bit\+Dump}} (unsigned char c) const
\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}{Bit\+Dump}} (char c) const
\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}{Get\+Default\+Auto\+Commit}} () const
\begin{DoxyCompactList}\small\item\em Get the default auto commit setting. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}{Set\+Default\+Auto\+Commit}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Default\+Auto\+Commit)
\begin{DoxyCompactList}\small\item\em Set the default auto commit. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abf3763faf6a8917a963213cd53af529c}{Get\+Default\+Log\+Directory}} () const
\item 
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_a43878d4dc041f2a5e2398a118ccfaf79}{Get\+Default\+Log\+File\+Name}} () const
\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a84343b8645790791512d6bc22ee6c8eb}{Set\+Default\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Default\+Log\+Directory)
\item 
\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}{Get\+Multi\+User}} () const
\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}{Set\+Multi\+User}} (\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} b\+Multi\+User)
\begin{DoxyCompactList}\small\item\em Get the multi user setting. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const char $\ast$ \mbox{\hyperlink{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}{Error\+Code\+Text}} \mbox{[}$\,$\mbox{]}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}{Get\+Raw\+Field}} (xb\+Int16 i\+Field\+No, char $\ast$Buf, xb\+UInt32 Buf\+Size, xb\+Int16 i\+Rec\+Buf\+Sw) const
\begin{DoxyCompactList}\small\item\em Get raw field data for field number. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}{Init\+Vars}} ()
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}{Set\+Version}} ()=0
\item 
virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}{Validate\+Schema}} (\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$s)=0
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}{Write\+Header}} (xb\+Int16 i\+Position\+Option, xb\+Int16 i\+Write\+Option)
\item 
void \mbox{\hyperlink{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}{Set\+Endian\+Type}} ()
\begin{DoxyCompactList}\small\item\em Set the endian type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}{ul\+Cur\+Rec}}
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}{i\+Auto\+Commit}}
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}{i\+File\+Version}}
\item 
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}{s\+Alias}}
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}{i\+No\+Of\+Fields}}
\item 
xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}{i\+Dbf\+Status}}
\item 
xb\+Schema\+Rec $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}{Schema\+Ptr}}
\item 
char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}{Rec\+Buf}}
\item 
char $\ast$ \mbox{\hyperlink{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}{Rec\+Buf2}}
\item 
unsigned char \mbox{\hyperlink{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}{c\+Version}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}{c\+Update\+YY}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}{c\+Update\+MM}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}{c\+Update\+DD}}
\item 
xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}{ul\+No\+Of\+Recs}}
\item 
xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}{ui\+Header\+Len}}
\item 
xb\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}{ui\+Record\+Len}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}{c\+Transaction\+Flag}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}{c\+Encryption\+Flag}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}{c\+Index\+Flag}}
\item 
char \mbox{\hyperlink{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}{c\+Lang\+Driver}}
\item 
\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ \mbox{\hyperlink{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}{xbase}}
\end{DoxyCompactItemize}
\doxysubsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
static xb\+Int16 \mbox{\hyperlink{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}{i\+Endian\+Type}} = 0
\item 
static \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \mbox{\hyperlink{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}{s\+Null\+String}} = \char`\"{}\char`\"{}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Base class for handling dbf files/tables. 

The \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} class is used as a base class for accessing dbf files. ~\newline
 In line with relational theory, a each dbf file can be considered as a table. The documentation uses the terms dbf and table interchangeably.~\newline


This module handles methods for accessing and updating dbf files.

~\newline
 The class is designed to support additional file layouts with a minimal amount of effort. If you are wanting to update the library to support a new dbf file type not currently supported by the library, create a derived class using \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} as a base class and modify methods needed to support the new dbf file version.~\newline
 See the following for examples on how to start on this\+:~\newline
 xb\+Dbf3 is a derived class from \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} and supports the original Dbase III+ file version.~\newline
 xb\+Dbf4 is a derived class from \mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} and supports the original Dbase IV file version.~\newline
 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}\label{classxb_1_1xbDbf_a84a75f80bc0e9b8a22b728767949c204}} 
\index{xb::xbDbf@{xb::xbDbf}!xbDbf@{xbDbf}}
\index{xbDbf@{xbDbf}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbDbf()}{xbDbf()}}
{\footnotesize\ttfamily xb\+::xb\+Dbf\+::xb\+Dbf (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$}]{x }\end{DoxyParamCaption})}



Constructor. 


\begin{DoxyParams}{Parameters}
{\em x} & Pointer to xb\+Xbase \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}\label{classxb_1_1xbDbf_a7eb87521fba8a939c613056d9918d880}} 
\index{xb::xbDbf@{xb::xbDbf}!````~xbDbf@{$\sim$xbDbf}}
\index{````~xbDbf@{$\sim$xbDbf}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{$\sim$xbDbf()}{~xbDbf()}}
{\footnotesize\ttfamily xb\+::xb\+Dbf\+::$\sim$xb\+Dbf (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Destructor. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}\label{classxb_1_1xbDbf_a4edcf31390fbdc8c3558004770fd9f2f}} 
\index{xb::xbDbf@{xb::xbDbf}!Abort@{Abort}}
\index{Abort@{Abort}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Abort()}{Abort()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Abort (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Abort any uncommited changes for the current record buffer. 

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}\label{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}} 
\index{xb::xbDbf@{xb::xbDbf}!AppendRecord@{AppendRecord}}
\index{AppendRecord@{AppendRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{AppendRecord()}{AppendRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Append\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Append the current record to the data file. 

This method attempts to append the contents of the current record buffer to the end of the DBF file, updates the file date, number of records in the file and updates any open indices associated with this data file.~\newline


To add a record, an application would typically blank the record buffer, update various fields in the record buffer, then append the record.~\newline


The append method performs the following tasks\+:~\newline
 1) Create new index key values~\newline
 2) Lock the table~\newline
 3) Lock append bytes~\newline
 4) Lock indices~\newline
 5) Read the dbf header~\newline
 6) Check for dup keys~\newline
 7) Calc last update date, no of recs~\newline
 8) Add keys~\newline
 9) Unlock indices~\newline
 10) Update file header~\newline
 11) Unlock file header~\newline
 12) Append record~\newline
 13) Unlock append bytes~\newline


Note\+: Locking memo files is not needed as the memo file updates are handled outside of the append method.~\newline


\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}\label{classxb_1_1xbSsv_aba1395b8e4c7f28c3614061de6e49190}} 
\index{xb::xbDbf@{xb::xbDbf}!BitDump@{BitDump}}
\index{BitDump@{BitDump}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}\label{classxb_1_1xbSsv_a8551b15a3ce4fa2a40d698db01f4a9ae}} 
\index{xb::xbDbf@{xb::xbDbf}!BitDump@{BitDump}}
\index{BitDump@{BitDump}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{BitDump()}{BitDump()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Bit\+Dump (\begin{DoxyParamCaption}\item[{unsigned char}]{c }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}\label{classxb_1_1xbSsv_a62e4fd0a5888665c76bbbad962794e72}} 
\index{xb::xbDbf@{xb::xbDbf}!BitSet@{BitSet}}
\index{BitSet@{BitSet}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{BitSet()}{BitSet()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Bit\+Set (\begin{DoxyParamCaption}\item[{unsigned char}]{c,  }\item[{xb\+Int16}]{i\+Bit\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Check a bit in a one byte field and see if it is set. 


\begin{DoxyParams}{Parameters}
{\em c} & One byte char field to examine. \\
\hline
{\em i\+Bit\+No} & which bit to examine. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
xb\+True Bit is set~\newline
 xb\+False Bit is not set 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}\label{classxb_1_1xbDbf_a78da5a3d2011a3f2e7618cbdd3ba02d6}} 
\index{xb::xbDbf@{xb::xbDbf}!BlankRecord@{BlankRecord}}
\index{BlankRecord@{BlankRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{BlankRecord()}{BlankRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Blank\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Blank the record buffer. 

This method would typically be called to initialize the record buffer before updates are applied to append a new record.

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}\label{classxb_1_1xbDbf_ad68d73113e54e1b5f326e90f45e9989d}} 
\index{xb::xbDbf@{xb::xbDbf}!Close@{Close}}
\index{Close@{Close}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Close()}{Close()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Close DBF file/table. 

This routine flushes any remaining updates to disk, closes the DBF file and any associated memo and index files.

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}\label{classxb_1_1xbDbf_abd69532c885ab72bcf3fb5066b318f4f}} 
\index{xb::xbDbf@{xb::xbDbf}!Commit@{Commit}}
\index{Commit@{Commit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Commit()}{Commit()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Commit updates to disk. 

This routine commits any pending updates to disk.

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}\label{classxb_1_1xbDbf_a829c615a130a1fdf609d93438d8a6264}} 
\index{xb::xbDbf@{xb::xbDbf}!CopyDbfStructure@{CopyDbfStructure}}
\index{CopyDbfStructure@{CopyDbfStructure}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{CopyDbfStructure()}{CopyDbfStructure()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Copy\+Dbf\+Structure (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbDbf}{xb\+Dbf}} $\ast$}]{d\+New\+Table,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Table\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Table\+Alias,  }\item[{xb\+Int16}]{i\+Overlay,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Copy table (dbf) file structure. 

This routine will copy the structure of a dbf file and if successful return a pointer to the new table in an open state.


\begin{DoxyParams}{Parameters}
{\em d\+New\+Table} & Reference to new table object. \\
\hline
{\em s\+New\+Table\+Name} & New table (dbf) name. \\
\hline
{\em s\+New\+Table\+Alias} & Alias name of new table. \\
\hline
{\em i\+Overlay} & xb\+True -\/ Overlay existing file.~\newline
 xb\+False -\/ Don\textquotesingle{}t overlay existing file. \\
\hline
{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
 XB\+\_\+\+MULTI\+\_\+\+USER \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} Copy DBF structure 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}\label{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}} 
\index{xb::xbDbf@{xb::xbDbf}!CreateTable@{CreateTable}}
\index{CreateTable@{CreateTable}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{CreateTable()}{CreateTable()}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Create\+Table (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias,  }\item[{\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$}]{p\+Schema,  }\item[{xb\+Int16}]{i\+Overlay,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbFile_aae9a2ddb0adb8165b4ac2b6a28a932f7}\label{classxb_1_1xbFile_aae9a2ddb0adb8165b4ac2b6a28a932f7}} 
\index{xb::xbDbf@{xb::xbDbf}!CreateUniqueFileName@{CreateUniqueFileName}}
\index{CreateUniqueFileName@{CreateUniqueFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{CreateUniqueFileName()}{CreateUniqueFileName()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Create\+Unique\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Dir\+In,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ext\+In,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fqn\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a unique file name. 

Given a directory and file extension as inputs, create a unique file name.


\begin{DoxyParams}{Parameters}
{\em s\+Dir\+In} & Directory \\
\hline
{\em s\+Ext\+In} & File Extension \\
\hline
{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ae5ffabde2c88ea58324f27e471f6bfc0}\label{classxb_1_1xbFile_ae5ffabde2c88ea58324f27e471f6bfc0}} 
\index{xb::xbDbf@{xb::xbDbf}!CreateUniqueFileName@{CreateUniqueFileName}}
\index{CreateUniqueFileName@{CreateUniqueFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{CreateUniqueFileName()}{CreateUniqueFileName()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Create\+Unique\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Dir\+In,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Ext\+In,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fqn\+Out,  }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a unique file name. 

Given a directory and file extension as inputs, create a unique file name.


\begin{DoxyParams}{Parameters}
{\em s\+Dir\+In} & Directory \\
\hline
{\em s\+Ext\+In} & File Extension \\
\hline
{\em i\+Option} & 0 -\/ look only for one file for a given directory and extension~\newline
 1 -\/ if file name extension is \char`\"{}dbf\char`\"{} or \char`\"{}\+DBF\char`\"{}, verify unique dbt or DBT (memo) file is also available~\newline
 \\
\hline
{\em s\+Fqn\+Out} & A fully qualifed unique file name as output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}\label{classxb_1_1xbDbf_a01c26b67e312be1e674b3da710e031b9}} 
\index{xb::xbDbf@{xb::xbDbf}!DeleteAll@{DeleteAll}}
\index{DeleteAll@{DeleteAll}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DeleteAll()}{DeleteAll()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+All (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete or undelete all records in a dbf file (table). 

This routine deletes or un-\/deletes all records. The xbase file format contains a leading one byte character used for flagging a record as deleted. When a record is deleted, it\textquotesingle{}s not physically removed from the file, the first byte is flagged as deleted.


\begin{DoxyParams}{Parameters}
{\em i\+Option} & 0 -\/ Delete all records.~\newline
 1 -\/ Un-\/delete all deleted records. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}\label{classxb_1_1xbDbf_a3067fdfa3a7a5c15651f6e89d1102176}} 
\index{xb::xbDbf@{xb::xbDbf}!DeleteAllRecords@{DeleteAllRecords}}
\index{DeleteAllRecords@{DeleteAllRecords}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DeleteAllRecords()}{DeleteAllRecords()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+All\+Records (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete all records. 

This routine deletes all the records in a table / dbf file.

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}\label{classxb_1_1xbDbf_acd8c10579229f3a2e2c5fdb7fcef90db}} 
\index{xb::xbDbf@{xb::xbDbf}!DeleteRecord@{DeleteRecord}}
\index{DeleteRecord@{DeleteRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DeleteRecord()}{DeleteRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete the current record. 

This routine flags the current record for deletion if it\textquotesingle{}s not already flagged.

\begin{DoxyReturn}{Returns}
XB\+\_\+\+NO\+\_\+\+ERROR~\newline
 XB\+\_\+\+INVALID\+\_\+\+RECORD 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}\label{classxb_1_1xbDbf_a4085ed4f049d976124d8edc3d3c56397}} 
\index{xb::xbDbf@{xb::xbDbf}!DeleteTable@{DeleteTable}}
\index{DeleteTable@{DeleteTable}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DeleteTable()}{DeleteTable()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Delete\+Table (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete a table. 

This routine deletes a given table, associated index files if any, the memo file if any and the .INF file if any. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}\label{classxb_1_1xbFile_a5a740033664c9ad2611c90e2a6d0c2d3}} 
\index{xb::xbDbf@{xb::xbDbf}!DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}}
\index{DetermineXbaseMemoVersion@{DetermineXbaseMemoVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DetermineXbaseMemoVersion()}{DetermineXbaseMemoVersion()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Memo\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determine which version the memo (dbt) file is. 

This routine uses the first byte in the dbf file to determine which memo file version is in use. The main difference between version 3 and 4 is that version 4 will reuse blocks if they become available. Version 3 does not.


\begin{DoxyParams}{Parameters}
{\em c\+File\+Type\+Byte} & is an output field and is one of\+:~\newline
 ~\newline
 0 -\/ none~\newline
 3 -\/ Dbase III+~\newline
 4 -\/ Dbase IV~\newline
\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}\label{classxb_1_1xbFile_ae2b6ac26018dc28f77afbb3f008c3f66}} 
\index{xb::xbDbf@{xb::xbDbf}!DetermineXbaseTableVersion@{DetermineXbaseTableVersion}}
\index{DetermineXbaseTableVersion@{DetermineXbaseTableVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DetermineXbaseTableVersion()}{DetermineXbaseTableVersion()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Determine\+Xbase\+Table\+Version (\begin{DoxyParamCaption}\item[{unsigned char}]{c\+File\+Type\+Byte }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determine xbase dbf version. 

This routine is used to determine which version of the Xbase classes can be used for a given DBF file.~\newline


It attempts to use the highest version compiled into the library.~\newline


References\+:~\newline
 This routine uses the first byte from the dbf file.~\newline
 Per DBase documentation\+:~\newline
 Valid d\+BASE for Windows table file, bits 0-\/2 indicate version number\+: 3 for d\+BASE Level 5, 4 for d\+BASE Level 7.~\newline
 Bit 3 and bit 7 indicate presence of a d\+BASE IV or d\+BASE for Windows memo file;~\newline
 Bits 4-\/6 indicate the presence of a d\+BASE IV SQL table;~\newline
 Bit 7 indicates the presence of any .DBT memo file (either a d\+BASE III PLUS type or a d\+BASE IV or d\+BASE for Windows memo file).~\newline
 ~\newline
 Bachmann spec (used extensively in library build), page 7 -\/ does not match DBase documentation~\newline
 ~\newline
 returns~\newline
 0 -\/ unknown~\newline
 3 -\/ Dbase level 3~\newline
 4 -\/ Dbase level 4~\newline
 5 -\/ Dbase Level 5 (future)~\newline
 7 -\/ Dbase Level 7 (future)~\newline
 ~\newline
 1x -\/ Clipper files (future)~\newline
 2x -\/ Foxbase files (future)~\newline
 ~\newline
 \mbox{\Hypertarget{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}\label{classxb_1_1xbSsv_a97dfa59ab9a8e9f17454da0faceb023d}} 
\index{xb::xbDbf@{xb::xbDbf}!DisplayError@{DisplayError}}
\index{DisplayError@{DisplayError}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DisplayError()}{DisplayError()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Display\+Error (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Display error message on console for a given error number. 


\begin{DoxyParams}{Parameters}
{\em i\+Error\+Code} & Error number to reference \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbDbf_a309b5b1fb6a5c048c4bfb404d011ac55}\label{classxb_1_1xbDbf_a309b5b1fb6a5c048c4bfb404d011ac55}} 
\index{xb::xbDbf@{xb::xbDbf}!DumpHeader@{DumpHeader}}
\index{DumpHeader@{DumpHeader}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DumpHeader()}{DumpHeader()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Dump\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Dump dbf file header. 

This routine dumps dbf header information to the console.


\begin{DoxyParams}{Parameters}
{\em i\+Option} & 1 = Print header only~\newline
 2 = Field data only~\newline
 3 = Header and Field data~\newline
 4 = Header, Field and Memo header data if applicable \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}\label{classxb_1_1xbDbf_aba30399f15885a07f87f904c0d0656fa}} 
\index{xb::xbDbf@{xb::xbDbf}!DumpRecord@{DumpRecord}}
\index{DumpRecord@{DumpRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{DumpRecord()}{DumpRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Dump\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No,  }\item[{xb\+Int16}]{i\+Output\+Dest = {\ttfamily 0},  }\item[{xb\+Int16}]{i\+Output\+Fmt = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Dump record. 

Dump the contents of the specified record


\begin{DoxyParams}{Parameters}
{\em ul\+Rec\+No} & Record number of record to be dumped. \\
\hline
{\em i\+Output\+Dest} & 0 = stdout~\newline
 1 = Syslog~\newline
 2 = Both~\newline
\\
\hline
{\em i\+Output\+Fmt} & 0 = with field names~\newline
 1 = 1 line per rec, no field names~\newline
 2 = 1 line per rec, first line is a list of field names. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}\label{classxb_1_1xbFile_ab14e4a11427f5efb81cba1dd32bd1aa1}} 
\index{xb::xbDbf@{xb::xbDbf}!eGetDouble@{eGetDouble}}
\index{eGetDouble@{eGetDouble}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{eGetDouble()}{eGetDouble()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} xb\+::xb\+File\+::e\+Get\+Double (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get a portable double value. 

This routine returns a double value from an 8 byte character stream, accounting for endian type.

Converts a double (64 bit floating point) value stored at p from a portable format to the machine format.


\begin{DoxyParams}{Parameters}
{\em p} & pointer to memory containing the portable double value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the double value. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}\label{classxb_1_1xbFile_ac40c991110ddc6fb30a72d90f4652762}} 
\index{xb::xbDbf@{xb::xbDbf}!eGetInt16@{eGetInt16}}
\index{eGetInt16@{eGetInt16}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{eGetInt16()}{eGetInt16()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::e\+Get\+Int16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get a portable short value. 

This routine returns a short int value from a 2 byte character stream, accounting for endian type.


\begin{DoxyParams}{Parameters}
{\em p} & pointer to memory containing the portable long value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the short value. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}\label{classxb_1_1xbFile_a60b24a5afc984c586bf384c7e915ba0d}} 
\index{xb::xbDbf@{xb::xbDbf}!eGetInt32@{eGetInt32}}
\index{eGetInt32@{eGetInt32}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{eGetInt32()}{eGetInt32()}}
{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+File\+::e\+Get\+Int32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get a portable long value. 

This routine returns a long int value from a 4 byte character stream, accounting for endian type.


\begin{DoxyParams}{Parameters}
{\em p} & pointer to memory containing the portable long value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the long value. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}\label{classxb_1_1xbFile_a936ade458e6d5e6d29f9b5031888d189}} 
\index{xb::xbDbf@{xb::xbDbf}!eGetUInt16@{eGetUInt16}}
\index{eGetUInt16@{eGetUInt16}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{eGetUInt16()}{eGetUInt16()}}
{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+File\+::e\+Get\+UInt16 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get a portable unsigned short value. 

This routine returns a short unsigned int value from a 2 byte character stream, accounting for endian type.


\begin{DoxyParams}{Parameters}
{\em p} & pointer to memory containing the portable long value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the short value. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}\label{classxb_1_1xbFile_a78f052529d39a18deaface5a0d47d0b0}} 
\index{xb::xbDbf@{xb::xbDbf}!eGetUInt32@{eGetUInt32}}
\index{eGetUInt32@{eGetUInt32}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{eGetUInt32()}{eGetUInt32()}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::e\+Get\+UInt32 (\begin{DoxyParamCaption}\item[{const char $\ast$}]{p }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get a portable unsigned long value. 

This routine returns an unsigned long int value from a 4 byte character stream, accounting for endian type.


\begin{DoxyParams}{Parameters}
{\em p} & pointer to memory containing the portable long value\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the unsigned long value. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}\label{classxb_1_1xbFile_a98b6ff533ae93f90c977a2ba23eeb105}} 
\index{xb::xbDbf@{xb::xbDbf}!ePutDouble@{ePutDouble}}
\index{ePutDouble@{ePutDouble}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ePutDouble()}{ePutDouble()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Double (\begin{DoxyParamCaption}\item[{char $\ast$}]{c,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a portable double value to memory location. 

Converts a double (64 bit floating point) value from machine format to a portable format and stores the converted value in the memory referenced by c.

This routine puts a double value to an 8 byte character stream


\begin{DoxyParams}{Parameters}
{\em c} & Pointer to memory to hold converted value \\
\hline
{\em d} & Input value to be converted \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}\label{classxb_1_1xbFile_a29130f12739ac8fa837f4eaedf1338b2}} 
\index{xb::xbDbf@{xb::xbDbf}!ePutInt16@{ePutInt16}}
\index{ePutInt16@{ePutInt16}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ePutInt16()}{ePutInt16()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c,  }\item[{xb\+Int16}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a portable short value to memory location. 

Converts a short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.

This routine puts a short value to a 2 byte character stream


\begin{DoxyParams}{Parameters}
{\em c} & Pointer to memory to hold converted value \\
\hline
{\em s} & Input value to be converted \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}\label{classxb_1_1xbFile_a19c37f76a2ccbb45019cb0fc373d3f46}} 
\index{xb::xbDbf@{xb::xbDbf}!ePutInt32@{ePutInt32}}
\index{ePutInt32@{ePutInt32}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ePutInt32()}{ePutInt32()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+Int32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c,  }\item[{xb\+Int32}]{l }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a portable long value to memory location. 

Converts a long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.

This routine puts a long value to a 4 byte character stream.


\begin{DoxyParams}{Parameters}
{\em c} & Pointer to memory to hold converted value \\
\hline
{\em l} & Input value to be converted \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}\label{classxb_1_1xbFile_a65e9839f92b96eac7b0d071fac3bbe40}} 
\index{xb::xbDbf@{xb::xbDbf}!ePutUInt16@{ePutUInt16}}
\index{ePutUInt16@{ePutUInt16}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ePutUInt16()}{ePutUInt16()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt16 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c,  }\item[{xb\+UInt16}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a portable unsigned short value to memory location. 

Converts an unsigned short (16 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.

This routine puts an unsigned short value to a 2 byte character stream


\begin{DoxyParams}{Parameters}
{\em c} & Pointer to memory to hold converted value \\
\hline
{\em s} & Input value to be converted \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}\label{classxb_1_1xbFile_aa3f6ceae4b96f24875d86848bf13a173}} 
\index{xb::xbDbf@{xb::xbDbf}!ePutUInt32@{ePutUInt32}}
\index{ePutUInt32@{ePutUInt32}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ePutUInt32()}{ePutUInt32()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::e\+Put\+UInt32 (\begin{DoxyParamCaption}\item[{char $\ast$}]{c,  }\item[{xb\+UInt32}]{ul }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a portable unsigned long value to memory location. 

Converts an unsigned long (32 bit integer) value from machine format to a portable format and stores the converted value in the memory referenced by c.

This routine puts an unsigned long value to a 4 byte character stream.


\begin{DoxyParams}{Parameters}
{\em c} & Pointer to memory to hold converted value \\
\hline
{\em ul} & Input value to be converted \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}\label{classxb_1_1xbFile_a78bd8a11dce102647095baf3aff2b006}} 
\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines if a file exists. 

\begin{DoxyReturn}{Returns}
xb\+True if file exists~\newline
 xb\+False if file does not exist 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}\label{classxb_1_1xbFile_a61130b4fbf4cf9d5972dcb4993de2f94}} 
\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines if a file exists. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ file name to check for\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
xb\+True if file exists~\newline
 xb\+False if file does not exist 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}\label{classxb_1_1xbFile_a0592168f39a10f2a401a88ef781f6148}} 
\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines if a file exists. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ file name to check for \\
\hline
{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
xb\+True if both dbf and dbt files exist~\newline
 xb\+False if file does not exist 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}\label{classxb_1_1xbFile_a174d8a6aabc9cfcd32fedbd1e5b13ddd}} 
\index{xb::xbDbf@{xb::xbDbf}!FileExists@{FileExists}}
\index{FileExists@{FileExists}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{FileExists()}{FileExists()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Exists (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines if a file exists. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & if 1, assume this is a request for a dbf file and check for the a dbt memo file also, returns true if both files are found\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
xb\+True if both files exist~\newline
 xb\+False if file does not exist 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}\label{classxb_1_1xbFile_a7fa837938a32dc9ca3fbc81cbaf50f59}} 
\index{xb::xbDbf@{xb::xbDbf}!FileIsOpen@{FileIsOpen}}
\index{FileIsOpen@{FileIsOpen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{FileIsOpen()}{FileIsOpen()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+File\+::\+File\+Is\+Open (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines if file is open. 

\begin{DoxyReturn}{Returns}
xb\+True if file is open~\newline
 xb\+False if file is not open 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}\label{classxb_1_1xbDbf_abb9e20c5efacd4fea80f1515abbc6b55}} 
\index{xb::xbDbf@{xb::xbDbf}!GetAutoCommit@{GetAutoCommit}}
\index{GetAutoCommit@{GetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetAutoCommit()}{GetAutoCommit()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get auto commit setting. 

This routine returns the table setting if set, otherwise returns the system level setting.

\begin{DoxyReturn}{Returns}
Not 0 -\/ Auto commit on for this table.~\newline
 0 -\/ Auto commit off for this table. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}\label{classxb_1_1xbDbf_ae0c00226fd2ea7a67f101e795467ed68}} 
\index{xb::xbDbf@{xb::xbDbf}!GetAutoCommit@{GetAutoCommit}}
\index{GetAutoCommit@{GetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetAutoCommit()}{GetAutoCommit()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Auto\+Commit (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get auto commit setting. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & 0 -\/ Specific setting for this table~\newline
 1 -\/ If this table should be auto updated (takes DBMS setting into account) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Not 0 -\/ Auto commit on for this table.~\newline
 0 -\/ Auto commit off for this table. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}\label{classxb_1_1xbFile_a638e14262410a1627819f016a16cdce2}} 
\index{xb::xbDbf@{xb::xbDbf}!GetBlockSize@{GetBlockSize}}
\index{GetBlockSize@{GetBlockSize}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetBlockSize()}{GetBlockSize()}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+File\+::\+Get\+Block\+Size (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the block size. 

\begin{DoxyReturn}{Returns}
Block Size 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}\label{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}} 
\index{xb::xbDbf@{xb::xbDbf}!GetCurRecNo@{GetCurRecNo}}
\index{GetCurRecNo@{GetCurRecNo}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetCurRecNo()}{GetCurRecNo()}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::\+Get\+Cur\+Rec\+No (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get a pointer to the current index object. 

\begin{DoxyReturn}{Returns}
Pointer to current index.
\end{DoxyReturn}
Return the current record number.

\begin{DoxyReturn}{Returns}
Returns the current record number. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}\label{classxb_1_1xbSsv_a1d803a4bfc8ba0561267a0bf9e51f7d9}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDataDirectory@{GetDataDirectory}}
\index{GetDataDirectory@{GetDataDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDataDirectory()}{GetDataDirectory()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Data\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the current data directory. 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the current data directory where the database files are stored. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}\label{classxb_1_1xbDbf_ac624e06a97666bfd64b4f252b4548b36}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDateField@{GetDateField}}
\index{GetDateField@{GetDateField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDateField()}{GetDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Date\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve. \\
\hline
{\em dt\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}\label{classxb_1_1xbDbf_af78ef1fba949463ff7f829d3cffc4555}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDateField@{GetDateField}}
\index{GetDateField@{GetDateField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDateField()}{GetDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Date\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em dt\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}\label{classxb_1_1xbDbf_ac1110d867ba297a52c8b0e83e88f05e6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDbfStatus@{GetDbfStatus}}
\index{GetDbfStatus@{GetDbfStatus}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDbfStatus()}{GetDbfStatus()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Dbf\+Status (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Return the current dbf status. 

\begin{DoxyReturn}{Returns}
0 = closed~\newline
 1 = open~\newline
 2 = updates pending~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}\label{classxb_1_1xbSsv_a6982f973e81587b04916f4509746aaf5}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDefaultAutoCommit@{GetDefaultAutoCommit}}
\index{GetDefaultAutoCommit@{GetDefaultAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDefaultAutoCommit()}{GetDefaultAutoCommit()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Default\+Auto\+Commit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the default auto commit setting. 

When auto commit is enabled, the library will automatically post any updates when moving off an updated record or closing files. If auto commit is disabled, the application program will need to explicitly update the tables using using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}\mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record()}}.

\begin{DoxyReturn}{Returns}
xb\+True if auto commit is turned on~\newline
 xb\+False is auto commit is turned off 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}\label{classxb_1_1xbSsv_a6fbb9c3a550ab0b3378f9586a57791d2}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDefaultDateFormat@{GetDefaultDateFormat}}
\index{GetDefaultDateFormat@{GetDefaultDateFormat}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDefaultDateFormat()}{GetDefaultDateFormat()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Date\+Format (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the default date format. 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing the default date format. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_abf3763faf6a8917a963213cd53af529c}\label{classxb_1_1xbSsv_abf3763faf6a8917a963213cd53af529c}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDefaultLogDirectory@{GetDefaultLogDirectory}}
\index{GetDefaultLogDirectory@{GetDefaultLogDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDefaultLogDirectory()}{GetDefaultLogDirectory()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a43878d4dc041f2a5e2398a118ccfaf79}\label{classxb_1_1xbSsv_a43878d4dc041f2a5e2398a118ccfaf79}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDefaultLogFileName@{GetDefaultLogFileName}}
\index{GetDefaultLogFileName@{GetDefaultLogFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDefaultLogFileName()}{GetDefaultLogFileName()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Default\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}\label{classxb_1_1xbFile_acd0fb2166b2bff7e8a1cf65a7bc8be1e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDirectory@{GetDirectory}}
\index{GetDirectory@{GetDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDirectory()}{GetDirectory()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the directory name. 

\begin{DoxyReturn}{Returns}
the directory name of the file 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}\label{classxb_1_1xbDbf_a6e6774df0f2d7733f4b25a9989596d95}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get xb\+Double field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve. \\
\hline
{\em d\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}\label{classxb_1_1xbDbf_a4556041a7ff2f6b6f986729901c11f08}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get xb\+Double field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em d\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}\label{classxb_1_1xbDbf_a2370b5e736931441a5968649291b9ef4}} 
\index{xb::xbDbf@{xb::xbDbf}!GetDoubleField@{GetDoubleField}}
\index{GetDoubleField@{GetDoubleField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetDoubleField()}{GetDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}} \&}]{d\+Field\+Value,  }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get xb\+Double field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em d\+Field\+Value} & Output field value. \\
\hline
{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
1 -\/ Record buffer with original data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}\label{classxb_1_1xbSsv_a49cd162f066eef2b829ba7c9f6620243}} 
\index{xb::xbDbf@{xb::xbDbf}!GetEndianType@{GetEndianType}}
\index{GetEndianType@{GetEndianType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetEndianType()}{GetEndianType()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::\+Get\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the Endian type. 

\begin{DoxyReturn}{Returns}
B -\/ Big endian~\newline
 L -\/ Little endian~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}\label{classxb_1_1xbSsv_a56961d2a67b8e7470098626ac4dac7e4}} 
\index{xb::xbDbf@{xb::xbDbf}!GetErrorMessage@{GetErrorMessage}}
\index{GetErrorMessage@{GetErrorMessage}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetErrorMessage()}{GetErrorMessage()}}
{\footnotesize\ttfamily const char $\ast$ xb\+::xb\+Ssv\+::\+Get\+Error\+Message (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Error\+Code }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get an error message. 


\begin{DoxyParams}{Parameters}
{\em i\+Error\+Code} & Error\+Code is the error number of description to be returned. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns a pointer to a string containing a text description for the error code. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}\label{classxb_1_1xbDbf_a9a0fcf7e2040ab483e3807927833cb26}} 
\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve \\
\hline
{\em s\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}\label{classxb_1_1xbDbf_ac81f078f3c932f0da60ad1fbdd848d3e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field data for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em s\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}\label{classxb_1_1xbDbf_ad245a26eb8b79610c9ae7bab19e05513}} 
\index{xb::xbDbf@{xb::xbDbf}!GetField@{GetField}}
\index{GetField@{GetField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetField()}{GetField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value,  }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field data for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em s\+Field\+Value} & Output field value. \\
\hline
{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
1 -\/ Record buffer with original data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}\label{classxb_1_1xbDbf_add27d8ef555a13b336b8c804165dc15e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldCnt@{GetFieldCnt}}
\index{GetFieldCnt@{GetFieldCnt}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldCnt()}{GetFieldCnt()}}
{\footnotesize\ttfamily xb\+Int32 xb\+::xb\+Dbf\+::\+Get\+Field\+Cnt (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Return the number of fields in the table. 

\begin{DoxyReturn}{Returns}
The number of fields in the table. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}\label{classxb_1_1xbDbf_a607f774fcd6dc0b9913d7a7801b60db2}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldDecimal@{GetFieldDecimal}}
\index{GetFieldDecimal@{GetFieldDecimal}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldDecimal()}{GetFieldDecimal()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Decimal (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+Int16 \&}]{i\+Field\+Decimal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get decimal for field name. 

This routine retreives a field\textquotesingle{}s decimal length. 
\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve \\
\hline
{\em i\+Field\+Decimal} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}\label{classxb_1_1xbDbf_abcb4defad2e1b6e67f63cc60737ad840}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldDecimal@{GetFieldDecimal}}
\index{GetFieldDecimal@{GetFieldDecimal}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldDecimal()}{GetFieldDecimal()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Decimal (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+Int16 \&}]{i\+Field\+Decimal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get decimal for field number. 

This routine retreives a field\textquotesingle{}s decimal length. 
\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve \\
\hline
{\em i\+Field\+Decimal} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}\label{classxb_1_1xbDbf_acf06dbccdba1a4bcd90fa0bea6cca59b}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldLen@{GetFieldLen}}
\index{GetFieldLen@{GetFieldLen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldLen()}{GetFieldLen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Len (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+Int16 \&}]{i\+Field\+Len }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field length for field name. 

This function retrieves a field\textquotesingle{}s length.


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve \\
\hline
{\em i\+Field\+Len} & Output field length value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}\label{classxb_1_1xbDbf_adda4302b58cc6109b048f19d9b68bbd4}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldLen@{GetFieldLen}}
\index{GetFieldLen@{GetFieldLen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldLen()}{GetFieldLen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Len (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+Int16 \&}]{i\+Field\+Len }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field length for field number. 

This function retrieves a field\textquotesingle{}s length.


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Name of field to retrieve \\
\hline
{\em i\+Field\+Len} & Output field length value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}\label{classxb_1_1xbDbf_a5e3e4368bfba1724c016b8859023e34c}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldName@{GetFieldName}}
\index{GetFieldName@{GetFieldName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldName()}{GetFieldName()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Name (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the name of the specified field. 

Returns a pointer to the name for the field specified by i\+Field\+No.


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field. \\
\hline
{\em s\+Field\+Name} & Output variable containing the field name. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}\label{classxb_1_1xbDbf_aad9029e63909aeb77d8473256d88bea8}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldNo@{GetFieldNo}}
\index{GetFieldNo@{GetFieldNo}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldNo()}{GetFieldNo()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+No (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field ID number for a given field name. 

Returns the field number for the named field.


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of field or XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}\label{classxb_1_1xbDbf_aed9113b5095c6df1b9c854cbd0d8047b}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldNo@{GetFieldNo}}
\index{GetFieldNo@{GetFieldNo}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldNo()}{GetFieldNo()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+No (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+Int16 \&}]{i\+Field\+No }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the field number for name. 

Returns the field number for the named field.

All field get/put methods require either a field number or field name as one of the parameters. Using the methods that take the field numbers will yield slightly better performance because the methods that take a name, have to look up the number.


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field. \\
\hline
{\em i\+Field\+No} & Output field number for the given name. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of field named fld\+Name. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}\label{classxb_1_1xbDbf_a181db879f1a75f93a34c03513a0b2fea}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldType@{GetFieldType}}
\index{GetFieldType@{GetFieldType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldType()}{GetFieldType()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Type (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{char \&}]{c\+Field\+Type }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field type for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Field name. \\
\hline
{\em c\+Field\+Type} & Output field type. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}\label{classxb_1_1xbDbf_a5143973e4f165651152aa13c8fd45f84}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFieldType@{GetFieldType}}
\index{GetFieldType@{GetFieldType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFieldType()}{GetFieldType()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Field\+Type (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{char \&}]{c\+Field\+Type }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get field type for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Field number. \\
\hline
{\em c\+Field\+Type} & Output field type. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}\label{classxb_1_1xbFile_af5127c92892816e9bbc5c19653c4147a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileDirPart@{GetFileDirPart}}
\index{GetFileDirPart@{GetFileDirPart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the directory part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name \\
\hline
{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}\label{classxb_1_1xbFile_a60c53998e3d1b694134b20a87bc9bf5a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileDirPart@{GetFileDirPart}}
\index{GetFileDirPart@{GetFileDirPart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileDirPart()}{GetFileDirPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Dir\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Dir\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the directory part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Dir\+Part\+Out} & -\/ the returned directory name \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}\label{classxb_1_1xbFile_ab289b6ffe955321160c1f90220c22e25}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileExtPart@{GetFileExtPart}}
\index{GetFileExtPart@{GetFileExtPart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Ext\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the extension part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualfied input file name\\
\hline
{\em s\+File\+Ext\+Part\+Out} & -\/ the returned directory name part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}\label{classxb_1_1xbFile_a57a9222e5cbb51019d4eeb2c3ac89fa2}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileExtPart@{GetFileExtPart}}
\index{GetFileExtPart@{GetFileExtPart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileExtPart()}{GetFileExtPart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Ext\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Ext\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the extension part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name\+Ext\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}\label{classxb_1_1xbFile_a02df78f4c90313243f508fc56b95aba8}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileMtime@{GetFileMtime}}
\index{GetFileMtime@{GetFileMtime}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileMtime()}{GetFileMtime()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Mtime (\begin{DoxyParamCaption}\item[{time\+\_\+t \&}]{mtime }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the time of last file modification timestamp as reported by the OS. 


\begin{DoxyParams}{Parameters}
{\em mtime} & -\/ returned time of last file modification \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}\label{classxb_1_1xbFile_ac95cb882ccbcdedc9a233c6ad9fed07a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileName@{GetFileName}}
\index{GetFileName@{GetFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileName()}{GetFileName()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the file name. 

\begin{DoxyReturn}{Returns}
the file name portion of the file 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}\label{classxb_1_1xbFile_a6110763c5ae996b72c7a62c15bdecc73}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileNamePart@{GetFileNamePart}}
\index{GetFileNamePart@{GetFileNamePart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Complete\+File\+Name\+In,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the name part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+Complete\+File\+Name\+In} & -\/ a fully qualified input file name \\
\hline
{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}\label{classxb_1_1xbFile_a81422b3dd52763d2cc6c77237ec9af0a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileNamePart@{GetFileNamePart}}
\index{GetFileNamePart@{GetFileNamePart}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileNamePart()}{GetFileNamePart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Name\+Part (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+Part\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the name part of the file name. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name\+Part\+Out} & -\/ the returned file name part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}\label{classxb_1_1xbFile_a50b63c39e49d44e52078038027b24cc5}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileSize@{GetFileSize}}
\index{GetFileSize@{GetFileSize}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileSize()}{GetFileSize()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt64 \&}]{ull\+File\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the size of the file as reported by the OS. 


\begin{DoxyParams}{Parameters}
{\em ull\+File\+Size} & -\/ unsigned long long field as output \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}\label{classxb_1_1xbFile_a5548236d38d43b89ae29b9a015b1f678}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFileType@{GetFileType}}
\index{GetFileType@{GetFileType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFileType()}{GetFileType()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+File\+Type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Type\+Out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the file type aka Capitalized file extension. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Type\+Out} & -\/ the returned extension part out of s\+Complete\+File\+Name\+In \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}\label{classxb_1_1xbDbf_a6fc5b8a3e2f177d5ceaf9d975cbb5226}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFirstRecord@{GetFirstRecord}}
\index{GetFirstRecord@{GetFirstRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFirstRecord()}{GetFirstRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+First\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the first record. 

Get the first not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}\label{classxb_1_1xbDbf_acb78991e8435edd36318c653cb977c1a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFirstRecord@{GetFirstRecord}}
\index{GetFirstRecord@{GetFirstRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFirstRecord()}{GetFirstRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+First\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the first record. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the first record, deleted or not.~\newline
 XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the first active record.~\newline
 XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the first deleted record.~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}\label{classxb_1_1xbDbf_a81ef2f36f921d7ece066a592eb6393eb}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFloatField@{GetFloatField}}
\index{GetFloatField@{GetFloatField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFloatField()}{GetFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Float\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&}]{f\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get xb\+Float field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Number of field to retrieve. \\
\hline
{\em f\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}\label{classxb_1_1xbDbf_a3443f646038ced14425f067a59c0f2da}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFloatField@{GetFloatField}}
\index{GetFloatField@{GetFloatField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFloatField()}{GetFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Float\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}} \&}]{f\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get xb\+Float field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em f\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}\label{classxb_1_1xbFile_a31b4e641f93206ba23e2a5a27491dcd4}} 
\index{xb::xbDbf@{xb::xbDbf}!GetFqFileName@{GetFqFileName}}
\index{GetFqFileName@{GetFqFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetFqFileName()}{GetFqFileName()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+File\+::\+Get\+Fq\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the fully qualified file name. 

\begin{DoxyReturn}{Returns}
the fully qualfied name of the file 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}\label{classxb_1_1xbDbf_a49e667f9c8ee55c36444702663fc5964}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLastRecord@{GetLastRecord}}
\index{GetLastRecord@{GetLastRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLastRecord()}{GetLastRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Last\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the last record. 

Get the last not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}\label{classxb_1_1xbDbf_a8ccfa2291417412b6894940d1b92f9a6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLastRecord@{GetLastRecord}}
\index{GetLastRecord@{GetLastRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLastRecord()}{GetLastRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Last\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the last record. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the last record, deleted or not.~\newline
 XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the last active record.~\newline
 XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the last deleted record.~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}\label{classxb_1_1xbDbf_a943cea7fde1b06c1a05184193eff8d2d}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get logical field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve. \\
\hline
{\em b\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}\label{classxb_1_1xbDbf_a9cd6819bfd932ff8507e54d9cb9a624e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get logical field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to retrieve. \\
\hline
{\em s\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}\label{classxb_1_1xbDbf_aaf615ddcf08f8cd14efc713c2a8d7ae1}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get logical field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em b\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}\label{classxb_1_1xbDbf_ab28feef20c988b0a6f1c1911a45377b0}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Field\+Value,  }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get logical field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em b\+Field\+Value} & Output field value. \\
\hline
{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
1 -\/ Record buffer with original data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}\label{classxb_1_1xbDbf_a3254f091fc4a1404abed3dd2bcdd6ce6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLogicalField@{GetLogicalField}}
\index{GetLogicalField@{GetLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLogicalField()}{GetLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get logical field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em s\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}\label{classxb_1_1xbDbf_a7b8ef75b17941beac17e50e969b2d3db}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLongField@{GetLongField}}
\index{GetLongField@{GetLongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLongField()}{GetLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Long\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+Int32 \&}]{l\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get long field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Number of field to retrieve. \\
\hline
{\em l\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}\label{classxb_1_1xbDbf_abe525c0820640e0a9e169d0b7913cfa1}} 
\index{xb::xbDbf@{xb::xbDbf}!GetLongField@{GetLongField}}
\index{GetLongField@{GetLongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetLongField()}{GetLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Long\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+Int32 \&}]{l\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get long field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em l\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}\label{classxb_1_1xbSsv_abd58031c5f1c3766c24d47a82e6fd9c5}} 
\index{xb::xbDbf@{xb::xbDbf}!GetMultiUser@{GetMultiUser}}
\index{GetMultiUser@{GetMultiUser}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetMultiUser()}{GetMultiUser()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Ssv\+::\+Get\+Multi\+User (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the multi user setting. 

\begin{DoxyReturn}{Returns}
xb\+True -\/ Multi user mode turned on.~\newline
 xb\+False -\/ Multi user mode turned off.~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}\label{classxb_1_1xbDbf_ab896fe3b734f556de578d30f92b18fe2}} 
\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the next record. 

Get the next not deleted record. This routines skips over any deleted records. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}\label{classxb_1_1xbDbf_a3191428a7a92d9107d8d42448884f2ac}} 
\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the next record. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the next record, deleted or not.~\newline
 XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the next active record.~\newline
 XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the next deleted record.~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}\label{classxb_1_1xbDbf_a18fdcb4ab15b36cd47fa6f6f7a540d1a}} 
\index{xb::xbDbf@{xb::xbDbf}!GetNextRecord@{GetNextRecord}}
\index{GetNextRecord@{GetNextRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetNextRecord()}{GetNextRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Next\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option,  }\item[{xb\+UInt32}]{ul\+Start\+Rec }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the next record. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the next record, deleted or not.~\newline
 XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the next active record.~\newline
 XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the next deleted record.~\newline
 \\
\hline
{\em ul\+Start\+Rec} & Get next record, starting from ul\+Start\+Rec. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}\label{classxb_1_1xbFile_a3c500dc9dac22c49496e4b29386b2dd3}} 
\index{xb::xbDbf@{xb::xbDbf}!GetOpenMode@{GetOpenMode}}
\index{GetOpenMode@{GetOpenMode}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetOpenMode()}{GetOpenMode()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Open\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the open mode of the file. 

\begin{DoxyReturn}{Returns}
XB\+\_\+\+READ~\newline
 XB\+\_\+\+READ\+\_\+\+WRITE~\newline
 XB\+\_\+\+WRITE~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}\label{classxb_1_1xbDbf_ab3d248e5221b4f0809897cd43af17a1e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetPrevRecord@{GetPrevRecord}}
\index{GetPrevRecord@{GetPrevRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetPrevRecord()}{GetPrevRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Prev\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the previous record. 

Get the previous not deleted record. This routine skips over any deleted records. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}\label{classxb_1_1xbDbf_a7eadc7b08d73003802b90584f7b33387}} 
\index{xb::xbDbf@{xb::xbDbf}!GetPrevRecord@{GetPrevRecord}}
\index{GetPrevRecord@{GetPrevRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetPrevRecord()}{GetPrevRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Prev\+Record (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the previous record. 


\begin{DoxyParams}{Parameters}
{\em i\+Option} & XB\+\_\+\+ALL\+\_\+\+RECS -\/ Get the previous record, deleted or not.~\newline
 XB\+\_\+\+ACTIVE\+\_\+\+RECS -\/ Get the previous active record.~\newline
 XB\+\_\+\+DELETED\+\_\+\+RECS -\/ Get the previous deleted record.~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}\label{classxb_1_1xbDbf_aabd146c0e1054ab905ec96aedd84b02e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRawField@{GetRawField}}
\index{GetRawField@{GetRawField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRawField()}{GetRawField()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Raw\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{char $\ast$}]{c\+Buf,  }\item[{xb\+UInt32}]{ul\+Buf\+Size,  }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



Get raw field data for field number. 

This is a protected method, used by other methods. This method would be subject to buffer overflows if made public.


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em c\+Buf} & Pointer to buffer area provided by calling application program. \\
\hline
{\em ul\+Buf\+Size} & Size of data to copy \\
\hline
{\em i\+Rec\+Buf\+Sw} & 0 -\/ Record buffer with any updates.~\newline
1 -\/ Record buffer with original data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}\label{classxb_1_1xbDbf_a26fba086b07caeab95066bf1c8d25161}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRecord@{GetRecord}}
\index{GetRecord@{GetRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRecord()}{GetRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get record for specified record number. 

Retrieve a record from disk and load it into the record buffer. If auto commit is enabled and there are pending updates, this routine will flush the updates to disk before proceeding to ul\+Rec\+No.


\begin{DoxyParams}{Parameters}
{\em ul\+Rec\+No} & -\/ Record number to retrieve. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}\label{classxb_1_1xbDbf_aa3e38c4057d726a28a27d07a1610d124}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRecordBuf@{GetRecordBuf}}
\index{GetRecordBuf@{GetRecordBuf}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRecordBuf()}{GetRecordBuf()}}
{\footnotesize\ttfamily char $\ast$ xb\+::xb\+Dbf\+::\+Get\+Record\+Buf (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get pointer to record buffer. 


\begin{DoxyParams}{Parameters}
{\em i\+Opt} & 0 for Rec\+Buf (current) or 1 for Rec\+Buf2 (original contents)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to record buffer. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}\label{classxb_1_1xbDbf_ac196ad55335e1f4789d698748434dc89}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRecordCnt@{GetRecordCnt}}
\index{GetRecordCnt@{GetRecordCnt}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRecordCnt()}{GetRecordCnt()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Record\+Cnt (\begin{DoxyParamCaption}\item[{xb\+UInt32 \&}]{ul\+Rec\+Cnt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the current number of records in the dbf data file. 


\begin{DoxyParams}{Parameters}
{\em ul\+Rec\+Cnt} & Output number of records in file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a0aaa06d6028e75efc6b5131f7356ecce}\label{classxb_1_1xbDbf_a0aaa06d6028e75efc6b5131f7356ecce}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRecordCount@{GetRecordCount}}
\index{GetRecordCount@{GetRecordCount}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRecordCount()}{GetRecordCount()}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::\+Get\+Record\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get the current number of records in the dbf data file. 

\begin{DoxyReturn}{Returns}
Record count or \href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}\label{classxb_1_1xbDbf_ab50d76c6e29e81e347a6feb04c2f62bb}} 
\index{xb::xbDbf@{xb::xbDbf}!GetRecordLen@{GetRecordLen}}
\index{GetRecordLen@{GetRecordLen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetRecordLen()}{GetRecordLen()}}
{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::\+Get\+Record\+Len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the dbf record length. 

\begin{DoxyReturn}{Returns}
Record length. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}\label{classxb_1_1xbFile_a9b63e05b77f477ff6109ff7b9432c1b6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetShareMode@{GetShareMode}}
\index{GetShareMode@{GetShareMode}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetShareMode()}{GetShareMode()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Share\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the share mode of the file. 

\begin{DoxyReturn}{Returns}
XB\+\_\+\+SINGLE\+\_\+\+USER -\/ (file buffering on\texorpdfstring{$>$}{>}~\newline
 XB\+\_\+\+MULTI\+\_\+\+USER -\/ (file buffering off)~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}\label{classxb_1_1xbDbf_a27758a325c097f204247908b65ba7fbd}} 
\index{xb::xbDbf@{xb::xbDbf}!GetTblAlias@{GetTblAlias}}
\index{GetTblAlias@{GetTblAlias}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetTblAlias()}{GetTblAlias()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Dbf\+::\+Get\+Tbl\+Alias (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the table alias. 

This routine returns the table alias. \begin{DoxyReturn}{Returns}
Table alias 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}\label{classxb_1_1xbDbf_a039eb02418ec4ca862adbc0f95b9cbec}} 
\index{xb::xbDbf@{xb::xbDbf}!GetULongField@{GetULongField}}
\index{GetULongField@{GetULongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetULongField()}{GetULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+ULong\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+UInt32 \&}]{ul\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get unsigned long field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Number of field to retrieve. \\
\hline
{\em ul\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}\label{classxb_1_1xbDbf_a67e3a050f9090edf69eee75aef7f5d83}} 
\index{xb::xbDbf@{xb::xbDbf}!GetULongField@{GetULongField}}
\index{GetULongField@{GetULongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetULongField()}{GetULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+ULong\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+UInt32 \&}]{ul\+Field\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get unsigned long field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to retrieve. \\
\hline
{\em ul\+Field\+Value} & Output field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}\label{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetVersion@{GetVersion}}
\index{GetVersion@{GetVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetVersion()}{GetVersion()}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}\label{classxb_1_1xbFile_a7af337808919680b90710ad5e8a99232}} 
\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{unsigned char \&}]{c\+File\+Type\+Byte }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the file type byte and version of the dbf file. 

Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ Name of file to examine \\
\hline
{\em c\+File\+Type\+Byte} & -\/ Retruned first byte of dbf file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}\label{classxb_1_1xbFile_a78aebdd21d3de46a450d5f835e3027f6}} 
\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{unsigned char \&}]{c\+File\+Type\+Byte,  }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the file type byte and version of the dbf file. 

Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ Name of file to examine \\
\hline
{\em c\+File\+Type\+Byte} & -\/ Returned first byte of dbf file \\
\hline
{\em i\+Version} & -\/ Returned file version \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}\label{classxb_1_1xbFile_aaf2e697751a0beff41432a66bb83fb5e}} 
\index{xb::xbDbf@{xb::xbDbf}!GetXbaseFileTypeByte@{GetXbaseFileTypeByte}}
\index{GetXbaseFileTypeByte@{GetXbaseFileTypeByte}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetXbaseFileTypeByte()}{GetXbaseFileTypeByte()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Get\+Xbase\+File\+Type\+Byte (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{xb\+Int16 \&}]{i\+Version }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the file type byte and version of the dbf file. 

Pull the first bye off the DBF file for further inspection. First byte has various bits set to determine what the file format is.


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ Name of file to examine \\
\hline
{\em i\+Version} & -\/ Returned file version \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}\label{classxb_1_1xbDbf_ab21ec23c076b0c9affdc0f6672bd133f}} 
\index{xb::xbDbf@{xb::xbDbf}!GetXbasePtr@{GetXbasePtr}}
\index{GetXbasePtr@{GetXbasePtr}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{GetXbasePtr()}{GetXbasePtr()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}} $\ast$ xb\+::xb\+Dbf\+::\+Get\+Xbase\+Ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Get the pointer to the xb\+Xbase structure,. 

\begin{DoxyReturn}{Returns}
Pointer to xb\+Xbase structure. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}\label{classxb_1_1xbDbf_ad06fe0f7975fb81125d27d82504e6829}} 
\index{xb::xbDbf@{xb::xbDbf}!InitVars@{InitVars}}
\index{InitVars@{InitVars}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{InitVars()}{InitVars()}}
{\footnotesize\ttfamily void xb\+::xb\+Dbf\+::\+Init\+Vars (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}\label{classxb_1_1xbDbf_a013dc8c51fc1aa988de39cf3da6da950}} 
\index{xb::xbDbf@{xb::xbDbf}!MemoFieldsExist@{MemoFieldsExist}}
\index{MemoFieldsExist@{MemoFieldsExist}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{MemoFieldsExist()}{MemoFieldsExist()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Memo\+Fields\+Exist (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Check for existence of any memo fields. 

\begin{DoxyReturn}{Returns}
xb\+True -\/ Memo fields exist.~\newline
xb\+False -\/ Memo fields don\textquotesingle{}t exist. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}\label{classxb_1_1xbFile_a361e3cc318bbf1c4d10f069e0800a24e}} 
\index{xb::xbDbf@{xb::xbDbf}!NameSuffixMissing@{NameSuffixMissing}}
\index{NameSuffixMissing@{NameSuffixMissing}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{NameSuffixMissing()}{NameSuffixMissing()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Name\+Suffix\+Missing (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Determines status of file extension. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ Name of file to examine \\
\hline
{\em i\+Option} & -\/ Inspection type~\newline
 1 check for DBF~\newline
 2 check for NDX~\newline
 3 check for MDX~\newline
 4 check for NTX~\newline
\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if suffix found~\newline
 1 if suffix not found, lower case~\newline
 2 is suffix not found, upper case~\newline
 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}\label{classxb_1_1xbDbf_a69824d7bafc3f5a15bf7d09f2f511768}} 
\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Open a table/dbf file. 

This routine sets the alias name to the same as the table name.


\begin{DoxyParams}{Parameters}
{\em s\+Table\+Name} & Table name to open, Include the .dbf or .DBF extension. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}\label{classxb_1_1xbDbf_ae388c5e02adc86e6e9988e697e061610}} 
\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Open a table/dbf file. 


\begin{DoxyParams}{Parameters}
{\em s\+Table\+Name} & Table name to open, Include the .dbf or .DBF extension. \\
\hline
{\em s\+Alias} & Alias name to assign to this entry. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}\label{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}} 
\index{xb::xbDbf@{xb::xbDbf}!Open@{Open}}
\index{Open@{Open}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Open()}{Open()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Open (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Table\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Alias,  }\item[{xb\+Int16}]{i\+Open\+Mode,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}\label{classxb_1_1xbDbf_a8a52bf3ef2123c0d17e6b1f67bf0dc55}} 
\index{xb::xbDbf@{xb::xbDbf}!Pack@{Pack}}
\index{Pack@{Pack}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Pack()}{Pack()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Pack (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Pack dbf file. 

This routine eliminates all deleted records from the file. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}\label{classxb_1_1xbDbf_a93bb14ad0451355bfa3379128120988a}} 
\index{xb::xbDbf@{xb::xbDbf}!Pack@{Pack}}
\index{Pack@{Pack}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Pack()}{Pack()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Pack (\begin{DoxyParamCaption}\item[{xb\+UInt32 \&}]{ul\+Deleted\+Rec\+Cnt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Pack dbf file. 

This routine eliminates all deleted records from the file and clears out any unused blocks in the memo file if one exists. 
\begin{DoxyParams}{Parameters}
{\em ul\+Deleted\+Rec\+Cnt} & -\/ Output -\/ number of recrods removed from the file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}\label{classxb_1_1xbDbf_a571b36b3a940b1a16d5e834f329b33b9}} 
\index{xb::xbDbf@{xb::xbDbf}!PutDateField@{PutDateField}}
\index{PutDateField@{PutDateField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutDateField()}{PutDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Date\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put date field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em dt\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}\label{classxb_1_1xbDbf_a873f04af528a9d81e6a367a59d998ec5}} 
\index{xb::xbDbf@{xb::xbDbf}!PutDateField@{PutDateField}}
\index{PutDateField@{PutDateField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutDateField()}{PutDateField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Date\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{const \mbox{\hyperlink{classxb_1_1xbDate}{xb\+Date}} \&}]{dt\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put date field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em dt\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}\label{classxb_1_1xbDbf_ae695bbc71c19abc71c0c5f2ff2e1f971}} 
\index{xb::xbDbf@{xb::xbDbf}!PutDoubleField@{PutDoubleField}}
\index{PutDoubleField@{PutDoubleField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutDoubleField()}{PutDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Double\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put double field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em d\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}\label{classxb_1_1xbDbf_a4f34842d7e8ff1f16992c2ece2fc38a5}} 
\index{xb::xbDbf@{xb::xbDbf}!PutDoubleField@{PutDoubleField}}
\index{PutDoubleField@{PutDoubleField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutDoubleField()}{PutDoubleField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Double\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xb\+Double}}}]{d\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put double field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em d\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}\label{classxb_1_1xbDbf_a7862215dd2f83a1c488e539cd1f9aec0}} 
\index{xb::xbDbf@{xb::xbDbf}!PutField@{PutField}}
\index{PutField@{PutField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutField()}{PutField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em s\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}\label{classxb_1_1xbDbf_a142b0c0dc904917f3c68c5572c1237b5}} 
\index{xb::xbDbf@{xb::xbDbf}!PutField@{PutField}}
\index{PutField@{PutField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutField()}{PutField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em s\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}\label{classxb_1_1xbDbf_a4ea3241bc710d57e5f755efda62288ad}} 
\index{xb::xbDbf@{xb::xbDbf}!PutFloatField@{PutFloatField}}
\index{PutFloatField@{PutFloatField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutFloatField()}{PutFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Float\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}}}]{f\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put float field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em f\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}\label{classxb_1_1xbDbf_a64161eb50d72e424b11bf3732657ebd8}} 
\index{xb::xbDbf@{xb::xbDbf}!PutFloatField@{PutFloatField}}
\index{PutFloatField@{PutFloatField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutFloatField()}{PutFloatField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Float\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xb\+Float}}}]{f\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put float field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em f\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}\label{classxb_1_1xbDbf_a507e400ca6526a9e0391cf06dd6a014e}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put logical field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em s\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}\label{classxb_1_1xbDbf_a623ca3ef5520c42308c1a16b518e7ff3}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put logical field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em b\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}\label{classxb_1_1xbDbf_ab39ac4269ac63bc7ea4f638733bb17f0}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put logical field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em s\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}\label{classxb_1_1xbDbf_a423a0cb7bd252cedf956ace4954f275d}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLogicalField@{PutLogicalField}}
\index{PutLogicalField@{PutLogicalField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLogicalField()}{PutLogicalField()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Logical\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put logical field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em b\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ae7aad223119edb3d541e9f65e88c9f2f}\label{classxb_1_1xbDbf_ae7aad223119edb3d541e9f65e88c9f2f}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLongField@{PutLongField}}
\index{PutLongField@{PutLongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLongField()}{PutLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Long\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+Int32}]{l\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put long field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em l\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}\label{classxb_1_1xbDbf_a56c8f924284bf88aabf90b7930b4eb47}} 
\index{xb::xbDbf@{xb::xbDbf}!PutLongField@{PutLongField}}
\index{PutLongField@{PutLongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutLongField()}{PutLongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Long\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+Int32}]{l\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put long field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em l\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}\label{classxb_1_1xbDbf_a3c36a5ffbc7067a1abbcb526dd3b981d}} 
\index{xb::xbDbf@{xb::xbDbf}!PutRecord@{PutRecord}}
\index{PutRecord@{PutRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutRecord()}{PutRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Write the current record to disk. 

This routine is used to write any updates to the current record buffer to disk.

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}\label{classxb_1_1xbDbf_aacbc7bac3ea0c502ee75b838f4f0fcbf}} 
\index{xb::xbDbf@{xb::xbDbf}!PutRecord@{PutRecord}}
\index{PutRecord@{PutRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutRecord()}{PutRecord()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+Record (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Rec\+No }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Write record to disk. 

This routine is used to write a copy of the current record buffer to disk for a given record number.


\begin{DoxyParams}{Parameters}
{\em ul\+Rec\+No} & Record number to update. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}\label{classxb_1_1xbDbf_ac62cb97c4e678c83f41788b1ae4d0381}} 
\index{xb::xbDbf@{xb::xbDbf}!PutULongField@{PutULongField}}
\index{PutULongField@{PutULongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutULongField()}{PutULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+ULong\+Field (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name,  }\item[{xb\+UInt32}]{ul\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put unsigned long field for field name. 


\begin{DoxyParams}{Parameters}
{\em s\+Field\+Name} & Name of field to update. \\
\hline
{\em ul\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}\label{classxb_1_1xbDbf_af5dec5c9ff903efffdb0490a44d296d2}} 
\index{xb::xbDbf@{xb::xbDbf}!PutULongField@{PutULongField}}
\index{PutULongField@{PutULongField}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{PutULongField()}{PutULongField()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Put\+ULong\+Field (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No,  }\item[{xb\+UInt32}]{ul\+Field\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Put unsigned long field for field number. 


\begin{DoxyParams}{Parameters}
{\em i\+Field\+No} & Number of field to update. \\
\hline
{\em ul\+Field\+Value} & Field value. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The field routines return one of\+:~\newline
 XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NO~\newline
XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+NAME~\newline
 XB\+\_\+\+INVALID\+\_\+\+FIELD\+\_\+\+TYPE~\newline
XB\+\_\+\+INVALID\+\_\+\+DATA 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}\label{classxb_1_1xbFile_aa1bb80340abc7a5c22f87f878e9dc825}} 
\index{xb::xbDbf@{xb::xbDbf}!ReadBlock@{ReadBlock}}
\index{ReadBlock@{ReadBlock}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No,  }\item[{size\+\_\+t}]{l\+Read\+Size,  }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Read a block of data from file. 


\begin{DoxyParams}{Parameters}
{\em ul\+Block\+No} & -\/ block number to read \\
\hline
{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
\hline
{\em $\ast$buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}\label{classxb_1_1xbFile_aef696b1c4c0ef5338e818599f695d485}} 
\index{xb::xbDbf@{xb::xbDbf}!ReadBlock@{ReadBlock}}
\index{ReadBlock@{ReadBlock}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ReadBlock()}{ReadBlock()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Read\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No,  }\item[{xb\+UInt32}]{ul\+Block\+Size,  }\item[{size\+\_\+t}]{l\+Read\+Size,  }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Read a block of data from file. 


\begin{DoxyParams}{Parameters}
{\em ul\+Block\+No} & -\/ block number to read \\
\hline
{\em ul\+Block\+Size} & -\/ block size \\
\hline
{\em l\+Read\+Size} & -\/ size of data to read at block location, set to 0 to read blocksize \\
\hline
{\em buf} & -\/ pointer to buffer to write output data, assumed to be previosuly allocated and large enough to contain data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}\label{classxb_1_1xbDbf_a060541addb5bb1f0fe12959ed6f66fb9}} 
\index{xb::xbDbf@{xb::xbDbf}!ReadHeader@{ReadHeader}}
\index{ReadHeader@{ReadHeader}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ReadHeader()}{ReadHeader()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Read\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Position\+Option,  }\item[{xb\+Int16}]{i\+Read\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Read dbf file header information. 

This method assumes the header has been locked appropriately in a multi user environment


\begin{DoxyParams}{Parameters}
{\em i\+Position\+Option} & 0 -\/ Don\textquotesingle{}t fseek to beginning of file before read.~\newline
 1 -\/ Start from beginning of file.\\
\hline
{\em i\+Read\+Option} & 0 -\/ Read entire 32 byte header~\newline
 1 -\/ Read first eight bytes which includes the last update date and number of records.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}\label{classxb_1_1xbDbf_a94d7d626ba691fd4b740c034673e6fc6}} 
\index{xb::xbDbf@{xb::xbDbf}!RecordDeleted@{RecordDeleted}}
\index{RecordDeleted@{RecordDeleted}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{RecordDeleted()}{RecordDeleted()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Record\+Deleted (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Opt = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Return record deletion status. 

This routine returns the record deletion status. 
\begin{DoxyParams}{Parameters}
{\em i\+Opt} & 0 = Current record buffer, 1 = Original record buffer \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
xb\+True -\/ Record deleted.~\newline
xb\+False -\/ Record not deleted. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}\label{classxb_1_1xbDbf_aeeeb2eb5fabcd0f91d457df07b0e0708}} 
\index{xb::xbDbf@{xb::xbDbf}!Rename@{Rename}}
\index{Rename@{Rename}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Rename()}{Rename()}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Rename (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}}}]{s\+New\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}\label{classxb_1_1xbDbf_a4cf7f0d423164f3cf074ae41f96f4e90}} 
\index{xb::xbDbf@{xb::xbDbf}!SetAutoCommit@{SetAutoCommit}}
\index{SetAutoCommit@{SetAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetAutoCommit()}{SetAutoCommit()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Set\+Auto\+Commit (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set auto commit. 

This routine sets the auto commit setting for this table. \begin{DoxyReturn}{Returns}
XB\+\_\+\+NO\+\_\+\+ERROR; 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}\label{classxb_1_1xbFile_a991c5676a6f38fa752435390989f413e}} 
\index{xb::xbDbf@{xb::xbDbf}!SetBlockSize@{SetBlockSize}}
\index{SetBlockSize@{SetBlockSize}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetBlockSize()}{SetBlockSize()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Block\+Size (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the block size. 


\begin{DoxyParams}{Parameters}
{\em ul\+Block\+Size} & -\/ unsigned long block size, divisible by 512 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}\label{classxb_1_1xbSsv_a57caaaadfbd089d9a58ecfcb50c88a6c}} 
\index{xb::xbDbf@{xb::xbDbf}!SetDataDirectory@{SetDataDirectory}}
\index{SetDataDirectory@{SetDataDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetDataDirectory()}{SetDataDirectory()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Data\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Data\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the data directory. 


\begin{DoxyParams}{Parameters}
{\em s\+Data\+Directory} & Set the data direcroty. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}\label{classxb_1_1xbSsv_a25542afadaaf39b4fb5a1772a29cc0bd}} 
\index{xb::xbDbf@{xb::xbDbf}!SetDefaultAutoCommit@{SetDefaultAutoCommit}}
\index{SetDefaultAutoCommit@{SetDefaultAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetDefaultAutoCommit()}{SetDefaultAutoCommit()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Auto\+Commit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Default\+Auto\+Commit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the default auto commit. 

Disabling auto commit requires the application execute explicit updates using dbf-\/\texorpdfstring{$>$}{>}Put() and dbf-\/\texorpdfstring{$>$}{>}\mbox{\hyperlink{classxb_1_1xbDbf_a5b412dd796241673eb1aa2c93513d69b}{Append\+Record()}}. With auto commit on, the library posts updates automatically when moving off the current record or closing a file.


\begin{DoxyParams}{Parameters}
{\em b\+Default\+Auto\+Commit} & xb\+True -\/ Enable default auto commit.~\newline
 xb\+False -\/ Disable default auto commit.~\newline
 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}\label{classxb_1_1xbSsv_a5f74db23f8902846d581935c7db73f9c}} 
\index{xb::xbDbf@{xb::xbDbf}!SetDefaultDateFormat@{SetDefaultDateFormat}}
\index{SetDefaultDateFormat@{SetDefaultDateFormat}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetDefaultDateFormat()}{SetDefaultDateFormat()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Date\+Format (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Date\+Format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the default date format. 


\begin{DoxyParams}{Parameters}
{\em s\+Default\+Date\+Format} & Set the default date format. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbSsv_a84343b8645790791512d6bc22ee6c8eb}\label{classxb_1_1xbSsv_a84343b8645790791512d6bc22ee6c8eb}} 
\index{xb::xbDbf@{xb::xbDbf}!SetDefaultLogDirectory@{SetDefaultLogDirectory}}
\index{SetDefaultLogDirectory@{SetDefaultLogDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetDefaultLogDirectory()}{SetDefaultLogDirectory()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Default\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Default\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}\label{classxb_1_1xbFile_ae78a85255488bc78964c16946dbaead3}} 
\index{xb::xbDbf@{xb::xbDbf}!SetDirectory@{SetDirectory}}
\index{SetDirectory@{SetDirectory}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetDirectory()}{SetDirectory()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the directory. 


\begin{DoxyParams}{Parameters}
{\em s\+Directory} & -\/ Valid directory name \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}\label{classxb_1_1xbSsv_a904ec348fd029d4a76e72b8fde636108}} 
\index{xb::xbDbf@{xb::xbDbf}!SetEndianType@{SetEndianType}}
\index{SetEndianType@{SetEndianType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetEndianType()}{SetEndianType()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Endian\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}



Set the endian type. 

This routine determines the Endian-\/ness at run time instead of compile time as some processers (ie; Sparc,ARM) can be switched either way. This routine is called automatically by the library at startup and does not need to be called in an application program. \mbox{\Hypertarget{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}\label{classxb_1_1xbFile_a5419eb27e56822f828b2b88a9502a636}} 
\index{xb::xbDbf@{xb::xbDbf}!SetFileName@{SetFileName}}
\index{SetFileName@{SetFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetFileName()}{SetFileName()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the filename. 

This routine builds out two internal variables from the input file name~\newline
 s\+File\+Name -\/ the file name part~\newline
 s\+Fq\+File\+Name -\/ the fully qualified file name~\newline



\begin{DoxyParams}{Parameters}
{\em s\+File\+Name} & -\/ Input file name \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}\label{classxb_1_1xbFile_aee832fa11db2077a532f49e1329bd05a}} 
\index{xb::xbDbf@{xb::xbDbf}!SetFqFileName@{SetFqFileName}}
\index{SetFqFileName@{SetFqFileName}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetFqFileName()}{SetFqFileName()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::\+Set\+Fq\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Fq\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set the fully qualifed filename. 


\begin{DoxyParams}{Parameters}
{\em s\+Fq\+File\+Name} & -\/ Fully qualifed input file name \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}\label{classxb_1_1xbSsv_aba6e59512f7172dd55dcf92059e5928c}} 
\index{xb::xbDbf@{xb::xbDbf}!SetMultiUser@{SetMultiUser}}
\index{SetMultiUser@{SetMultiUser}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetMultiUser()}{SetMultiUser()}}
{\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Multi\+User (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}}}]{b\+Multi\+User }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Get the multi user setting. 


\begin{DoxyParams}{Parameters}
{\em b\+Multi\+User} & xb\+True -\/ Turn on Multi user mode.~\newline
 xb\+False -\/ Turn off Multi user mode.~\newline
 \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}\label{classxb_1_1xbDbf_a7e63e852418f337eb7c44de5dcd50323}} 
\index{xb::xbDbf@{xb::xbDbf}!SetVersion@{SetVersion}}
\index{SetVersion@{SetVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SetVersion()}{SetVersion()}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Set\+Version (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}\label{classxb_1_1xbDbf_ae94cb1bf9f75184f39d9e1a80ab49d4a}} 
\index{xb::xbDbf@{xb::xbDbf}!UndeleteAllRecords@{UndeleteAllRecords}}
\index{UndeleteAllRecords@{UndeleteAllRecords}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{UndeleteAllRecords()}{UndeleteAllRecords()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Undelete\+All\+Records (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set auto lock. 

This routine sets the auto lock setting for this table. There is an overall system level auto lock default setting and each table can have it\textquotesingle{}s own autolock setting. This method controls the table level auto lock setting.


\begin{DoxyParams}{Parameters}
{\em i\+Auto\+Lock} & 1 -\/ Use auto lock for this table.~\newline
 0 -\/ Don\textquotesingle{}t use auto lock for this table.~\newline
 -\/1 -\/ (minus one) Use system default.~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}}
\end{DoxyReturn}
Set the header locked status.


\begin{DoxyParams}{Parameters}
{\em b\+Header\+Locked} & xb\+True -\/ Locked~\newline
xb\+False -\/ Not locked. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void
\end{DoxyReturn}
Set lock flavor.

This routine is for future expansion. 
\begin{DoxyParams}{Parameters}
{\em i\+Lock\+Flavor} & 1 -\/ Use Dbase (tm) style locking. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void
\end{DoxyReturn}
Set table locked status.


\begin{DoxyParams}{Parameters}
{\em b\+Table\+Locked} & -\/ xb\+True Table locked.~\newline
xb\+False Table unlocked. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
void
\end{DoxyReturn}
Undelete all records.

This routine will remove the deletion flag on any deleted records in the table. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}\label{classxb_1_1xbDbf_a255681976a04fc722538bb630507b3a0}} 
\index{xb::xbDbf@{xb::xbDbf}!UndeleteRecord@{UndeleteRecord}}
\index{UndeleteRecord@{UndeleteRecord}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{UndeleteRecord()}{UndeleteRecord()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Undelete\+Record (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Undelete one record. 

This routine will undelete the current record, if it is deleted. \begin{DoxyReturn}{Returns}
XB\+\_\+\+NO\+\_\+\+ERROR~\newline
XB\+\_\+\+INVALID\+\_\+\+RECORD 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}\label{classxb_1_1xbDbf_aba5dcac3b4092261bc1669740cdd669d}} 
\index{xb::xbDbf@{xb::xbDbf}!ValidateSchema@{ValidateSchema}}
\index{ValidateSchema@{ValidateSchema}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ValidateSchema()}{ValidateSchema()}}
{\footnotesize\ttfamily virtual xb\+Int16 xb\+::xb\+Dbf\+::\+Validate\+Schema (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structxb_1_1xbSchema}{xb\+Schema}} $\ast$}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}

\mbox{\Hypertarget{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}\label{classxb_1_1xbFile_a5d871dcfecc2b4338f7a13722aab766c}} 
\index{xb::xbDbf@{xb::xbDbf}!WriteBlock@{WriteBlock}}
\index{WriteBlock@{WriteBlock}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{WriteBlock()}{WriteBlock()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Write\+Block (\begin{DoxyParamCaption}\item[{xb\+UInt32}]{ul\+Block\+No,  }\item[{size\+\_\+t}]{l\+Write\+Size,  }\item[{void $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Write a block of data to file. 


\begin{DoxyParams}{Parameters}
{\em ul\+Block\+No} & -\/ block number to write \\
\hline
{\em l\+Write\+Size} & -\/ size of data to write, set to 0 to write blocksize \\
\hline
{\em $\ast$buf} & -\/ pointer to buffer of data to be written \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}\label{classxb_1_1xbDbf_a44e1410109ef7b3d11a6af4b704b62b2}} 
\index{xb::xbDbf@{xb::xbDbf}!WriteHeader@{WriteHeader}}
\index{WriteHeader@{WriteHeader}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{WriteHeader()}{WriteHeader()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Write\+Header (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Position\+Option,  }\item[{xb\+Int16}]{i\+Write\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}\label{classxb_1_1xbFile_a18830b5755d74818f60d9c7ce38ddf2d}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFclose@{xbFclose}}
\index{xbFclose@{xbFclose}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFclose()}{xbFclose()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fclose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fclose. 

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}\label{classxb_1_1xbFile_af5b6356832d2a67212070a1aa605f170}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFeof@{xbFeof}}
\index{xbFeof@{xbFeof}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFeof()}{xbFeof()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Feof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary feof. 

\begin{DoxyReturn}{Returns}
non zero if end-\/of-\/file is set for the stream. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}\label{classxb_1_1xbFile_ad205184d43409f04216540ae22f15009}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFflush@{xbFflush}}
\index{xbFflush@{xbFflush}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFflush()}{xbFflush()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fflush (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fflush. 

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}\label{classxb_1_1xbFile_a5ee229bda4d7d6695e122200e581e7a6}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFgetc@{xbFgetc}}
\index{xbFgetc@{xbFgetc}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{char \&}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fgetc. 


\begin{DoxyParams}{Parameters}
{\em c} & -\/ output character returned by fgetc \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}\label{classxb_1_1xbFile_afb1c584d2895ffb7834df80aea7eb1e4}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFgetc@{xbFgetc}}
\index{xbFgetc@{xbFgetc}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFgetc()}{xbFgetc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgetc (\begin{DoxyParamCaption}\item[{xb\+Int32 \&}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fgetc. 


\begin{DoxyParams}{Parameters}
{\em c} & -\/ output integer returned by fgetc \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}\label{classxb_1_1xbFile_ad245955ace26e5dde85fd4373b30d026}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFgets@{xbFgets}}
\index{xbFgets@{xbFgets}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFgets()}{xbFgets()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fgets (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{l\+Size,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fgets. 


\begin{DoxyParams}{Parameters}
{\em l\+Size} & -\/ reads in at most, one character less than l\+Size \\
\hline
{\em s} & -\/ an \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data returned by fseek \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}\label{classxb_1_1xbFile_ab0fa19686ca8953ff4b556fb5b249135}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fopen. 

This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+b\char`\"{}.


\begin{DoxyParams}{Parameters}
{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
r&Reading \\\cline{1-2}
r+&Reading and Writing \\\cline{1-2}
w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
a&Open for append \\\cline{1-2}
a+&Open for reading and writing (at end). \\\cline{1-2}
\end{tabularx}}
The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
\hline
{\em s\+File\+Name} & File name to open \\
\hline
{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
 XB\+\_\+\+MULTI\+\_\+\+USER~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}\label{classxb_1_1xbFile_a0548cedf0f26b7d8ac221f75b0cd048c}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Open\+Mode,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fopen. 

This routine supports all the standard C library open modes. The Xbase routines only use \char`\"{}r\char`\"{} and \char`\"{}r+\char`\"{}.


\begin{DoxyParams}{Parameters}
{\em s\+Open\+Mode} & {\begin{tabularx}{\linewidth}{|*{2}{>{\raggedright\arraybackslash}X|}}\hline
\cellcolor{\tableheadbgcolor}\textbf{ Open\+Mode}&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
r&Reading \\\cline{1-2}
r+&Reading and Writing \\\cline{1-2}
w&Open for writing. Truncate to zero bytes if it exists \\\cline{1-2}
w+&Open for reading and writing, truncate to zero bytes if it exists \\\cline{1-2}
a&Open for append \\\cline{1-2}
a+&Open for reading and writing (at end). \\\cline{1-2}
\end{tabularx}}
The mode can also include the letter \char`\"{}b\char`\"{} for binary ie; \char`\"{}r+b\char`\"{}. The \char`\"{}b\char`\"{} is ignored on POSIX compliant systems, but is included for cross platform compatibility. \\
\hline
{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
 XB\+\_\+\+MULTI\+\_\+\+USER~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}\label{classxb_1_1xbFile_a7cdfef5ede9ac98d44a28a6b7a70972c}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}\label{classxb_1_1xbFile_aabd113333b49c36cad23244b392baab4}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFopen@{xbFopen}}
\index{xbFopen@{xbFopen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFopen()}{xbFopen()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fopen (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Open\+Mode,  }\item[{xb\+Int16}]{i\+Share\+Mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fopen. 


\begin{DoxyParams}{Parameters}
{\em i\+Open\+Mode} & XB\+\_\+\+READ~\newline
 XB\+\_\+\+READ\+\_\+\+WRITE~\newline
 \\
\hline
{\em i\+Share\+Mode} & XB\+\_\+\+SINGLE\+\_\+\+USER~\newline
 XB\+\_\+\+MULTI\+\_\+\+USER~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}\label{classxb_1_1xbFile_af2e940c78956e5cb6824f9a1bc404896}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFputc@{xbFputc}}
\index{xbFputc@{xbFputc}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fputc. 


\begin{DoxyParams}{Parameters}
{\em c} & Character to write \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}\label{classxb_1_1xbFile_a863f74cf17df8186d88586b4d2a6441a}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFputc@{xbFputc}}
\index{xbFputc@{xbFputc}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFputc()}{xbFputc()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputc (\begin{DoxyParamCaption}\item[{xb\+Int32}]{c,  }\item[{xb\+Int32}]{i\+No\+Of\+Times }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fputc. 


\begin{DoxyParams}{Parameters}
{\em c} & Character to write \\
\hline
{\em i\+No\+Of\+Times} & Number of times to write the character \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}\label{classxb_1_1xbFile_a698f3b40216778562e639e6ca1a47573}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFputs@{xbFputs}}
\index{xbFputs@{xbFputs}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFputs()}{xbFputs()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fputs (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fputs. 


\begin{DoxyParams}{Parameters}
{\em s} & \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} to write to file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}\label{classxb_1_1xbFile_ab4f6afaa1f77539f27a4f05c26e54e2f}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFread@{xbFread}}
\index{xbFread@{xbFread}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFread()}{xbFread()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fread (\begin{DoxyParamCaption}\item[{void $\ast$}]{p,  }\item[{size\+\_\+t}]{size,  }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fread. 


\begin{DoxyParams}{Parameters}
{\em p} & Pointer to data to write \\
\hline
{\em size} & size of write \\
\hline
{\em nmemb} & Number of times to write it \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}\label{classxb_1_1xbFile_a5337ab8918df240910c0d19b4f298e3d}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFseek@{xbFseek}}
\index{xbFseek@{xbFseek}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFseek()}{xbFseek()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fseek (\begin{DoxyParamCaption}\item[{xb\+Int64}]{l\+Offset,  }\item[{xb\+Int32}]{i\+Whence }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fseek. 


\begin{DoxyParams}{Parameters}
{\em l\+Offset} & Position in file to seek to \\
\hline
{\em i\+Whence} & SEEK\+\_\+\+SET -\/ from beginning of file~\newline
 SEEK\+\_\+\+CUR -\/ from current position~\newline
 SEEK\+\_\+\+END -\/ from end of file~\newline
 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}\label{classxb_1_1xbFile_a0e1c06aedfa7fbcb92e117f891edd13b}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFtell@{xbFtell}}
\index{xbFtell@{xbFtell}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFtell()}{xbFtell()}}
{\footnotesize\ttfamily size\+\_\+t xb\+::xb\+File\+::xb\+Ftell (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary ftell. 

Returns the current file position. \begin{DoxyReturn}{Returns}
Current file position. 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}\label{classxb_1_1xbFile_a9891b792f585a696f38a5cf959e30918}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}}
\index{xbFTurnOffFileBuffering@{xbFTurnOffFileBuffering}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFTurnOffFileBuffering()}{xbFTurnOffFileBuffering()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+FTurn\+Off\+File\+Buffering (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Turn off file buffering. 

Turns off file buffering. File buffering can\textquotesingle{}t be used while in multi user mode. \mbox{\Hypertarget{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}\label{classxb_1_1xbFile_a6aadd871d1782944703fed773d44b85f}} 
\index{xb::xbDbf@{xb::xbDbf}!xbFwrite@{xbFwrite}}
\index{xbFwrite@{xbFwrite}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbFwrite()}{xbFwrite()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Fwrite (\begin{DoxyParamCaption}\item[{const void $\ast$}]{p,  }\item[{size\+\_\+t}]{size,  }\item[{size\+\_\+t}]{nmemb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for standard libary fwrite. 


\begin{DoxyParams}{Parameters}
{\em p} & Pointer to data buffer to write \\
\hline
{\em size} & Size of data to write \\
\hline
{\em nmemb} & Number of times to write data buffer \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}\label{classxb_1_1xbFile_a08463f506f425c2385acbe1a561506e9}} 
\index{xb::xbDbf@{xb::xbDbf}!xbReadUntil@{xbReadUntil}}
\index{xbReadUntil@{xbReadUntil}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbReadUntil()}{xbReadUntil()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Read\+Until (\begin{DoxyParamCaption}\item[{const char}]{c\+Delim,  }\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Read file until a particular character is encountered on input stream. 

This routine will read until c\+Delim is encountered or eof, which ever occurs first.


\begin{DoxyParams}{Parameters}
{\em c\+Delim} & Delimiter to stop writing at. \\
\hline
{\em s\+Out} & Output \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} containing data read \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}\label{classxb_1_1xbFile_ab3c668a8570433188382d31d7c60bd48}} 
\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Delete file. 

\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}\label{classxb_1_1xbFile_a58f6a6751fdf7e9549c273bb75d93eb5}} 
\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Delete file. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name\+In} & Name of file to delete \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}\label{classxb_1_1xbFile_a6d919366c2ec95e529906bf8842cbf07}} 
\index{xb::xbDbf@{xb::xbDbf}!xbRemove@{xbRemove}}
\index{xbRemove@{xbRemove}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbRemove()}{xbRemove()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+File\+Name\+In,  }\item[{xb\+Int16}]{i\+Option }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Delete file. 


\begin{DoxyParams}{Parameters}
{\em s\+File\+Name\+In} & Name of file to delete \\
\hline
{\em i\+Option} & If Set to 1, assume this is a delete request for a dbf file, and should rename the dbt file also \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}\label{classxb_1_1xbFile_afc8ce113aa72611a278233f9bb170012}} 
\index{xb::xbDbf@{xb::xbDbf}!xbRename@{xbRename}}
\index{xbRename@{xbRename}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbRename()}{xbRename()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Rename (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Old\+Name,  }\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+New\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Rename file. 


\begin{DoxyParams}{Parameters}
{\em s\+Old\+Name} & Original file name \\
\hline
{\em s\+New\+Name} & New file name \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}\label{classxb_1_1xbFile_a7996b6e084665c37c3892faea64b3505}} 
\index{xb::xbDbf@{xb::xbDbf}!xbRewind@{xbRewind}}
\index{xbRewind@{xbRewind}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbRewind()}{xbRewind()}}
{\footnotesize\ttfamily void xb\+::xb\+File\+::xb\+Rewind (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for rewind. 

Set file pointer at beginning of file. \mbox{\Hypertarget{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}\label{classxb_1_1xbFile_a518bfcbfa3699d883cf89affee383296}} 
\index{xb::xbDbf@{xb::xbDbf}!xbTruncate@{xbTruncate}}
\index{xbTruncate@{xbTruncate}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbTruncate()}{xbTruncate()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::xb\+Truncate (\begin{DoxyParamCaption}\item[{xb\+Int64}]{ll\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Xbase wrapper for ftruncate. 

Set file size to ll\+Size 
\begin{DoxyParams}{Parameters}
{\em ll\+Size} & New file size. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}\label{classxb_1_1xbDbf_a8ed0693b10b95aaa4e46037758d160ed}} 
\index{xb::xbDbf@{xb::xbDbf}!Zap@{Zap}}
\index{Zap@{Zap}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{Zap()}{Zap()}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Zap (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Zap (remove) everything from the file,. 

This routine eliminates everything from the dbf file and dbt memo file. \begin{DoxyReturn}{Returns}
\href{xbretcod_8h.html}{\texttt{ Return Codes}} 
\end{DoxyReturn}


\doxysubsection{Field Documentation}
\mbox{\Hypertarget{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}\label{classxb_1_1xbDbf_a8734e799707582f022fc341d515650f4}} 
\index{xb::xbDbf@{xb::xbDbf}!cEncryptionFlag@{cEncryptionFlag}}
\index{cEncryptionFlag@{cEncryptionFlag}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cEncryptionFlag}{cEncryptionFlag}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Encryption\+Flag\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}\label{classxb_1_1xbDbf_ad59074633641e03647e54d2b66c9102b}} 
\index{xb::xbDbf@{xb::xbDbf}!cIndexFlag@{cIndexFlag}}
\index{cIndexFlag@{cIndexFlag}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cIndexFlag}{cIndexFlag}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Index\+Flag\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}\label{classxb_1_1xbDbf_aea1dfe5cbd1f9cdbcfc8eb04b2c3d5f1}} 
\index{xb::xbDbf@{xb::xbDbf}!cLangDriver@{cLangDriver}}
\index{cLangDriver@{cLangDriver}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cLangDriver}{cLangDriver}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Lang\+Driver\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}\label{classxb_1_1xbDbf_ac3c89fc3bc6a6abf385478a8adbed970}} 
\index{xb::xbDbf@{xb::xbDbf}!cTransactionFlag@{cTransactionFlag}}
\index{cTransactionFlag@{cTransactionFlag}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cTransactionFlag}{cTransactionFlag}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Transaction\+Flag\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}\label{classxb_1_1xbDbf_a6021789d314cd41488991e708fcd0df2}} 
\index{xb::xbDbf@{xb::xbDbf}!cUpdateDD@{cUpdateDD}}
\index{cUpdateDD@{cUpdateDD}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cUpdateDD}{cUpdateDD}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+DD\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}\label{classxb_1_1xbDbf_a9340a5e8ee53eb0f3b6601eec2d71e1b}} 
\index{xb::xbDbf@{xb::xbDbf}!cUpdateMM@{cUpdateMM}}
\index{cUpdateMM@{cUpdateMM}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cUpdateMM}{cUpdateMM}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+MM\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}\label{classxb_1_1xbDbf_a4fcd6a86ddd32d4a9d76a4074573440a}} 
\index{xb::xbDbf@{xb::xbDbf}!cUpdateYY@{cUpdateYY}}
\index{cUpdateYY@{cUpdateYY}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cUpdateYY}{cUpdateYY}}
{\footnotesize\ttfamily char xb\+::xb\+Dbf\+::c\+Update\+YY\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}\label{classxb_1_1xbDbf_a3a262abf658e5fa968b57ef457a69470}} 
\index{xb::xbDbf@{xb::xbDbf}!cVersion@{cVersion}}
\index{cVersion@{cVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{cVersion}{cVersion}}
{\footnotesize\ttfamily unsigned char xb\+::xb\+Dbf\+::c\+Version\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}\label{classxb_1_1xbSsv_a6219f1b5e24ea12fe158cd5aea56988e}} 
\index{xb::xbDbf@{xb::xbDbf}!ErrorCodeText@{ErrorCodeText}}
\index{ErrorCodeText@{ErrorCodeText}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ErrorCodeText}{ErrorCodeText}}
{\footnotesize\ttfamily const char$\ast$ xb\+::xb\+Ssv\+::\+Error\+Code\+Text\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}\label{classxb_1_1xbDbf_ab506450954bc86e7bf1d7c4efe681f43}} 
\index{xb::xbDbf@{xb::xbDbf}!iAutoCommit@{iAutoCommit}}
\index{iAutoCommit@{iAutoCommit}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{iAutoCommit}{iAutoCommit}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+Auto\+Commit\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}\label{classxb_1_1xbDbf_a6d8e193da3ca414eef1e8866ec5ca81b}} 
\index{xb::xbDbf@{xb::xbDbf}!iDbfStatus@{iDbfStatus}}
\index{iDbfStatus@{iDbfStatus}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{iDbfStatus}{iDbfStatus}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+Dbf\+Status\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}\label{classxb_1_1xbSsv_a5849e813f5e8e1cd180f0366637adbf3}} 
\index{xb::xbDbf@{xb::xbDbf}!iEndianType@{iEndianType}}
\index{iEndianType@{iEndianType}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{iEndianType}{iEndianType}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Ssv\+::i\+Endian\+Type = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}\label{classxb_1_1xbDbf_a15f495446f0d75bcf2fa89e3b699d388}} 
\index{xb::xbDbf@{xb::xbDbf}!iFileVersion@{iFileVersion}}
\index{iFileVersion@{iFileVersion}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{iFileVersion}{iFileVersion}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+File\+Version\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}\label{classxb_1_1xbDbf_a5056757614c39f725cc775332494966a}} 
\index{xb::xbDbf@{xb::xbDbf}!iNoOfFields@{iNoOfFields}}
\index{iNoOfFields@{iNoOfFields}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{iNoOfFields}{iNoOfFields}}
{\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::i\+No\+Of\+Fields\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}\label{classxb_1_1xbDbf_a8a9b3bce0b741e73473d3ebbd6e6f1cd}} 
\index{xb::xbDbf@{xb::xbDbf}!RecBuf@{RecBuf}}
\index{RecBuf@{RecBuf}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{RecBuf}{RecBuf}}
{\footnotesize\ttfamily char$\ast$ xb\+::xb\+Dbf\+::\+Rec\+Buf\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}\label{classxb_1_1xbDbf_a353ebfc8a2960ef827f429ec74025606}} 
\index{xb::xbDbf@{xb::xbDbf}!RecBuf2@{RecBuf2}}
\index{RecBuf2@{RecBuf2}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{RecBuf2}{RecBuf2}}
{\footnotesize\ttfamily char$\ast$ xb\+::xb\+Dbf\+::\+Rec\+Buf2\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}\label{classxb_1_1xbDbf_a73f9c792d0a769e2e604c1855245a276}} 
\index{xb::xbDbf@{xb::xbDbf}!sAlias@{sAlias}}
\index{sAlias@{sAlias}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{sAlias}{sAlias}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Dbf\+::s\+Alias\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}\label{classxb_1_1xbDbf_ad8c8b5eb12063bb898da1b2cc02cfce7}} 
\index{xb::xbDbf@{xb::xbDbf}!SchemaPtr@{SchemaPtr}}
\index{SchemaPtr@{SchemaPtr}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{SchemaPtr}{SchemaPtr}}
{\footnotesize\ttfamily xb\+Schema\+Rec$\ast$ xb\+::xb\+Dbf\+::\+Schema\+Ptr\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}\label{classxb_1_1xbSsv_a9dec3164c3b264882df634915ecf21da}} 
\index{xb::xbDbf@{xb::xbDbf}!sNullString@{sNullString}}
\index{sNullString@{sNullString}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{sNullString}{sNullString}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} xb\+::xb\+Ssv\+::s\+Null\+String = \char`\"{}\char`\"{}\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}, {\ttfamily [inherited]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}\label{classxb_1_1xbDbf_a62f5fa9149ae0f6dc75642823de66918}} 
\index{xb::xbDbf@{xb::xbDbf}!uiHeaderLen@{uiHeaderLen}}
\index{uiHeaderLen@{uiHeaderLen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{uiHeaderLen}{uiHeaderLen}}
{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::ui\+Header\+Len\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}\label{classxb_1_1xbDbf_a1760e222567e2c849f9c799b9d896e91}} 
\index{xb::xbDbf@{xb::xbDbf}!uiRecordLen@{uiRecordLen}}
\index{uiRecordLen@{uiRecordLen}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{uiRecordLen}{uiRecordLen}}
{\footnotesize\ttfamily xb\+UInt16 xb\+::xb\+Dbf\+::ui\+Record\+Len\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}\label{classxb_1_1xbDbf_afcd99924606be0a9e1e25180bcd1abf8}} 
\index{xb::xbDbf@{xb::xbDbf}!ulCurRec@{ulCurRec}}
\index{ulCurRec@{ulCurRec}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ulCurRec}{ulCurRec}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::ul\+Cur\+Rec\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}\label{classxb_1_1xbDbf_acb594ab61dd35b17bdf28394083f8e87}} 
\index{xb::xbDbf@{xb::xbDbf}!ulNoOfRecs@{ulNoOfRecs}}
\index{ulNoOfRecs@{ulNoOfRecs}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{ulNoOfRecs}{ulNoOfRecs}}
{\footnotesize\ttfamily xb\+UInt32 xb\+::xb\+Dbf\+::ul\+No\+Of\+Recs\hspace{0.3cm}{\ttfamily [protected]}}

\mbox{\Hypertarget{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}\label{classxb_1_1xbFile_ae39a67ea391b46055d4ca299cb222004}} 
\index{xb::xbDbf@{xb::xbDbf}!xbase@{xbase}}
\index{xbase@{xbase}!xb::xbDbf@{xb::xbDbf}}
\doxysubsubsection{\texorpdfstring{xbase}{xbase}}
{\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbXBase}{xb\+XBase}}$\ast$ xb\+::xb\+File\+::xbase\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [inherited]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
/mnt/1\+Tdata/xbase/xbase64-\/4.\+0.\+3/src/include/\mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}}\item 
/mnt/1\+Tdata/xbase/xbase64-\/4.\+0.\+3/src/core/\mbox{\hyperlink{xbdbf_8cpp}{xbdbf.\+cpp}}\item 
/mnt/1\+Tdata/xbase/xbase64-\/4.\+0.\+3/src/core/\mbox{\hyperlink{xbfields_8cpp}{xbfields.\+cpp}}\end{DoxyCompactItemize}
