summaryrefslogtreecommitdiff
path: root/examples/sample3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/sample3.cpp')
-rwxr-xr-xexamples/sample3.cpp137
1 files changed, 0 insertions, 137 deletions
diff --git a/examples/sample3.cpp b/examples/sample3.cpp
deleted file mode 100755
index 137ee54..0000000
--- a/examples/sample3.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/* sample3.cpp
-
- Xbase64 project source code
-
- This sample program reads the database created and updated by the sample1
- and sample2 program
-
- This program demonstrates the use of the following functions/methods
- OpenDatabase, GetFieldNo, GetRecord, GetLastRecord, GetFirstRecord,
- GetNextRecord, GetPrevRecord, NoOfRecords and CloseDatabase, FieldCount
-
- Copyright (C) 1997,2003 Gary A. Kunkel
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- Contact:
-
- Email:
-
- xbase64-devel@lists.sourceforge.net
- xbase64-users@lists.sourceforge.net
-
-
- Regular Mail:
-
- XBase Support
- 149C South Main St
- Keller Texas, 76248
- USA
-
-*/
-
-#include <xbase64/xbase64.h>
-
-int main()
-{
- char buf[40];
- xbShort rc,i;
- xbShort lname, fname, birthdate, amount, sw, f1, memo;
- char *p;
- xbFloat f;
-
- xbXBase x;
- xbDbf MyFile( &x );
- MyFile.OpenDatabase( "MYFILE.DBF" );
- MyFile.AutoLockOff();
-
- lname = MyFile.GetFieldNo( "LASTNAME" );
- fname = MyFile.GetFieldNo( "FIRSTNAME" );
- birthdate = MyFile.GetFieldNo( "BIRTHDATE" );
- amount = MyFile.GetFieldNo( "AMOUNT" );
- sw = MyFile.GetFieldNo( "SWITCH" );
- f1 = MyFile.GetFieldNo( "FLOAT1" );
- memo = MyFile.GetFieldNo( "MEMO1" );
-
- std::cout << "There are " << MyFile.FieldCount()
- << " fields in the file" << std::endl;
- std::cout << "There are " << MyFile.NoOfRecords()
- << " records in the file." << std::endl;
- std::cout << "LASTNAME is type: " << MyFile.GetFieldType( lname )
- << " length: " << MyFile.GetFieldLen( lname )
- << std::endl;
- std::cout << "FIRSTNAME is type: " << MyFile.GetFieldType( fname )
- << " length: " << MyFile.GetFieldLen( fname )
- << std::endl;
- std::cout << "BIRTHDATE is type: " << MyFile.GetFieldType( birthdate )
- << " length: " << MyFile.GetFieldLen( birthdate )
- << std::endl;
- std::cout << "AMOUNT is type: " << MyFile.GetFieldType( amount )
- << " length: " << MyFile.GetFieldLen( amount )
- << std::endl;
- std::cout << "SWITCH is type: " << MyFile.GetFieldType( sw )
- << " length: " << MyFile.GetFieldLen( sw )
- << std::endl;
- std::cout << "MEMO1 is type: " << MyFile.GetFieldType( memo )
- << " length: " << MyFile.GetFieldLen( memo )
- << std::endl << std::endl;
-
- std::cout << "Sample GetRecord" << std::endl;
- MyFile.GetRecord( 1L );
- MyFile.GetField( lname, buf );
- std::cout << "Name 1 = " << buf << std::endl;
- std::cout << "Name 1 = " << MyFile.GetStringField( lname ) << std::endl;
-
- f = MyFile.GetFloatField( f1 );
- std::cout << "FLOAT1 = " << f << std::endl;
- f = MyFile.GetFloatField( "FLOAT2" );
- std::cout << "FLOAT2 = " << f << std::endl;
-
- std::cout << "Sample GetRecordBuf" << std::endl;
- p = MyFile.GetRecordBuf(); /* pointer to record buffer */
- for( i = 0; i < 49; i++ ) std::cout << *p++; /* display the buffer */
-
- std::cout << std::endl << "Loop through forwards..." << std::endl;
- rc = MyFile.GetFirstRecord();
- while( rc == XB_NO_ERROR ) {
- MyFile.GetField( lname, buf );
- std::cout << MyFile.GetCurRecNo();
- std::cout << " Name = " << buf << std::endl;
- rc = MyFile.GetNextRecord();
-#ifdef XB_MEMO_FIELDS
- if( MyFile.MemoFieldExists( memo ))
- std::cout << "Memo field MEMO1 len = " << MyFile.GetMemoFieldLen(memo)
- << std::endl;
-#endif
- }
-
- std::cout << "Sample PutRecord" << std::endl;
- MyFile.PutField( lname, "Stantonbob" );
- MyFile.PutField( lname, "Sally" );
- MyFile.PutRecord( MyFile.GetCurRecNo() );
-
- std::cout << "Loop through backwards.." << std::endl;
- rc = MyFile.GetLastRecord();
- while( rc == XB_NO_ERROR ){
- std::cout << "Last Name = " << MyFile.GetStringField( lname ) << std::endl;
- std::cout << "Logical Field = " << MyFile.GetLogicalField( "SWITCH" )
- << std::endl;
- rc = MyFile.GetPrevRecord();
- }
-
- std::cout << std::endl;
- MyFile.CloseDatabase(); /* close database */
- return 0;
-}