From 169a54a2700a467e3e76202f9e63aff6cd748ad4 Mon Sep 17 00:00:00 2001 From: angelo Date: Wed, 15 Nov 1995 17:51:04 +0000 Subject: [PATCH] Aggiunto metodo TBaseisamfile::is_valid(). Ritorna NOERR se il file e' Ok. git-svn-id: svn://10.65.10.50/trunk@2155 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/isam.cpp | 12 ++++++++++++ include/isam.h | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/include/isam.cpp b/include/isam.cpp index 8f0de4da8..357fab22e 100755 --- a/include/isam.cpp +++ b/include/isam.cpp @@ -1056,6 +1056,18 @@ int TBaseisamfile::_close() return err; } +int TBaseisamfile::is_valid() +{ // Ritorna 0 se il file puo' essere aperto senza errori + CHECKS(filehnd() == NULL, "File already open ", (const char*)filename()); + int err = NOERR; + getisfd(_isamfile,num()); + if ((filehnd()->fhnd = DB_open(filehnd()->d->SysName,0)) >= 0) + DB_close(filehnd()->fhnd); + else + err = get_error(filehnd()->fhnd); + relisfd(_isamfile); + return err; +} /////////////////////////////////////////////////////////// // TLocalisamfile diff --git a/include/isam.h b/include/isam.h index c4b8c71f0..8c8b2c85a 100755 --- a/include/isam.h +++ b/include/isam.h @@ -208,7 +208,7 @@ protected: void recover(); int _open(unsigned int mode = _manulock); // Apre isam file con lock - int _close(); + int _close(); const char* filename() const; public: @@ -245,6 +245,7 @@ public: void indexon(); // Accende gli indici void indexoff(); // Spegne gli indici int status() const { return _lasterr; } // Ritorna _lasterr + int is_valid(); // Ritorna 0 se il file e' valido TRectype& curr() const {return *_current;} // Ritorna puntatore a record corrente bool eof() const { return status() == _iseof || status() == _isemptyfile;} // Vero se siamo a fine file bool bof() const { return status() == _isbof || status() == _isemptyfile;} // Vero se siamo a inizio file