diff options
Diffstat (limited to 'bin/zap.cpp')
-rwxr-xr-x | bin/zap.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/bin/zap.cpp b/bin/zap.cpp new file mode 100755 index 0000000..7261a1a --- /dev/null +++ b/bin/zap.cpp @@ -0,0 +1,76 @@ +/* + Xbase64 project source code + + This sample program zaps an Xbase DBF file + + 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(int ac,char** av) +{ + if (ac <= 1) { + std::cout << + "\nUsage: zap filename...\n" + "\nThis program does not automatically reindex any indices." + "\nUse the reindex program to reindex any indexes associated" + "\nwith the database, or build your own program which executes " + "\nthe PackDatabase() method after opening all the index files " + "\nassociated with the database.\n\n" + ; + return 1; + } + + for (int i=1; i<ac; ++i) { + char* filename = av[i]; + + xbXBase x; + xbDbf MyFile( &x ); + if( MyFile.OpenDatabase( filename )) { + std::cout << "Could not open file " << filename << std::endl; + return 0; + } + + xbShort rc = MyFile.Zap( XB_LOCK ); + if( rc != XB_NO_ERROR ) { + std::cout << "\nError zapping database ==> " << filename; + std::cout << " Return Code = " << rc << std::endl; + } + MyFile.CloseDatabase(); /* close database */ + + std::cout << "\nZap Database complete..." << std::endl; + } + + return 0; +} |