Corretto errore n.312

git-svn-id: svn://10.65.10.50/trunk@386 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-10-14 18:46:45 +00:00
parent 238b618b65
commit 3617cccc6a

View File

@ -8,6 +8,8 @@ class CG51_App : public TConfig_application
{
bool _change_pcon;
TString16 _val;
void swap_file(int logicnum, bool tocom);
public:
virtual bool preprocess_config (TMask& mask, TConfig& config);
virtual bool postprocess_config (TMask& mask, TConfig& config);
@ -19,45 +21,39 @@ public:
CG51_App() : TConfig_application(CONFIG_DITTA) {}
virtual ~CG51_App() {}
};
bool CG51_App::user_destroy()
void CG51_App::swap_file(int logicnum, bool tocom)
{
TDir dir;
TString file(16);
dir.get(logicnum, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = tocom ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(logicnum, _nordir, _sysdirop);
dir.get(logicnum, _lock, (tocom ? _comdir :_nordir), _sysdirop);
if (tocom)
{
file = dir.name();
file[0] = '%';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(logicnum, _comdir, _sysdirop);
}
if (dir.eox() == 0L)
{
TSystemisamfile s(logicnum);
s.build(10L);
}
}
bool CG51_App::user_destroy()
{
if (_change_pcon)
{
dir.get(LF_PCON, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_PCON, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_PCON);
s.build(10L);
}
dir.get(LF_CAUSALI, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_CAUSALI, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_CAUSALI);
s.build(10L);
}
dir.get(LF_RCAUSALI, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = _val[0] == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_RCAUSALI, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_RCAUSALI);
s.build(10L);
}
swap_file(LF_PCON, _val[0] == 'X');
swap_file(LF_CAUSALI, _val[0] == 'X');
swap_file(LF_RCAUSALI, _val[0] == 'X');
}
return TRUE;
}
@ -85,24 +81,11 @@ bool CG51_App::postprocess_config_changed(const char* par, const char* var,
const char* oldv, const char* newv)
{
TString v(var);
TDir dir;
TString file(16);
if (v == "AnCfCm")
{
if (yesno_box("Confermi il cambiamento dell'anagrafica clienti/fornitori"))
{
dir.get(LF_CLIFO, _lock, _nordir, _sysdirop);
file = dir.name();
file[0] = *newv == 'X' ? '%' : '$';
dir.set(file, dir.eod(), dir.flags(), dir.des(), dir.expr());
dir.put(LF_CLIFO, _nordir, _sysdirop);
if (dir.eox() == 0L)
{
TSystemisamfile s(LF_CLIFO);
s.build(10L);
}
}
swap_file(LF_CLIFO, *newv == 'X');
else
return FALSE;
}