Patch level :2.0 518
Files correlati :libs Ricompilazione Demo : [ ] Commento :AO20041 (carico/scarico files: aggiornamento EOD/EOX) git-svn-id: svn://10.65.10.50/trunk@11309 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5e1eb303b3
commit
ed129ca42e
@ -251,6 +251,11 @@ void TDir::set_eox (const RecNoType eox)
|
||||
_dir->EOX = eox;
|
||||
}
|
||||
|
||||
void TDir::set_eod (const RecNoType eod)
|
||||
{
|
||||
_dir->EOD = eod;
|
||||
}
|
||||
|
||||
void TDir::set (const char *name, const RecNoType eod, const RecNoType flag, const char *des, const char *calc)
|
||||
{
|
||||
strncpy (_dir->SysName, name, sizeof (_dir->SysName));
|
||||
|
@ -109,6 +109,8 @@ public:
|
||||
void set_name (const char * name);
|
||||
// @cmember Setta l'EOX del file
|
||||
void set_eox(const RecNoType eox);
|
||||
// @cmember Setta l'EOD del file
|
||||
void set_eod(const RecNoType eod);
|
||||
// @cmember Setta la lunghezza del file
|
||||
void set_len(const UINT16 len);
|
||||
// @cmember Setta il file con i parametri passati
|
||||
|
@ -2293,6 +2293,24 @@ int TSystemisamfile::packindex(
|
||||
return err;
|
||||
}
|
||||
|
||||
void TSystemisamfile::update_file()
|
||||
{
|
||||
TFilename fname;
|
||||
int logicnum = _logicnum;
|
||||
int isam_handle = prefix().open_isamfile(logicnum, fname, FALSE, 1);
|
||||
if (isam_handle > 0)
|
||||
{
|
||||
TCodeb_handle cb_handle = prefix().get_handle(isam_handle, 1);
|
||||
const TRecnotype n = DB_reccount(cb_handle); //numero di elementi del file
|
||||
|
||||
TDir dir;
|
||||
dir.get(_logicnum, _lock, _nordir, _sysdirop);
|
||||
dir.set_eox(n);
|
||||
dir.set_eod(n);
|
||||
dir.put(_logicnum, _nordir, _sysdirop);
|
||||
}
|
||||
}
|
||||
|
||||
int TSystemisamfile::pack(bool vis, bool ask)
|
||||
{
|
||||
int err = packfile(vis);
|
||||
@ -2508,6 +2526,11 @@ int TSystemisamfile::load(
|
||||
close();
|
||||
|
||||
setstatus(err);
|
||||
|
||||
//aggiorna lo sheet con i nuovi valori di EOX EOD caricati
|
||||
if (err == NOERR)
|
||||
update_file();
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -584,6 +584,8 @@ class TSystemisamfile : public TIsamfile
|
||||
// @cmember:(INTERNAL) Esegue la conversione sui record del file (utilizzando le espressione definite
|
||||
// in fconv.ini)
|
||||
void makelc(TRectype& rec);
|
||||
// @cmember aggiorna l'eod e l'eox del file
|
||||
void update_file();
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
|
Loading…
x
Reference in New Issue
Block a user