#include #include #include #include #include #include class TInstall_DL : public TInstallmodule_app { private: bool set_firm_params(const long codfirm); protected: virtual bool modal() const {return FALSE;} virtual int module_number() const {return DLAUT;} //negozi dischi virtual bool install_firm() {return TRUE;} //no firm installation virtual bool post_installer(); public: virtual ~TInstall_DL () {} }; bool TInstall_DL::set_firm_params(const long codfirm) { //per la ditta passata trova il prassid.ini TFilename ininame = ::firm2dir(codfirm); if (!ininame.exist()) return FALSE; ininame.add("ditta.ini"); // negozi di dischi:file prassid.ini nei datiditta TConfig prassid(ininame, "ve"); //valori delle CHK_USER (campi user abilitati: dal 2 al 9 compresi) for (int i=2;i<=9;i++) prassid.set("CHK_USER", "X", NULL, TRUE, i); //valori delle LEN_USER e TYPE_USER (S=string,D=date) for (int j=2;j<=4;j++) { prassid.set("LEN_USER", "20", NULL, TRUE, j); prassid.set("TYPE_USER", "S", NULL, TRUE, j); } for (int k=5;k<=7;k++) prassid.set("TYPE_USER", "D", NULL, TRUE, k); prassid.set("LEN_USER", "6", NULL, TRUE, 8); prassid.set("TYPE_USER", "S", NULL, TRUE, 8); prassid.set("TYPE_USER", "D", NULL, TRUE, 9); //valori delle DEC_USER (tutti vuoti!) for (int l=2;l<=9;l++) prassid.set("DEC_USER", "", NULL, TRUE, l); //valori delle PROMPT_USER prassid.set("PROMPT_USER", "Artista", NULL, TRUE, 2); prassid.set("PROMPT_USER", "Compositore", NULL, TRUE, 3); prassid.set("PROMPT_USER", "Etichetta", NULL, TRUE, 4); prassid.set("PROMPT_USER", "Data emissione", NULL, TRUE, 5); prassid.set("PROMPT_USER", "Data fuori catalogo", NULL, TRUE, 6); prassid.set("PROMPT_USER", "Data aggiorn. D.L.", NULL, TRUE, 7); prassid.set("PROMPT_USER", "Ora aggiorn. D.L.", NULL, TRUE, 8); prassid.set("PROMPT_USER", "Data variazione", NULL, TRUE, 9); //abilitazione gestione unita' di misura su listini e offerte prassid.set("GESUM", "X", NULL, TRUE, 1); prassid.set("GESUM", "X", NULL, TRUE, 3); // adesso va abilitata la gestione del magazzino, senno' col cavolo che si vedono i campi USER! prassid.set_paragraph("mg"); prassid.set("GESMAG", "X"); return TRUE; } bool TInstall_DL::post_installer() { TRelation ditte(LF_NDITTE); TCursor cur(&ditte); const long items = cur.items(); cur.freeze(); TProgind pi(items, "Configurazione in corso...", FALSE, TRUE); for (cur = 0; cur.pos() < items; ++cur) { pi.addstatus(1); const long codditta = ditte.curr().get_long("CODDITTA"); set_firm_params(codditta); } return TRUE; } int main(int argc, char** argv) { TInstall_DL app; app.run(argc, argv); return 0; }