From c05d9177eb92ad057c4efbabb7c77e8b0515873d Mon Sep 17 00:00:00 2001 From: augusto Date: Mon, 24 Nov 1997 11:01:04 +0000 Subject: [PATCH] =?UTF-8?q?Metodo=20replacef=20che=20usa=20il=20numero=20l?= =?UTF-8?q?ogico=20del=20file=20(o=20alias)=20anzich=C3=A9=20l'indice=20de?= =?UTF-8?q?lla=20relazione?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@5657 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/relation.cpp | 15 +++++++++++++++ include/relation.h | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/include/relation.cpp b/include/relation.cpp index 11490b0b8..9e1da4f0a 100755 --- a/include/relation.cpp +++ b/include/relation.cpp @@ -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(); diff --git a/include/relation.h b/include/relation.h index 95106fcae..863630768 100755 --- a/include/relation.h +++ b/include/relation.h @@ -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);