From b6e2fa3942e295181a473726b93bc0a5f724d656 Mon Sep 17 00:00:00 2001 From: augusto Date: Fri, 6 Jun 1997 07:56:00 +0000 Subject: [PATCH] Metodo set_curr virtuale; aggiunto set_curr nei tsortedfile git-svn-id: svn://10.65.10.50/trunk@4535 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/isam.h | 2 +- include/relation.cpp | 10 ++++++++-- include/relation.h | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/isam.h b/include/isam.h index 9bc0dd4f2..f6502748f 100755 --- a/include/isam.h +++ b/include/isam.h @@ -354,7 +354,7 @@ protected: // @access Public Member public: // @cmember Sostituisce il record corrente del del file - void set_curr(TRectype * curr); + virtual void set_curr(TRectype * curr); // @cmember Attiva la chiave

sul file aperto void setkey(int nkey); // @cmember Ritorna la chiave attiva sul file aperto diff --git a/include/relation.cpp b/include/relation.cpp index 595514afd..0bbdf9226 100755 --- a/include/relation.cpp +++ b/include/relation.cpp @@ -2419,6 +2419,12 @@ bool TSortedfile::empty() return _curs->items()==0; } +void TSortedfile::set_curr(TRectype * curr) +{ + TLocalisamfile::set_curr(curr); + _curs->file().set_curr(curr); +} + // @mfunc Costruttore. TSortedfile::TSortedfile(int logicnum,TRelation * rel,const char * ordexpr,const char * filter, int nkey) :TLocalisamfile(logicnum),_rel(NULL) @@ -2433,8 +2439,8 @@ TSortedfile::TSortedfile(int logicnum,TRelation * rel,const char * ordexpr,const _curs = new TSorted_cursor(_rel,ordexpr,filter,nkey); _curs->setfilter(filter,TRUE); //BUG: cursors doesn't update rel. - if (&curr()!=&(_curs->file().curr())) - _curs->file().set_curr(&curr()); + if (&curr()!=&(_curs->file().curr())) + _curs->file().set_curr(&curr()); } // @mfunc Distruttore TSortedfile::~TSortedfile() diff --git a/include/relation.h b/include/relation.h index 1b4faac1e..3ff08894f 100755 --- a/include/relation.h +++ b/include/relation.h @@ -678,6 +678,8 @@ public: virtual bool tab() const { return FALSE;} + // @cmember Sostituisce il record corrente del del file (disallocando il vecchio) + virtual void set_curr(TRectype * curr); // @cmember Si posiziona sul primo record del file (vedi ) virtual int first(word lockop = _nolock); // @cmember Si posiziona sull'ultimo record del file (vedi )