\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_a47643728f74cf3b6e0ffc55259895bdb}{Dump\+Header}} (xb\+Int16 i\+Option) \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 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_ad0827a43c025c1184ffebab74cc9e779}{Get\+Bof}} () \begin{DoxyCompactList}\small\item\em Get a pointer to the current index object. \end{DoxyCompactList}\item virtual xb\+UInt32 \mbox{\hyperlink{classxb_1_1xbDbf_a643a80a3792a52760c8e09ba18719503}{Get\+Cur\+Rec\+No}} () const \begin{DoxyCompactList}\small\item\em Return the current record number. \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 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \mbox{\hyperlink{classxb_1_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}{Get\+Eof}} () \begin{DoxyCompactList}\small\item\em Return true if dbf file empty or positioned to the last record. \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\+UInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}{Get\+Header\+Len}} () const \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\+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_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_a0692d1776a725c2f61d4c14677e9307c}{Put\+Long\+Field}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, 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 virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_ae9a3f726ce5229ed021bfce0515050fc}{Get\+Null\+Sts}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null) const \begin{DoxyCompactList}\small\item\em Get field null status. \end{DoxyCompactList}\item virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a909788123ce0694b65dfcf036380d918}{Get\+Null\+Sts}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Field\+Name, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null) const \begin{DoxyCompactList}\small\item\em Get field null status. \end{DoxyCompactList}\item virtual xb\+Int16 \mbox{\hyperlink{classxb_1_1xbDbf_a7930fe8b930c6d646b7b0d3df576fe9e}{Get\+Null\+Sts}} (xb\+Int16 i\+Field\+No, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&b\+Is\+Null, xb\+Int16 i\+Rec\+Buf\+Sw) const \begin{DoxyCompactList}\small\item\em Get field null status. \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 xb\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}{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=0) \begin{DoxyCompactList}\small\item\em Create a unique file name. \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_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 \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\+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_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_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 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_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_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_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_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_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 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_a991c5676a6f38fa752435390989f413e}{Set\+Block\+Size}} (xb\+UInt32 ul\+Block\+Size) \begin{DoxyCompactList}\small\item\em Set the block size. \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\+Int16 \mbox{\hyperlink{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}{Set\+Home\+Folders}} () \begin{DoxyCompactList}\small\item\em Set Home Folders. \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_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_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 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_a5337ab8918df240910c0d19b4f298e3d}{xb\+Fseek}} (xb\+Int64 ll\+Offset, xb\+Int32 whence) \begin{DoxyCompactList}\small\item\em Xbase wrapper for standard libary fseek. \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 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_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_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_a518bfcbfa3699d883cf89affee383296}{xb\+Truncate}} (xb\+Int64 ll\+Size) \begin{DoxyCompactList}\small\item\em Xbase wrapper for ftruncate. \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 \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}{Get\+Temp\+Directory}} () const \begin{DoxyCompactList}\small\item\em Get the current temp directory. \end{DoxyCompactList}\item void \mbox{\hyperlink{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}{Get\+Home\+Dir}} (\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Home\+Dir\+Out) \begin{DoxyCompactList}\small\item\em Get home 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 char \mbox{\hyperlink{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}{Get\+Path\+Separator}} () const \begin{DoxyCompactList}\small\item\em Get the OS dependent path separator. \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 void \mbox{\hyperlink{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}{Set\+Temp\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Temp\+Directory) \begin{DoxyCompactList}\small\item\em Set the temp directory. \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_a4822315bded3969b59aeeb683c373051}{Get\+Log\+Directory}} () const \item \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& \mbox{\hyperlink{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}{Get\+Log\+File\+Name}} () const \item void \mbox{\hyperlink{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}{Set\+Log\+Directory}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+Directory) \item void \mbox{\hyperlink{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}{Set\+Log\+File\+Name}} (const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&s\+Log\+File\+Name) \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_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_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_ad39797624a752b9d62533d00fad9feff}\label{classxb_1_1xbFile_ad39797624a752b9d62533d00fad9feff}} \index{xb::xbDbf@{xb::xbDbf}!CreateUniqueFileName@{CreateUniqueFileName}} \index{CreateUniqueFileName@{CreateUniqueFileName}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{CreateUniqueFileName()}{CreateUniqueFileName()}} {\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 = {\ttfamily 0} }\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} 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_a47643728f74cf3b6e0ffc55259895bdb}\label{classxb_1_1xbDbf_a47643728f74cf3b6e0ffc55259895bdb}} \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})\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_ad0827a43c025c1184ffebab74cc9e779}\label{classxb_1_1xbDbf_ad0827a43c025c1184ffebab74cc9e779}} \index{xb::xbDbf@{xb::xbDbf}!GetBof@{GetBof}} \index{GetBof@{GetBof}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetBof()}{GetBof()}} {\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Get\+Bof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} Get a pointer to the current index object. \begin{DoxyReturn}{Returns} Pointer to current index. \end{DoxyReturn} Return true if dbf file empty or positioned to the first record \begin{DoxyReturn}{Returns} Returns true if dbf file is empty or positioned on the first record. \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]}} 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_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_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}\label{classxb_1_1xbDbf_a256dc1f98626fa77da24e91a38ab5b4d}} \index{xb::xbDbf@{xb::xbDbf}!GetEof@{GetEof}} \index{GetEof@{GetEof}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetEof()}{GetEof()}} {\footnotesize\ttfamily \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} xb\+::xb\+Dbf\+::\+Get\+Eof (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} Return true if dbf file empty or positioned to the last record. \begin{DoxyReturn}{Returns} Returns true if error, dbf file is empty or positioned on the last record. \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_ad56be2756b7a9f8318d9ba5cf215dafb}\label{classxb_1_1xbDbf_ad56be2756b7a9f8318d9ba5cf215dafb}} \index{xb::xbDbf@{xb::xbDbf}!GetHeaderLen@{GetHeaderLen}} \index{GetHeaderLen@{GetHeaderLen}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetHeaderLen()}{GetHeaderLen()}} {\footnotesize\ttfamily virtual xb\+UInt16 xb\+::xb\+Dbf\+::\+Get\+Header\+Len (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} \mbox{\Hypertarget{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}\label{classxb_1_1xbSsv_abc9c06c95d71fbad8294e1ae8862cea9}} \index{xb::xbDbf@{xb::xbDbf}!GetHomeDir@{GetHomeDir}} \index{GetHomeDir@{GetHomeDir}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetHomeDir()}{GetHomeDir()}} {\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Get\+Home\+Dir (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Home\+Dir\+Out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}} Get home directory. \begin{DoxyParams}{Parameters} {\em s\+Home\+Dir\+Out} & -\/ Output home directory for current user. \\ \hline \end{DoxyParams} \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_1xbSsv_a4822315bded3969b59aeeb683c373051}\label{classxb_1_1xbSsv_a4822315bded3969b59aeeb683c373051}} \index{xb::xbDbf@{xb::xbDbf}!GetLogDirectory@{GetLogDirectory}} \index{GetLogDirectory@{GetLogDirectory}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetLogDirectory()}{GetLogDirectory()}} {\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}} \mbox{\Hypertarget{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}\label{classxb_1_1xbSsv_afaef09435be73b3111f5edbd7091d861}} \index{xb::xbDbf@{xb::xbDbf}!GetLogFileName@{GetLogFileName}} \index{GetLogFileName@{GetLogFileName}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetLogFileName()}{GetLogFileName()}} {\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Log\+File\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}} \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_1xbDbf_a909788123ce0694b65dfcf036380d918}\label{classxb_1_1xbDbf_a909788123ce0694b65dfcf036380d918}} \index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}} \index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} {\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Field\+Name, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} Get field null status. \begin{DoxyParams}{Parameters} {\em i\+Field\+Name} & Field Name of field to retrieve. \\ \hline {\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\ \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_ae9a3f726ce5229ed021bfce0515050fc}\label{classxb_1_1xbDbf_ae9a3f726ce5229ed021bfce0515050fc}} \index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}} \index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} {\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} Get field null status. \begin{DoxyParams}{Parameters} {\em i\+Field\+No} & Number of field to retrieve. \\ \hline {\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\ \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_a7930fe8b930c6d646b7b0d3df576fe9e}\label{classxb_1_1xbDbf_a7930fe8b930c6d646b7b0d3df576fe9e}} \index{xb::xbDbf@{xb::xbDbf}!GetNullSts@{GetNullSts}} \index{GetNullSts@{GetNullSts}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetNullSts()}{GetNullSts()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} {\footnotesize\ttfamily xb\+Int16 xb\+::xb\+Dbf\+::\+Get\+Null\+Sts (\begin{DoxyParamCaption}\item[{xb\+Int16}]{i\+Field\+No, }\item[{\mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xb\+Bool}} \&}]{b\+Is\+Null, }\item[{xb\+Int16}]{i\+Rec\+Buf\+Sw }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}} Get field null status. \begin{DoxyParams}{Parameters} {\em i\+Field\+No} & Number of field to retrieve. \\ \hline {\em b\+Is\+Null} & Output field value. If field is all spaces on record buffer, returns true. \\ \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_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_1xbSsv_a63cee13b473ee13970e93b11837b9e35}\label{classxb_1_1xbSsv_a63cee13b473ee13970e93b11837b9e35}} \index{xb::xbDbf@{xb::xbDbf}!GetPathSeparator@{GetPathSeparator}} \index{GetPathSeparator@{GetPathSeparator}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetPathSeparator()}{GetPathSeparator()}} {\footnotesize\ttfamily char xb\+::xb\+Ssv\+::\+Get\+Path\+Separator (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}} Get the OS dependent path separator. \begin{DoxyReturn}{Returns} Returns \textquotesingle{}\textbackslash{}\textquotesingle{} for windows environment, otherwise returns \textquotesingle{}/\textquotesingle{}. \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{DoxyReturn}{Returns} Record count or \href{xbretcod_8h.html}{\texttt{ Return Codes}} \end{DoxyReturn} 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_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_1xbSsv_abfaeef85935331073d213465bb362a61}\label{classxb_1_1xbSsv_abfaeef85935331073d213465bb362a61}} \index{xb::xbDbf@{xb::xbDbf}!GetTempDirectory@{GetTempDirectory}} \index{GetTempDirectory@{GetTempDirectory}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{GetTempDirectory()}{GetTempDirectory()}} {\footnotesize\ttfamily \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \& xb\+::xb\+Ssv\+::\+Get\+Temp\+Directory (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}} Get the current temp 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_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_a0692d1776a725c2f61d4c14677e9307c}\label{classxb_1_1xbDbf_a0692d1776a725c2f61d4c14677e9307c}} \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 [protected]}, {\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 directory. \\ \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_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_1xbFile_a060acbfaa8d528f86cb59301814b414a}\label{classxb_1_1xbFile_a060acbfaa8d528f86cb59301814b414a}} \index{xb::xbDbf@{xb::xbDbf}!SetHomeFolders@{SetHomeFolders}} \index{SetHomeFolders@{SetHomeFolders}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{SetHomeFolders()}{SetHomeFolders()}} {\footnotesize\ttfamily xb\+Int16 xb\+::xb\+File\+::\+Set\+Home\+Folders (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}} Set Home Folders. Create xbase64 log, data and temp folders in the home directory for current usre. \begin{DoxyReturn}{Returns} \href{xbretcod_8h.html}{\texttt{ Return Codes}} \end{DoxyReturn} \mbox{\Hypertarget{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}\label{classxb_1_1xbSsv_a7b992ed97281bf25b5b66f5df686225e}} \index{xb::xbDbf@{xb::xbDbf}!SetLogDirectory@{SetLogDirectory}} \index{SetLogDirectory@{SetLogDirectory}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{SetLogDirectory()}{SetLogDirectory()}} {\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}} \mbox{\Hypertarget{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}\label{classxb_1_1xbSsv_a7f05738e7dfd759e89990242ef503544}} \index{xb::xbDbf@{xb::xbDbf}!SetLogFileName@{SetLogFileName}} \index{SetLogFileName@{SetLogFileName}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{SetLogFileName()}{SetLogFileName()}} {\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Log\+File\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Log\+File\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}} \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_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}\label{classxb_1_1xbSsv_a17c229a20ef9ab4034df8f9cd657adb2}} \index{xb::xbDbf@{xb::xbDbf}!SetTempDirectory@{SetTempDirectory}} \index{SetTempDirectory@{SetTempDirectory}!xb::xbDbf@{xb::xbDbf}} \doxysubsubsection{\texorpdfstring{SetTempDirectory()}{SetTempDirectory()}} {\footnotesize\ttfamily void xb\+::xb\+Ssv\+::\+Set\+Temp\+Directory (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classxb_1_1xbString}{xb\+String}} \&}]{s\+Temp\+Directory }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}} Set the temp directory. \begin{DoxyParams}{Parameters} {\em s\+Temp\+Directory} & Set the data direcroty. \\ \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 read 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.\+1.\+4/src/include/\mbox{\hyperlink{xbdbf_8h}{xbdbf.\+h}}\item /mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbdbf_8cpp}{xbdbf.\+cpp}}\item /mnt/1\+Tdata/xbase/xbase64-\/4.\+1.\+4/src/core/\mbox{\hyperlink{xbfields_8cpp}{xbfields.\+cpp}}\end{DoxyCompactItemize}