Errori MI3137 MI3140

git-svn-id: svn://10.65.10.50/trunk@1618 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1995-07-20 09:00:03 +00:00
parent f4daacc38b
commit ad2abb8dbe

View File

@ -20,12 +20,25 @@ class TCopia_archivi : public TApplication
virtual bool destroy() ;
bool menu(MENU_TAG);
bool copyfile(int logicnum, long from, long to);
bool check_comfile(int logicnum);
void clearivd(long to);
void copyivd(long from, long to);
public:
TCopia_archivi() : _msk(NULL) {}
};
};
bool TCopia_archivi::check_comfile(int logicnum)
{
TDir dir;
dir.get(logicnum, _nolock, _comdir);
if (fexist(dir.filename()))
return TRUE;
else
return error_box("Non esiste il file sorgente : archivi comuni - %s", dir.filename());
}
bool TCopia_archivi::copyfile(int logicnum, long from, long to)
{
@ -39,16 +52,8 @@ bool TCopia_archivi::copyfile(int logicnum, long from, long to)
return error_box("Non posso copiare su un'archivio comune : ditta %ld - archivio %s", to, dir.filename());
}
if (from > 0) set_firm(from);
else prefix().set("com");
dir.get(logicnum);
if (!fexist(dir.filename()))
{
if (from > 0)
return error_box("Non esiste il file sorgente : ditta %ld - %s", from, dir.filename());
else
return error_box("Non esiste il file sorgente : archivi comuni - %s", dir.filename());
}
else
prefix().set("com");
TSystemisamfile file(logicnum);
TFilename t; t.tempdir(); t << "/tr" << logicnum;
@ -64,7 +69,8 @@ bool TCopia_archivi::copyfile(int logicnum, long from, long to)
dir.get(logicnum, _lock, _nordir, _sysdirop);
dir.eod() = 0L;
dir.put(logicnum, _nordir, _sysdirop);
dir.put(logicnum, _nordir, _sysdirop);
file.packfile();
file.packindex();
if (file.load(t) != NOERR)
{
@ -189,12 +195,19 @@ bool TCopia_archivi::menu(MENU_TAG)
const bool copy_ivd = _msk->get_bool(F_IVD);
if (copy_pcon || copy_causali || copy_clifo || copy_ivd)
{
if (prefix().exist(to_firm))
bool ok = TRUE;
if (copy_pcon) ok = check_comfile(LF_PCON);
if (ok && copy_causali) ok = check_comfile(LF_CAUSALI) && check_comfile(LF_RCAUSALI);
if (ok && copy_clifo) ok = check_comfile(LF_CLIFO);
if (ok && prefix().exist(to_firm))
{
set_firm(to_firm);
{
TLocalisamfile mov(LF_MOV);
ok = (mov.eod() == 0);
}
if ((mov.eod() == 0) || (!copy_pcon && !copy_causali && !copy_clifo))
if (ok || (!copy_pcon && !copy_causali && !copy_clifo))
{
TString256 mess("Attenzione \n");
int count = 0;