Metodo set_curr virtuale; aggiunto set_curr nei tsortedfile

git-svn-id: svn://10.65.10.50/trunk@4535 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-06-06 07:56:00 +00:00
parent 6182211832
commit b6e2fa3942
3 changed files with 11 additions and 3 deletions

View File

@ -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 <p nkey> sul file aperto
void setkey(int nkey);
// @cmember Ritorna la chiave attiva sul file aperto

View File

@ -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()

View File

@ -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 <t TReclock>)
virtual int first(word lockop = _nolock);
// @cmember Si posiziona sull'ultimo record del file (vedi <t TReclock>)