Metodo replacef che usa il numero logico del file (o alias) anziché l'indice della relazione

git-svn-id: svn://10.65.10.50/trunk@5657 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-11-24 11:01:04 +00:00
parent a5f1662f8a
commit c05d9177eb
2 changed files with 18 additions and 1 deletions

View File

@ -541,6 +541,21 @@ void TRelation::replace(
}
}
// @mfunc Sostituisce nella relazione un file
void TRelation::replacef(
TLocalisamfile* f, // @parm Descrittore del file sostituto
int lognum, // @parm Numero logico o alias
const char* relexprs, // @parm Nuova Espressione della relazione
int key) // @parm Nuova Chiave del file
{
int index=0;
if (lognum<0) index=alias2ind(lognum);
if (lognum>0) index=log2ind(lognum);
replace(f,index,relexprs,key);
}
TRectype& TRelationdef::load_rec(TRectype& r, const TBaseisamfile& from) const
{
r.zero();

View File

@ -119,8 +119,10 @@ public:
bool add(int logicnum, const char* relexprs, int key = 1, int linkto = 0, int alias = 0, bool allow_lock = FALSE);
// @cmember Aggiunge una nuovo file alla relazione partendo dal nome della tabella
bool add(const char* tabname, const char* relexprs, int key = 1, int linkto = 0, int alias = 0, bool allow_lock = FALSE);
// @cmember Sostituisce nella relazione un file
// @cmember Sostituisce nella relazione il file di indice index
void replace(TLocalisamfile* f, int index = 0,const char * relexprs="",int key=1);
// @cmember Sostituisce nella relazione il file di ID lognum
void replacef(TLocalisamfile* f, int lognum = 0,const char * relexprs="",int key=1);
// @cmember Aggiunge il record corrente
virtual int write (bool force = TRUE);