campo-sirio/ba/bainst00.cpp
alex c8d2a302e3 Patch level : 02.0.369
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Riportata la versione AGA 1.7 patch 349


git-svn-id: svn://10.65.10.50/trunk@10708 c028cbd2-c16b-5b4b-a496-9718f37d4682
2002-12-20 16:15:03 +00:00

138 lines
2.9 KiB
C++
Executable File

#include <config.h>
#include <execp.h>
#include <inst.h>
#include <tabutil.h>
#include "bainst.h"
#include "bainst00.h"
class TInstall_BA : public TInstallmodule_app
{
private:
protected:
virtual bool modal() const {return TRUE;}
virtual int module_number() const {return 0;}
virtual bool install_firm() {return TRUE;} // no firm installation
virtual bool install_com();
virtual bool load_default_data() const ;
virtual bool post_installer();
virtual bool preload_mask();
virtual bool some_to_load();
public:
virtual ~TInstall_BA () {}
};
HIDDEN int search_edit(TConfig& cfg, void*)
{
const TString16 module = cfg.get_paragraph().left(2);
TAssoc_array& var = cfg.list_variables();
bool dirty = FALSE;
FOR_EACH_ASSOC_STRING (var, obj, key, str)
{
const TFixed_string confr (key);
if (confr.compare("Edit_", 5, TRUE) == 0)
{
if (module.compare(str, 2, TRUE) != 0)
{
cfg.remove(key);
dirty = TRUE;
}
}
}
if (dirty)
{
cfg.set_paragraph("");
}
return FALSE;
}
bool TInstall_BA::post_installer()
{
// configurazione provvisoria dei programmi gestori di tabelle
if (!test_database())
{
TConfig prassis(CONFIG_STUDIO);
const char *confapp="EdApp";
const char *tabapp="TabPrg";
// magazzino
prassis.set_paragraph("mg");
prassis.set(tabapp,"mg0 -0");
prassis.set(confapp,"mg0 -2 -1");
// distinta base
prassis.set_paragraph("db");
prassis.set(tabapp,"db0 -0");
prassis.set(confapp,"");
// statistiche
prassis.set_paragraph("sv");
prassis.set(tabapp,"sv0 -0");
prassis.set(confapp,"sv0 -3");
// provvigioni
prassis.set_paragraph("pr");
prassis.set(tabapp,"pr0 -4");
// MRP
prassis.set_paragraph("mr");
prassis.set(tabapp,"mr0 -0");
}
TConfig install ("install.ini");
install.for_each_paragraph(search_edit, NULL);
return TRUE;
}
bool TInstall_BA::some_to_load()
{
return _m->get_bool(F_TAB_CEE) || TInstallmodule_app::some_to_load();
}
bool TInstall_BA::preload_mask()
{
if (!test_database())
{
_m->set(F_TAB_CEE," ");
_m->disable(F_TAB_CEE);
}
else
{
TTable sce("%SCE");
const bool empty = sce.first() != NOERR;
if (empty)
_m->set(F_TAB_CEE,"X");
}
return TInstallmodule_app::preload_mask();
}
bool TInstall_BA ::install_com()
{
bool ok=TRUE;
TStd_filename txtfile;
if (_m->get_bool(F_DEFAULTSDATA) && txtfile.check(TRUE,"lfiva.txt"))
{
TSystemisamfile tabcom(LF_TABCOM);
tabcom.load((const char *)txtfile);
}
if (_m->get_bool(F_TAB_CEE) && txtfile.check(TRUE,"batbsce.txt"))
{
TSystemisamfile tabcom(LF_TABCOM);
tabcom.load((const char *)txtfile);
}
return ok;
}
bool TInstall_BA ::load_default_data() const
{
TTable iva("%IVA");
const bool empty = iva.first() != NOERR;
return empty;
}
int bainst00(int argc, char** argv)
{
TInstall_BA app;
app.run(argc, argv);
return 0;
}