Patch level : 12.0 nopatch

Files correlati     :
Commento        :

Implementazione invio regolarizzazioni al 07/11/2021
This commit is contained in:
Alessandro Bonazzi 2021-11-09 07:53:07 +01:00
parent 74ab2387d9
commit 11d236f90d
2 changed files with 54 additions and 10 deletions

View File

@ -712,6 +712,20 @@ TBaseisamfile::TBaseisamfile(
} }
TBaseisamfile::TBaseisamfile(
const char* name, // @parm Nome del file esterno da aprire
const TTrec & desc) // @parm Indica la descrizione del file
{
const int err = DB_build(name, &desc.rec());
if (err != NOERR)
fatal_box("Non posso creare il file %s : errore n.ro %d", name, err);
_lasterr = NOERR;
TFilename filename(name);
CHECK(filename.full(), "Must define the file to open!");
_logicnum = prefix().get_handle(filename);
_current = new TRectype(this);
}
TBaseisamfile::~TBaseisamfile() TBaseisamfile::~TBaseisamfile()
{ {
SAFE_DELETE(_current); SAFE_DELETE(_current);
@ -1372,6 +1386,13 @@ TLocalisamfile::TLocalisamfile(
{ {
} }
TLocalisamfile::TLocalisamfile(
const char* name, // @parm Nome del file esterno da aprire
const TTrec & desc) // @parm Indica la descrizione del file
: TBaseisamfile(name, desc)
{
}
TLocalisamfile::TLocalisamfile(int logicnum, bool tmpfile) TLocalisamfile::TLocalisamfile(int logicnum, bool tmpfile)
: TBaseisamfile(logicnum) : TBaseisamfile(logicnum)
{ {
@ -1475,6 +1496,19 @@ TIsamtempfile::TIsamtempfile(int logicnum, const char* radix, bool create, bool
n.insert("%", 0); n.insert("%", 0);
open(n, create, eod, eox); open(n, create, eod, eox);
TCodeb_handle cb_handle = prefix().get_handle(_isam_handle, _curr_key);
const int dbfreclen = DB_reclen(cb_handle);
const int trcreclen = prefix().get_reclen(logicnum);
if (dbfreclen != trcreclen)
{
TString msg;
msg.format("Lunghezza record incoerente sul file %d (%s): file=%d trc=%d",
num(), (const char*)description(), dbfreclen, trcreclen);
fatal_box(msg);
}
} }
TIsamtempfile::~TIsamtempfile() TIsamtempfile::~TIsamtempfile()
@ -1615,13 +1649,19 @@ int TIsamtempfile::close()
// TExternisamfile // TExternisamfile
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
TExternisamfile::TExternisamfile(const char* name, bool exclusive, bool index) TExternisamfile::TExternisamfile(const char* name, bool exclusive, bool index)
: TLocalisamfile(name) : TLocalisamfile(name)
{ {
init(name, exclusive, index); init(name, exclusive, index);
} }
TExternisamfile::TExternisamfile(const char* name, const char* descname, bool exclusive, bool index) TExternisamfile::TExternisamfile(const char* name, const char* descname, bool exclusive, bool index)
: TLocalisamfile(name, descname) : TLocalisamfile(name, descname)
{
init(name, exclusive, index);
}
TExternisamfile::TExternisamfile(const char* name, const TTrec & desc, bool exclusive, bool index)
: TLocalisamfile(name, desc)
{ {
init(name, exclusive, index); init(name, exclusive, index);
} }
@ -4153,7 +4193,7 @@ bool TRectype::edit(int logicnum, const char* alternate_key_fields, const char*
xvt_fsys_remove_file(ininame); xvt_fsys_remove_file(ininame);
if (ok) if (ok && _logicnum < 1000)
rec_cache(logicnum).notify_change(); rec_cache(logicnum).notify_change();
} }
return ok; return ok;

View File

@ -1,4 +1,4 @@
+#ifndef __ISAM_H #ifndef __ISAM_H
#define __ISAM_H #define __ISAM_H
#ifndef __CURRENCY_H #ifndef __CURRENCY_H
@ -430,6 +430,8 @@ protected:
// @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire. // @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire.
TBaseisamfile(const char* name, const char* descname = NULL); TBaseisamfile(const char* name, const char* descname = NULL);
// @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire.
TBaseisamfile(const char* name, const TTrec & desc);
int handle(int key = 0) const; int handle(int key = 0) const;
@ -756,6 +758,8 @@ protected:
TLocalisamfile(int logicnum, bool tmp); TLocalisamfile(int logicnum, bool tmp);
// @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire (vedi <c TBaseisamfile>). // @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire (vedi <c TBaseisamfile>).
TLocalisamfile(const char* name, const char* descname = NULL); TLocalisamfile(const char* name, const char* descname = NULL);
// @cmember Costruttore per derivare TExternisamfile. <p Name> indica il file esterno da aprire (vedi <c TBaseisamfile>)
TLocalisamfile(const char* name, const TTrec & desc);
// @access Public Member // @access Public Member
public: public:
@ -857,8 +861,8 @@ public:
// @cmember Costruttore. <p descname> é il nome del file che contiene la descrizione del file (estensione trr). // @cmember Costruttore. <p descname> é il nome del file che contiene la descrizione del file (estensione trr).
// <p exclusive> indica se aprire il file in modo esclusivo. // <p exclusive> indica se aprire il file in modo esclusivo.
// <p index> indica se aprire il file con indici o meno // <p index> indica se aprire il file con indici o meno
TExternisamfile(const char* name, const char * descname, bool exclusive = false, TExternisamfile(const char* name, const char * descname, bool exclusive = false, bool index = true);
bool index = true); TExternisamfile(const char* name, const TTrec &desc, bool exclusive = false, bool index = true);
// @cmember Distruttore // @cmember Distruttore
virtual ~TExternisamfile(); virtual ~TExternisamfile();
}; };