From 3617cccc6a7a7fc7ed0b472f56a117f149cab37f Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 14 Oct 1994 18:46:45 +0000 Subject: [PATCH] Corretto errore n.312 git-svn-id: svn://10.65.10.50/trunk@386 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- cg/cg5100.cpp | 77 ++++++++++++++++++++------------------------------- 1 file changed, 30 insertions(+), 47 deletions(-) diff --git a/cg/cg5100.cpp b/cg/cg5100.cpp index 33a1f6471..8a91d7366 100755 --- a/cg/cg5100.cpp +++ b/cg/cg5100.cpp @@ -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; }