applicat.h Aggiunto metodo statico get_version_info
applicat.cpp Implementato metodo statico get_version_info Aggiunta gestione dei nomi del produttore del software git-svn-id: svn://10.65.10.50/trunk@6035 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3c829523bb
commit
933d3924d4
@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#define BITTEST(w,p) (((w) & (0x0001 << (p))) != 0)
|
#define BITTEST(w,p) (((w) & (0x0001 << (p))) != 0)
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Metodi di accesso globali all'applicazione corrente
|
// Metodi di accesso globali all'applicazione corrente
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -60,11 +59,34 @@ bool xvt_running()
|
|||||||
HIDDEN char* prassi_spa()
|
HIDDEN char* prassi_spa()
|
||||||
{
|
{
|
||||||
TString firm(80);
|
TString firm(80);
|
||||||
ignore_xvt_errors(TRUE);
|
char* p = NULL;
|
||||||
char* p = xvt_res_get_str(STR_FIRMNAME, firm.get_buffer(), firm.size());
|
|
||||||
ignore_xvt_errors(FALSE);
|
TConfig ini("install.ini", "Main");
|
||||||
|
firm = ini.get("Producer");
|
||||||
|
|
||||||
|
if (firm.not_empty())
|
||||||
|
{
|
||||||
|
p = (char*)decode(firm);
|
||||||
|
for (const char* c = p; *c; c++)
|
||||||
|
{
|
||||||
|
if (*c > '\0' && *c < ' ')
|
||||||
|
{
|
||||||
|
p = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p == NULL)
|
||||||
|
{
|
||||||
|
ignore_xvt_errors(TRUE);
|
||||||
|
p = xvt_res_get_str(STR_FIRMNAME, firm.get_buffer(), firm.size());
|
||||||
|
ignore_xvt_errors(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
p = "PR.A.S.S.I. S.p.A.";
|
p = "PR.A.S.S.I. S.p.A.";
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +387,7 @@ void TApplication::stop_run()
|
|||||||
c.set(hname, encode(remaining_time.string()));
|
c.set(hname, encode(remaining_time.string()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
message_box("Questo e' un programma dimostrativo.\n Oggi ti rimangono %s minuti di utilizzo.", remaining_time.string(3, 0));
|
message_box("Questo e' un programma dimostrativo.\n Oggi rimangono %s minuti di utilizzo.", remaining_time.string(3, 0));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
terminate();
|
terminate();
|
||||||
@ -560,15 +582,12 @@ void TApplication::run(
|
|||||||
__argc = argc;
|
__argc = argc;
|
||||||
__argv = (const char**)argv;
|
__argv = (const char**)argv;
|
||||||
|
|
||||||
/* int addbar = 0; */
|
|
||||||
if (argc > 1 && argv[1][0] == '-')
|
if (argc > 1 && argv[1][0] == '-')
|
||||||
{
|
{
|
||||||
_name = cmd2name(argv[0], argv[1]);
|
_name = cmd2name(argv[0], argv[1]);
|
||||||
// addbar = atoi(argv[1]+1);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// addbar = 0;
|
|
||||||
_name = cmd2name(argv[0]);
|
_name = cmd2name(argv[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -580,9 +599,14 @@ void TApplication::run(
|
|||||||
const int sn = get_serial_number(firm_change_enabled() ? _name : "ba0100");
|
const int sn = get_serial_number(firm_change_enabled() ? _name : "ba0100");
|
||||||
if (sn < 0)
|
if (sn < 0)
|
||||||
{
|
{
|
||||||
error_box("Perhaps you forgot to connect the dongle");
|
error_box("Probabilmente non e' stata inserita la chiave di protezione");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!test_assistance_year())
|
||||||
|
{
|
||||||
|
error_box("Probabilmente e' scaduto il contratto di assistenza");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
set_perms();
|
set_perms();
|
||||||
|
|
||||||
@ -603,14 +627,38 @@ void TApplication::run(
|
|||||||
xvt_app_create(argc, argv, 0L, task_eh, &cfg);
|
xvt_app_create(argc, argv, 0L, task_eh, &cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TApplication::get_version_info(int& year, int& release, int& tag, int& patch)
|
||||||
|
{
|
||||||
|
const char* const VERSIONANDPATCH = "Don't cry for me Argentina.1998.01.00.000.1999";
|
||||||
|
TToken_string vep(VERSIONANDPATCH, '.');
|
||||||
|
year = vep.get_int(1);
|
||||||
|
release = vep.get_int();
|
||||||
|
tag = vep.get_int();
|
||||||
|
patch = vep.get_int();
|
||||||
|
int checksum = vep.get_int();
|
||||||
|
|
||||||
|
bool valid = year >= 1997 && release > 0 && tag >= 0 && patch >= 0 &&
|
||||||
|
checksum == (year + release + tag + patch);
|
||||||
|
return valid;
|
||||||
|
}
|
||||||
|
|
||||||
// About box: risposta alla opzione Informazioni del menu File
|
// About box: risposta alla opzione Informazioni del menu File
|
||||||
void TApplication::about() const
|
void TApplication::about() const
|
||||||
{
|
{
|
||||||
#include <prassi.ver>
|
|
||||||
const TFilename n(__argv[0]);
|
const TFilename n(__argv[0]);
|
||||||
message_box("Versione %s\nProgramma %s\nLibreria del %s\nN.ro di serie %d-%s",
|
|
||||||
VERSION, (const char*)n.name(), __DATE__, SerNo, INTERNAL_VERSION);
|
int year, release, tag, patch;
|
||||||
|
if (get_version_info(year, release, tag, patch))
|
||||||
|
{
|
||||||
|
message_box("Versione %d.%02d\nProgramma %s\nN.ro di serie %d-%02d.%03d",
|
||||||
|
year, release, (const char*)n.name(), SerNo, tag, patch);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#include <prassi.ver>
|
||||||
|
message_box("Versione %s\nProgramma %s\nLibreria del %s\nN.ro di serie %d-%s",
|
||||||
|
VERSION, (const char*)n.name(), __DATE__, SerNo, INTERNAL_VERSION);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Risposta alla selezione Stampa del menu File
|
// Risposta alla selezione Stampa del menu File
|
||||||
@ -792,7 +840,7 @@ bool TApplication::config()
|
|||||||
const char* fname = fref->name();
|
const char* fname = fref->name();
|
||||||
if (fname != NULL)
|
if (fname != NULL)
|
||||||
{
|
{
|
||||||
TString& oldvl = cnf.get(fname);
|
const TString& oldvl = cnf.get(fname);
|
||||||
if (!oldvl.empty())
|
if (!oldvl.empty())
|
||||||
f.set(oldvl);
|
f.set(oldvl);
|
||||||
}
|
}
|
||||||
|
@ -123,7 +123,7 @@ public:
|
|||||||
// @cmember Abilita la verifica del modulo cui appartiene il programma
|
// @cmember Abilita la verifica del modulo cui appartiene il programma
|
||||||
virtual bool check_autorization() const
|
virtual bool check_autorization() const
|
||||||
{return TRUE;}
|
{return TRUE;}
|
||||||
|
|
||||||
// @cmember Forza la chiusura dell'applicazione
|
// @cmember Forza la chiusura dell'applicazione
|
||||||
void stop_run();
|
void stop_run();
|
||||||
|
|
||||||
@ -162,6 +162,9 @@ public:
|
|||||||
// Legge il parametro /uUTENTE e lo toglie dalla lista
|
// Legge il parametro /uUTENTE e lo toglie dalla lista
|
||||||
static void check_parameters(int& argc, char *argv[]);
|
static void check_parameters(int& argc, char *argv[]);
|
||||||
|
|
||||||
|
// @cmember Ritorna i numeri della versione del programma
|
||||||
|
static bool get_version_info(int& year, int& release, int& tag, int& patch);
|
||||||
|
|
||||||
// @cmember Controlla se il modulo <p module> ha l'autorizzazione all'esecuzione
|
// @cmember Controlla se il modulo <p module> ha l'autorizzazione all'esecuzione
|
||||||
bool has_module(int module, int checktype = CHK_ALL) const;
|
bool has_module(int module, int checktype = CHK_ALL) const;
|
||||||
// @cmember Setta la ditta corrente (Ritorna se ce l'ha fatta)
|
// @cmember Setta la ditta corrente (Ritorna se ce l'ha fatta)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user