Modifiche per recuperare un poco di stack e corrette alcune

balzanerie di GPF.


git-svn-id: svn://10.65.10.50/trunk@3080 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-06-24 16:51:49 +00:00
parent e98d478de2
commit 5e856b6d1e
14 changed files with 372 additions and 240 deletions

View File

@ -392,8 +392,8 @@ int cg6100 (int argc, char* argv[])
if (argc > 5) if (argc > 5)
p4 = *argv[4]; p4 = *argv[4];
TRic_auto main_app(argv[2],*argv[3],p4); TRic_auto* main_app = new TRic_auto(argv[2],*argv[3],p4);
main_app.run(argc, argv,"Ricezione automatica"); main_app->run(argc, argv,"Ricezione automatica");
delete main_app;
return TRUE; return TRUE;
} }

View File

@ -94,9 +94,10 @@ bool Tabtra_application::user_create()
cg6300(int argc, char* argv[]) cg6300(int argc, char* argv[])
{ {
Tabtra_application a; Tabtra_application* a= new Tabtra_application;
a.run(argc,argv, "Tabelle"); a->run(argc,argv, "Tabelle");
delete a;
return 0; return 0;
} }

View File

@ -66,7 +66,7 @@ public:
void ripristina_trasfer(); void ripristina_trasfer();
void trasfer2tempfile(); void trasfer2tempfile();
long leggi_tabella_tras(); long leggi_tabella_tras();
void componi_path(TMask&); void componi_path(TMask*);
bool video_ripartenza(); bool video_ripartenza();
void ditta_ricevente(); void ditta_ricevente();
bool ripartenza(); bool ripartenza();
@ -143,13 +143,13 @@ bool TRic_archivi::destroy()
return TApplication::destroy(); return TApplication::destroy();
} }
void TRic_archivi::componi_path(TMask& msk) void TRic_archivi::componi_path(TMask* msk)
{ {
TString path,drive; TString path,drive;
int pos; int pos;
path = msk.get(F_PATHNAME); path = msk->get(F_PATHNAME);
drive = msk.get(F_DRIVE); drive = msk->get(F_DRIVE);
pos = path.find(':'); pos = path.find(':');
if (drive == "A:" || drive == "B:" || drive == "D:" || drive == "E:") if (drive == "A:" || drive == "B:" || drive == "D:" || drive == "E:")
@ -362,10 +362,10 @@ bool TRic_archivi::main_loop()
{ {
if (_scelta == 'S') if (_scelta == 'S')
{ {
TMask msk ("cg6400b"); TMask* msk = new TMask("cg6400b");
KEY tasto; KEY tasto;
tasto = msk.run(); tasto = msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
@ -375,43 +375,61 @@ bool TRic_archivi::main_loop()
{ {
if (_disketto) if (_disketto)
{ {
char drive = msk.get(F_DRIVE)[0]; char drive = msk->get(F_DRIVE)[0];
if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive)) if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive))
{ {
if (!leggi_marker()) if (!leggi_marker())
{
delete msk;
return FALSE; return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{
delete msk;
return FALSE; return FALSE;
}
_numdisk++; _numdisk++;
} }
} }
else else
{
delete msk;
return FALSE; return FALSE;
} }
}
else else
{ {
if (!leggi_marker()) if (!leggi_marker())
{
delete msk;
return FALSE; return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{
delete msk;
return FALSE; return FALSE;
}
_numdisk++; _numdisk++;
} }
else else
{
delete msk;
return FALSE; return FALSE;
} }
} }
}
while (_numdisk <= _numtotdisk); while (_numdisk <= _numtotdisk);
trasfer2tempfile(); trasfer2tempfile();
@ -427,14 +445,15 @@ bool TRic_archivi::main_loop()
fremove(tabcdx); fremove(tabcdx);
fremove(tabdbf); fremove(tabdbf);
} }
delete msk;
} }
else else
if (_scelta == 'P') if (_scelta == 'P')
{ {
TMask msk ("cg6400b"); TMask* msk = new TMask("cg6400b");
KEY tasto; KEY tasto;
tasto = msk.run(); tasto = msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
@ -444,43 +463,61 @@ bool TRic_archivi::main_loop()
{ {
if (_disketto) if (_disketto)
{ {
char drive = msk.get(F_DRIVE)[0]; char drive = msk->get(F_DRIVE)[0];
if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive)) if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive))
{ {
if (!leggi_marker_rep()) if (!leggi_marker_rep())
{
delete msk;
return FALSE; return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{
delete msk;
return FALSE; return FALSE;
}
_numdisk++; _numdisk++;
} }
} }
else else
{
delete msk;
return FALSE; return FALSE;
} }
}
else else
{ {
if (!leggi_marker_rep()) if (!leggi_marker_rep())
{
delete msk;
return FALSE; return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{
delete msk;
return FALSE; return FALSE;
}
_numdisk++; _numdisk++;
} }
else else
{
delete msk;
return FALSE; return FALSE;
} }
} }
}
while (_numdisk <= _numtotdisk); while (_numdisk <= _numtotdisk);
trasfer2tempfile(); trasfer2tempfile();
@ -489,6 +526,7 @@ bool TRic_archivi::main_loop()
_tras_file->close(); // Chiude il trasfer letto dalla directory della ditta _tras_file->close(); // Chiude il trasfer letto dalla directory della ditta
fremove(_trasf); fremove(_trasf);
} }
delete msk;
} }
} }
@ -590,55 +628,64 @@ bool TRic_archivi::video_ripartenza()
leggi_trasfer("\\trasfer"); leggi_trasfer("\\trasfer");
_prima_volta = FALSE; _prima_volta = FALSE;
TMask msk ("cg6400a"); TMask* msk = new TMask("cg6400a");
KEY tasto; KEY tasto;
ditta_ricevente(); ditta_ricevente();
_stato_ripartenza = controllo_ripartenza(); _stato_ripartenza = controllo_ripartenza();
msk.set(F_NOMEID, _nomeid); msk->set(F_NOMEID, _nomeid);
msk.set(F_CODDITTAINV, _dittainv); msk->set(F_CODDITTAINV, _dittainv);
msk.set(F_CODDITTARIC, _dittaric); msk->set(F_CODDITTARIC, _dittaric);
msk.set(F_RAGSOC, _ragsoc_dittar); msk->set(F_RAGSOC, _ragsoc_dittar);
msk.set(F_NULTRASDSK, _numinv); msk->set(F_NULTRASDSK, _numinv);
TString data1 = _datatras.string(); TString data1 = _datatras.string();
msk.set(F_DATAULTRASDSK, data1); msk->set(F_DATAULTRASDSK, data1);
if (_nultras != 0) if (_nultras != 0)
{ {
msk.set(F_NULTRASTAB, _nultras); msk->set(F_NULTRASTAB, _nultras);
TString data2 = _dataultras.string(); TString data2 = _dataultras.string();
msk.set(F_DATAULTRASTAB, data2); msk->set(F_DATAULTRASTAB, data2);
} }
else else
{ {
msk.set(F_NULTRASTAB, _nultras_tab); msk->set(F_NULTRASTAB, _nultras_tab);
TString data2 = _dataultras_tab.string(); TString data2 = _dataultras_tab.string();
msk.set(F_DATAULTRASTAB, data2); msk->set(F_DATAULTRASTAB, data2);
} }
if (_stato_ripartenza == 1 || _stato_ripartenza == 2 ) if (_stato_ripartenza == 1 || _stato_ripartenza == 2 )
msk.set(F_STATO, "NON COMPLETO"); msk->set(F_STATO, "NON COMPLETO");
else else
if (_stato_ripartenza == 0) if (_stato_ripartenza == 0)
msk.set(F_STATO, "COMPLETO"); msk->set(F_STATO, "COMPLETO");
if (_numdisk == 1) // Va fatto solo per il primo disco if (_numdisk == 1) // Va fatto solo per il primo disco
{ {
do do
{ {
msk.set_handler(baipassa); msk->set_handler(baipassa);
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) if (tasto != K_ENTER)
{
delete msk;
return FALSE; return FALSE;
}
if (_baipassa) if (_baipassa)
{
delete msk;
return TRUE; return TRUE;
}
if (!ripartenza()) if (!ripartenza())
{
delete msk;
return FALSE; return FALSE;
}
if (_numinv > (_nultras_tab + 1)) if (_numinv > (_nultras_tab + 1))
warning_box("Trasferimento FUORI SEQUENZA: manca un trasferimento intermedio"); warning_box("Trasferimento FUORI SEQUENZA: manca un trasferimento intermedio");
@ -646,10 +693,14 @@ bool TRic_archivi::video_ripartenza()
if (_numinv < (_nultras_tab +1)) if (_numinv < (_nultras_tab +1))
warning_box("I dischetti risultano GIA' TRASFERITI"); warning_box("I dischetti risultano GIA' TRASFERITI");
else else
{
delete msk;
return TRUE; return TRUE;
} }
}
while (tasto == K_ENTER); while (tasto == K_ENTER);
} }
delete msk;
} }
return TRUE; return TRUE;
@ -889,8 +940,8 @@ int cg6400 (int argc, char* argv[])
if (argc > 4) if (argc > 4)
p3 = *argv[3]; p3 = *argv[3];
TRic_archivi main_app(*argv[2],p3); TRic_archivi* main_app = new TRic_archivi(*argv[2],p3);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
return TRUE; return TRUE;
} }

View File

@ -761,9 +761,10 @@ bool Tabinv_application::user_create()
cg6500(int argc, char* argv[]) cg6500(int argc, char* argv[])
{ {
Tabinv_application a; Tabinv_application* a = new Tabinv_application;
a.run(argc,argv, "Tabelle"); a->run(argc,argv, "Tabelle");
delete a;
return 0; return 0;
} }

View File

@ -1595,22 +1595,23 @@ bool TRic_tab::video()
if (!leggi_trasfer()) if (!leggi_trasfer())
return FALSE; return FALSE;
TMask msk ("cg6600a"); TMask* msk = new TMask("cg6600a");
KEY tasto; KEY tasto;
ditta_ricevente(); ditta_ricevente();
msk.set(F_CODDITTA, _dittaric); msk->set(F_CODDITTA, _dittaric);
msk.set(F_RAGSOC, _ragsoc_dittar); msk->set(F_RAGSOC, _ragsoc_dittar);
msk.set(F_NULTRAS, _nultras); msk->set(F_NULTRAS, _nultras);
TString data1 = _dataultras.string(); TString data1 = _dataultras.string();
msk.set(F_DATAULTRAS, data1); msk->set(F_DATAULTRAS, data1);
msk.set(F_STD, _std); msk->set(F_STD, _std);
msk.set(F_USELAB, _uselab); msk->set(F_USELAB, _uselab);
msk.set(F_STATO, _key); msk->set(F_STATO, _key);
tasto = msk.run(); tasto = msk->run();
delete msk;
if (tasto != K_ENTER) if (tasto != K_ENTER)
return FALSE; return FALSE;
@ -1863,7 +1864,8 @@ int cg6600 (int argc, char* argv[])
if (argc > 4) if (argc > 4)
p3 = *argv[3]; p3 = *argv[3];
TRic_tab main_app(*argv[2],p3); TRic_tab* main_app=new TRic_tab(*argv[2],p3);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
return TRUE; return TRUE;
} }

View File

@ -3078,7 +3078,8 @@ int cg6700 (int argc, char* argv[])
if (argc >= 5) if (argc >= 5)
p2 = *argv[3]; p2 = *argv[3];
TRic_ListaMov a(p1,p2); TRic_ListaMov* a = new TRic_ListaMov(p1,p2);
a.run(argc, argv,"Lista controllo movimenti"); a->run(argc, argv,"Lista controllo movimenti");
delete a;
return TRUE; return TRUE;
} }

View File

@ -131,6 +131,10 @@ char TVar_mov::TipoConto(int g, int c)
TVar_mov::TVar_mov(char mov) : _scelta(toupper(mov)) TVar_mov::TVar_mov(char mov) : _scelta(toupper(mov))
{ {
_tiva = NULL;
_toccas = NULL;
_tmov = NULL;
_trmov = NULL;
switch (_scelta) switch (_scelta)
{ {
case 'P': case 'P':
@ -179,11 +183,15 @@ bool TVar_mov::destroy()
delete _rmoviva; delete _rmoviva;
delete _occas; delete _occas;
delete _tab_reg; delete _tab_reg;
delete _trmov;
delete _rec_rmov; delete _rec_rmov;
delete _tiva;
delete _toccas;
delete _rec_riva; delete _rec_riva;
if (_trmov)
delete _trmov;
if (_tiva)
delete _tiva;
if (_toccas)
delete _toccas;
if (_tmov)
delete _tmov; delete _tmov;
return TApplication::destroy(); return TApplication::destroy();
@ -275,38 +283,42 @@ bool TVar_mov::main_loop()
bool TVar_mov::video_PN() bool TVar_mov::video_PN()
{ {
TMask msk ("cg6800a"); TMask* msk = new TMask("cg6800a");
KEY tasto; KEY tasto;
do do
{ {
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) return FALSE; if (tasto != K_ENTER)
if (ricerca_movimento(msk))
{ {
TMask mask ("cg6800b"); delete msk;
return FALSE;
}
mask.set_handler(F_REGIVA, codice_registro_hnd); if (ricerca_movimento(*msk))
mask.set_handler(F_CODCAUS, codice_causale_hnd); {
mask.set_handler(F_PROTIVA, numero_protocollo_hnd); TMask* mask = new TMask("cg6800b");
mask.set_handler(F_NUPROTIVA, ultimo_protocollo_hnd);
mask.set_handler(F_CODPAG, codice_pagamento_hnd); mask->set_handler(F_REGIVA, codice_registro_hnd);
mask.set_handler(F_DATAREG, data_stampa); mask->set_handler(F_CODCAUS, codice_causale_hnd);
mask.set_handler(F_DATACOMP, data_competenza_hnd); mask->set_handler(F_PROTIVA, numero_protocollo_hnd);
//mask.set_handler(F_DATADOC, data); mask->set_handler(F_NUPROTIVA, ultimo_protocollo_hnd);
mask->set_handler(F_CODPAG, codice_pagamento_hnd);
mask->set_handler(F_DATAREG, data_stampa);
mask->set_handler(F_DATACOMP, data_competenza_hnd);
//mask->set_handler(F_DATADOC, data);
if (_righe) if (_righe)
{ {
mask.set_handler(F_SOTTOCONTO, controllo_partita); mask->set_handler(F_SOTTOCONTO, controllo_partita);
mask.set_handler(F_SOTTOC, controllo_contropartita); mask->set_handler(F_SOTTOC, controllo_contropartita);
mask.set_handler(F_IMPORTO , controllo_importo); mask->set_handler(F_IMPORTO , controllo_importo);
} }
setta_campi_maschera(mask); setta_campi_maschera(*mask);
tasto = mask.run(); tasto = mask->run();
switch (tasto) switch (tasto)
{ {
@ -318,7 +330,7 @@ bool TVar_mov::video_PN()
case K_SAVE : case K_SAVE :
{ {
registra_PN(mask); registra_PN(*mask);
_registrato = TRUE; _registrato = TRUE;
} }
break; break;
@ -326,10 +338,12 @@ bool TVar_mov::video_PN()
default: default:
break; break;
} }
delete mask;
} }
} }
while (tasto != K_QUIT); //K_ENTER while (tasto != K_QUIT); //K_ENTER
delete msk;
return TRUE; return TRUE;
} }
@ -354,39 +368,47 @@ void TVar_mov::ricerca_codcaus(const TString& codcaus)
bool TVar_mov::video_IVA() bool TVar_mov::video_IVA()
{ {
TMask msk ("cg6800a"); TMask* msk = new TMask("cg6800a");
KEY tasto; KEY tasto;
do do
{ {
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) return FALSE; if (tasto != K_ENTER)
if (ricerca_movimento(msk))
{ {
TMask mask ("cg6800c"); delete msk;
return FALSE;
}
if (ricerca_movimento(*msk))
{
TMask* mask = new TMask("cg6800c");
TString regiva = _rec_mov->get(MOV_REG); TString regiva = _rec_mov->get(MOV_REG);
if (!setta_campi_maschera_iva(mask)) if (!setta_campi_maschera_iva(*mask))
{
delete msk;
delete mask;
return FALSE; return FALSE;
}
mask.set_handler(F_CODCF, codice_clifo_hnd); mask->set_handler(F_CODCF, codice_clifo_hnd);
//mask.set_handler(F_DATA74TER, data); //mask->set_handler(F_DATA74TER, data);
mask.set_handler(F_LOCALITA, localita_occasionali); mask->set_handler(F_LOCALITA, localita_occasionali);
mask.set_handler(F_CAPOCC, cap_occasionali); mask->set_handler(F_CAPOCC, cap_occasionali);
if (_righe) if (_righe)
{ {
mask.set_handler(F_SOTTOCONTO, controllo_partita); mask->set_handler(F_SOTTOCONTO, controllo_partita);
mask.set_handler(F_CODIVA, codice_iva_hnd); mask->set_handler(F_CODIVA, codice_iva_hnd);
mask.set_handler(F_IMPOSTA, imposta_hnd); mask->set_handler(F_IMPOSTA, imposta_hnd);
mask.set_handler(F_TIPODET, detraibilita_hnd); mask->set_handler(F_TIPODET, detraibilita_hnd);
mask.set_handler(F_TIPOCR, tipocr_hnd); mask->set_handler(F_TIPOCR, tipocr_hnd);
} }
tasto = mask.run(); tasto = mask->run();
switch (tasto) switch (tasto)
{ {
@ -398,7 +420,7 @@ bool TVar_mov::video_IVA()
case K_SAVE : case K_SAVE :
{ {
registra_IVA(mask); registra_IVA(*mask);
_registrato = TRUE; _registrato = TRUE;
} }
break; break;
@ -406,10 +428,12 @@ bool TVar_mov::video_IVA()
default: default:
break; break;
} }
delete mask;
} }
} }
while (tasto != K_QUIT); //K_ENTER while (tasto != K_QUIT); //K_ENTER
delete msk;
return TRUE; return TRUE;
} }
@ -1608,38 +1632,44 @@ int cg6800 (int argc, char* argv[])
{ {
case 'P': case 'P':
{ {
TVar_mov main_app(*argv[2]); TVar_mov* main_app = new TVar_mov(*argv[2]);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
} }
break; break;
case 'I': case 'I':
{ {
TVar_mov main_app(*argv[2]); TVar_mov* main_app = new TVar_mov(*argv[2]);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
} }
break; break;
case 'B': case 'B':
{ {
TVar_sc a; TVar_sc* a = new TVar_sc;
a.run(argc, argv,"Variazione movimenti Saldaconto"); a->run(argc, argv,"Variazione movimenti Saldaconto");
delete a;
} }
break; break;
case 'S': case 'S':
{ {
TDitta_ric a; TDitta_ric* a = new TDitta_ric;
a.run(argc, argv,"Scelta ditta per ricezione"); a->run(argc, argv,"Scelta ditta per ricezione");
delete a;
} }
break; break;
case 'A': case 'A':
{ {
TAnn_mov a; TAnn_mov* a = new TAnn_mov;
a.run(argc, argv,"Annullamento movimenti da ricevere"); a->run(argc, argv,"Annullamento movimenti da ricevere");
delete a;
} }
break; break;
case 'V': case 'V':
{ {
TVis_ric a; TVis_ric* a = new TVis_ric;
a.run(argc, argv,"Visualizzazione stato ricezione"); a->run(argc, argv,"Visualizzazione stato ricezione");
delete a;
} }
break; break;
default: default:

View File

@ -21,26 +21,31 @@ bool TDitta_ric::destroy()
bool TDitta_ric::set() bool TDitta_ric::set()
{ {
TMask msk ("cg6801a"); TMask* msk = new TMask("cg6801a");
KEY tasto; KEY tasto;
_old_ditta = get_firm(); _old_ditta = get_firm();
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) return FALSE; if (tasto != K_ENTER)
{
delete msk;
return FALSE;
}
_dittaric = msk.get_int(F_CODDITTA); _dittaric = msk->get_int(F_CODDITTA);
set_firm(_dittaric); set_firm(_dittaric);
if (!esegui_controlli()) if (!esegui_controlli())
{ {
set_firm(_old_ditta); set_firm(_old_ditta);
delete msk;
return FALSE; return FALSE;
} }
//set_firm(_dittaric); //set_firm(_dittaric);
delete msk;
return FALSE; return FALSE;
} }

View File

@ -136,25 +136,29 @@ bool TAnn_mov::set()
bool TAnn_mov::video() bool TAnn_mov::video()
{ {
TMask msk ("cg6802a"); TMask* msk = new TMask("cg6802a");
KEY tasto; KEY tasto;
do do
{ {
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) return FALSE; if (tasto != K_ENTER)
if (esiste_testata_mov(msk))
{ {
TMask mask ("cg6802b"); delete msk;
return FALSE;
}
mask.set_handler(F_REGIVA, codice_registro_hnd); if (esiste_testata_mov(*msk))
mask.set_handler(F_CODCAUS, codice_causale_hnd); {
TMask* mask = new TMask("cg6802b");
setta_campi_maschera(mask); mask->set_handler(F_REGIVA, codice_registro_hnd);
mask->set_handler(F_CODCAUS, codice_causale_hnd);
tasto = mask.run(); setta_campi_maschera(*mask);
tasto = mask->run();
switch (tasto) switch (tasto)
{ {
@ -166,7 +170,7 @@ bool TAnn_mov::video()
case K_DEL : case K_DEL :
{ {
annulla(mask); annulla(*mask);
_registra = TRUE; _registra = TRUE;
} }
break; break;
@ -174,10 +178,12 @@ bool TAnn_mov::video()
default: default:
break; break;
} }
delete mask;
} }
} }
while (tasto != K_QUIT); //K_ENTER while (tasto != K_QUIT); //K_ENTER
delete msk;
return TRUE; return TRUE;
} }

View File

@ -110,66 +110,70 @@ bool TVis_ric::video()
if (!esegui_controlli()) if (!esegui_controlli())
return FALSE; return FALSE;
TMask msk ("cg6803a"); TMask* msk = new TMask("cg6803a");
KEY tasto; KEY tasto;
ditta_ricevente(); // Cerca la ragione sociale della ditta. ditta_ricevente(); // Cerca la ragione sociale della ditta.
setta_campi_video(msk); // Setta i campi della maschera con i dati relativi setta_campi_video(msk); // Setta i campi della maschera con i dati relativi
// alla ditta e alla tabella trasferimenti. // alla ditta e alla tabella trasferimenti.
msk.set_handler(baipassa); msk->set_handler(baipassa);
msk.set_handler(F_STD, stato_hnd); msk->set_handler(F_STD, stato_hnd);
msk.set_handler(F_USELAB, uselab_hnd); msk->set_handler(F_USELAB, uselab_hnd);
msk.set_handler(F_STATO, chiave_hnd); msk->set_handler(F_STATO, chiave_hnd);
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) if (tasto != K_ENTER)
{
delete msk;
return FALSE; return FALSE;
}
registra(msk); registra(*msk);
delete msk;
return FALSE; return FALSE;
} }
void TVis_ric::setta_campi_video(TMask& msk) void TVis_ric::setta_campi_video(TMask* msk)
{ {
if (_ftrasfer) if (_ftrasfer)
{ {
msk.set(F_CODDITTARIC, _dittaric); msk->set(F_CODDITTARIC, _dittaric);
msk.set(F_RAGSOC, _ragsoc_dittar); msk->set(F_RAGSOC, _ragsoc_dittar);
msk.set(F_NULTRAS, _nultras); msk->set(F_NULTRAS, _nultras);
if (_nultras != 0) if (_nultras != 0)
{ {
TString data1 = _dataultras.string(); TString data1 = _dataultras.string();
msk.set(F_DATAULTRAS, data1); msk->set(F_DATAULTRAS, data1);
} }
msk.set(F_USELAB, _uselab); msk->set(F_USELAB, _uselab);
msk.set(F_STATO, _key); msk->set(F_STATO, _key);
msk.set(F_AGGCAUSALI, _agg_cau); msk->set(F_AGGCAUSALI, _agg_cau);
msk.set(F_AGGCLIFO, _agg_clifo); msk->set(F_AGGCLIFO, _agg_clifo);
msk.set(F_AGGPCON, _agg_pcon); msk->set(F_AGGPCON, _agg_pcon);
msk.set(F_AGGIVD, _agg_IVdir); msk->set(F_AGGIVD, _agg_IVdir);
msk.set(F_FATTEM, _riatt_att); msk->set(F_FATTEM, _riatt_att);
msk.set(F_FATTRIC, _riatt_pas); msk->set(F_FATTRIC, _riatt_pas);
} }
msk.set(F_STD, _std); msk->set(F_STD, _std);
msk.disable(F_CODDITTARIC); msk->disable(F_CODDITTARIC);
msk.disable(F_RAGSOC); msk->disable(F_RAGSOC);
msk.disable(F_NULTRAS); msk->disable(F_NULTRAS);
msk.disable(F_DATAULTRAS); msk->disable(F_DATAULTRAS);
msk.disable(F_STD); msk->disable(F_STD);
msk.disable(F_USELAB); msk->disable(F_USELAB);
msk.disable(F_STATO); msk->disable(F_STATO);
msk.disable(F_AGGCAUSALI); msk->disable(F_AGGCAUSALI);
msk.disable(F_AGGCLIFO); msk->disable(F_AGGCLIFO);
msk.disable(F_AGGPCON); msk->disable(F_AGGPCON);
msk.disable(F_AGGIVD); msk->disable(F_AGGIVD);
msk.disable(F_FATTEM); msk->disable(F_FATTEM);
msk.disable(F_FATTRIC); msk->disable(F_FATTRIC);
} }
void TVis_ric::registra(TMask& m) void TVis_ric::registra(TMask& m)

View File

@ -37,7 +37,7 @@ public:
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
bool video(); bool video();
void setta_campi_video(TMask& m); void setta_campi_video(TMask* m);
void ditta_ricevente(); void ditta_ricevente();
long leggi_tabella_tras(); long leggi_tabella_tras();

View File

@ -161,10 +161,10 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
if (tipomov == 1) if (tipomov == 1)
{ {
TMask msk ("cg6804d"); TMask* msk = new TMask("cg6804d");
KEY k; KEY k;
TSheet_field& rp = (TSheet_field&) msk.field(F_RIGASCAD); TSheet_field& rp = (TSheet_field&) msk->field(F_RIGASCAD);
rp.set_notify(a_notify); rp.set_notify(a_notify);
rp.sheet_mask().set_handler(109, nrata_handler); rp.sheet_mask().set_handler(109, nrata_handler);
rp.sheet_mask().set_handler(111, codpag_handler); rp.sheet_mask().set_handler(111, codpag_handler);
@ -179,9 +179,9 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
rp.sheet_mask().set_handler(117, impval_handler); rp.sheet_mask().set_handler(117, impval_handler);
rp.sheet_mask().set_handler(DLG_DELREC, elimina_scadenza); rp.sheet_mask().set_handler(DLG_DELREC, elimina_scadenza);
app().setta_mask_scad(tipocf,gruppo,conto,sottoc,anno,npart,nriga,msk); app().setta_mask_scad(tipocf,gruppo,conto,sottoc,anno,npart,nriga,*msk);
k = msk.run(); k = msk->run();
switch (k) switch (k)
{ {
@ -193,7 +193,7 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
case K_SAVE : case K_SAVE :
{ {
app().registra_scadenze(msk); app().registra_scadenze(*msk);
app()._registrato = TRUE; app()._registrato = TRUE;
} }
break; break;
@ -201,13 +201,14 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
default: default:
break; break;
} }
delete msk;
} }
else else
{ {
TMask msk ("cg6804e"); TMask* msk = new TMask("cg6804e");
KEY k; KEY k;
TSheet_field& rp = (TSheet_field&) msk.field(F_RIGAPAGSCA); TSheet_field& rp = (TSheet_field&) msk->field(F_RIGAPAGSCA);
rp.set_notify(a_notify); rp.set_notify(a_notify);
rp.sheet_mask().set_handler(110, rifpartita_handler); rp.sheet_mask().set_handler(110, rifpartita_handler);
rp.sheet_mask().set_handler(111, accsal_handler); rp.sheet_mask().set_handler(111, accsal_handler);
@ -225,9 +226,9 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
rp.sheet_mask().set_handler(119, diffcambio_handler); rp.sheet_mask().set_handler(119, diffcambio_handler);
rp.sheet_mask().set_handler(DLG_DELREC, elimina_pagamenti); rp.sheet_mask().set_handler(DLG_DELREC, elimina_pagamenti);
app().setta_mask_pagsca(tipocf,gruppo,conto,sottoc,anno,npart,nriga,msk); app().setta_mask_pagsca(tipocf,gruppo,conto,sottoc,anno,npart,nriga,*msk);
k = msk.run(); k = msk->run();
switch (k) switch (k)
{ {
@ -239,7 +240,7 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
case K_SAVE : case K_SAVE :
{ {
app().registra_pagamenti(msk); app().registra_pagamenti(*msk);
app()._registrato = TRUE; app()._registrato = TRUE;
} }
break; break;
@ -247,6 +248,7 @@ bool TVar_sc::gestione_handler(TMask_field& f, KEY k)
default: default:
break; break;
} }
delete msk;
} }
} }
return TRUE; return TRUE;

View File

@ -35,54 +35,58 @@ bool TInv_cont::main_loop()
if (!esegui_controlli()) return FALSE; if (!esegui_controlli()) return FALSE;
TMask msk ("cg6900a"); TMask* msk = new TMask("cg6900a");
KEY tasto; KEY tasto;
if (_ditta != 0) if (_ditta != 0)
{ {
msk.set(F_DITTAINV, _ditta); msk->set(F_DITTAINV, _ditta);
msk.disable(F_DITTAINV); msk->disable(F_DITTAINV);
codifica_ditta(msk); codifica_ditta(*msk);
msk.set(F_NUMULINV, _num); msk->set(F_NUMULINV, _num);
msk.set(F_DATAULIN, _data.string()); msk->set(F_DATAULIN, _data.string());
msk.set(F_STATO, _stato); msk->set(F_STATO, _stato);
TString uselab = _tras_file.ult_file(); TString uselab = _tras_file.ult_file();
TString chiave = _tras_file.key(); TString chiave = _tras_file.key();
msk.set(F_USELAB, uselab); msk->set(F_USELAB, uselab);
msk.set(F_CHIAVE, chiave); msk->set(F_CHIAVE, chiave);
msk.set(F_DATALIM, _data.string()); msk->set(F_DATALIM, _data.string());
msk.disable(F_DATALIM); msk->disable(F_DATALIM);
if (_scelta == 'S' && _ditta > 9999) if (_scelta == 'S' && _ditta > 9999)
{ {
msk.show(F_DITTAAS); msk->show(F_DITTAAS);
msk.disable(F_DITTAAS); msk->disable(F_DITTAAS);
long ditta = atol(_control_rec.sub(300,304)); long ditta = atol(_control_rec.sub(300,304));
msk.set(F_DITTAAS, ditta); msk->set(F_DITTAAS, ditta);
} }
else else
msk.hide(F_DITTAAS); msk->hide(F_DITTAAS);
ripartenza = TRUE; ripartenza = TRUE;
} }
msk.disable(F_NUMULINV); msk->disable(F_NUMULINV);
msk.disable(F_DATAULIN); msk->disable(F_DATAULIN);
msk.disable(F_STATO); msk->disable(F_STATO);
msk.disable(F_USELAB); msk->disable(F_USELAB);
msk.disable(F_CHIAVE); msk->disable(F_CHIAVE);
if (!ripartenza) if (!ripartenza)
msk.set_handler(F_DITTAINV, setta_maschera_hnd); msk->set_handler(F_DITTAINV, setta_maschera_hnd);
else else
msk.set_handler(F_NUMULINV, messaggio_hnd); msk->set_handler(F_NUMULINV, messaggio_hnd);
tasto = msk.run(); tasto = msk->run();
if (tasto != K_ENTER) return FALSE; if (tasto != K_ENTER)
{
delete msk;
return FALSE;
}
_dittaAS = msk.get_long(F_DITTAAS); //Se la ditta per l'invio ad AS non viene compilata perche' trattasi di invio a PC _dittaAS = msk->get_long(F_DITTAAS); //Se la ditta per l'invio ad AS non viene compilata perche' trattasi di invio a PC
if (_dittaAS == 0) //o perche' il codice e' di 4, gli assegno la ditta corrente. Nel caso di invio a if (_dittaAS == 0) //o perche' il codice e' di 4, gli assegno la ditta corrente. Nel caso di invio a
_dittaAS = _ditta; //PC non servirebbe il codice aggiuntivo, ma lo metto ugualmente per avere una situazione analoga _dittaAS = _ditta; //PC non servirebbe il codice aggiuntivo, ma lo metto ugualmente per avere una situazione analoga
@ -90,7 +94,7 @@ bool TInv_cont::main_loop()
// Lista controllo archivi per rilevare eventuali // Lista controllo archivi per rilevare eventuali
// differenze. // differenze.
long ditta = msk.get_long(F_DITTAINV); long ditta = msk->get_long(F_DITTAINV);
set_firm(ditta); set_firm(ditta);
TConfig conf(CONFIG_DITTA); TConfig conf(CONFIG_DITTA);
@ -101,7 +105,7 @@ bool TInv_cont::main_loop()
TString appname = "cg6 -8 L"; TString appname = "cg6 -8 L";
TString corpo = ""; TString corpo = "";
TDate data = msk.get(F_DATALIM); TDate data = msk->get(F_DATALIM);
corpo << data.string(); corpo << data.string();
@ -120,26 +124,29 @@ bool TInv_cont::main_loop()
{ {
subj = atoi(msg->body()); subj = atoi(msg->body());
if (subj) if (subj)
{
delete msk;
return FALSE; return FALSE;
} }
} }
}
_datalimsk = msk.get(F_DATALIM); _datalimsk = msk->get(F_DATALIM);
if (!ripartenza) if (!ripartenza)
{ {
crea_marker(msk); //Crea il record con le informazioni sul marker crea_marker(*msk); //Crea il record con le informazioni sul marker
setta_parametri_record(msk,"F"); //Aggiorna parametri contabili ditta setta_parametri_record(*msk,"F"); //Aggiorna parametri contabili ditta
setta_tabella_studio(msk); //Aggiorna la tabella studio per invio setta_tabella_studio(*msk); //Aggiorna la tabella studio per invio
setta_tabella_ditta(msk,"F"); //Aggiorna la tabella ditta per invio setta_tabella_ditta(*msk,"F"); //Aggiorna la tabella ditta per invio
crea_record_controllo(msk); //Crea il record di controllo sul file header crea_record_controllo(*msk); //Crea il record di controllo sul file header
} }
else else
{ {
TString str,app; TString str,app;
int num = msk.get_int(F_NUMULINV); int num = msk->get_int(F_NUMULINV);
TString data (msk.get(F_DATALIM)); TString data (msk->get(F_DATALIM));
if (_scelta == 'S') if (_scelta == 'S')
{ {
app = riconverti(data,FALSE); app = riconverti(data,FALSE);
@ -157,8 +164,11 @@ bool TInv_cont::main_loop()
apri_file_temp(); apri_file_temp();
if (!invio_tempfile(msk)) if (!invio_tempfile(*msk))
{
delete msk;
return FALSE; return FALSE;
}
// calcola_totale_record(); // calcola_totale_record();
// str.format("%06ld", _tot_rec); // str.format("%06ld", _tot_rec);
@ -176,16 +186,16 @@ bool TInv_cont::main_loop()
// if (std != "D") // if (std != "D")
invio_contabilita(); //Costruisce il trasfer nella directory comune invio_contabilita(); //Costruisce il trasfer nella directory comune
TMask mask ("cg6900b"); TMask* mask = new TMask("cg6900b");
KEY k; KEY k;
k = mask.run(); k = mask->run();
if (k == K_ENTER) if (k == K_ENTER)
{ {
TString floppy = mask.get(F_FLOPPY); TString floppy = mask->get(F_FLOPPY);
int num_disk = calcola_numero_dischi(mask,floppy); int num_disk = calcola_numero_dischi(*mask,floppy);
TString percorso = mask.get(F_PATH); TString percorso = mask->get(F_PATH);
if (percorso.not_empty()) if (percorso.not_empty())
floppy << ":/" << percorso; floppy << ":/" << percorso;
@ -212,9 +222,9 @@ bool TInv_cont::main_loop()
} }
fclose(i); fclose(i);
setta_tabella_studio(msk,FALSE); //Aggiorna la tabella studio per invio setta_tabella_studio(*msk,FALSE); //Aggiorna la tabella studio per invio
setta_tabella_ditta(msk," ",FALSE); //Aggiorna la tabella ditta per invio setta_tabella_ditta(*msk," ",FALSE); //Aggiorna la tabella ditta per invio
setta_parametri_record(msk," "); //Aggiorna parametri contabili ditta setta_parametri_record(*msk," "); //Aggiorna parametri contabili ditta
_tras_file.open(_header); _tras_file.open(_header);
leggi_record_controllo(); leggi_record_controllo();
@ -226,8 +236,13 @@ bool TInv_cont::main_loop()
chiudi_file_temp(); chiudi_file_temp();
} }
else else
{
delete msk;
delete mask;
return FALSE; return FALSE;
} }
delete mask;
}
else else
if (_scelta == 'P') if (_scelta == 'P')
{ {
@ -239,16 +254,16 @@ bool TInv_cont::main_loop()
invio_contabilita_PC(); //Costruisce il trasfer nella directory comune invio_contabilita_PC(); //Costruisce il trasfer nella directory comune
TMask mask ("cg6900b"); TMask* mask = new TMask("cg6900b");
KEY k; KEY k;
k = mask.run(); k = mask->run();
if (k == K_ENTER) if (k == K_ENTER)
{ {
TString floppy = mask.get(F_FLOPPY); TString floppy = mask->get(F_FLOPPY);
int num_disk = calcola_numero_dischi(mask,floppy); int num_disk = calcola_numero_dischi(*mask,floppy);
TString percorso = mask.get(F_PATH); TString percorso = mask->get(F_PATH);
if (percorso.not_empty()) if (percorso.not_empty())
floppy << ":/" << percorso; floppy << ":/" << percorso;
@ -275,9 +290,9 @@ bool TInv_cont::main_loop()
} }
fclose(i); fclose(i);
setta_tabella_studio(msk,FALSE); //Aggiorna la tabella studio per invio setta_tabella_studio(*msk,FALSE); //Aggiorna la tabella studio per invio
setta_tabella_ditta(msk," ",FALSE); //Aggiorna la tabella ditta per invio setta_tabella_ditta(*msk," ",FALSE); //Aggiorna la tabella ditta per invio
setta_parametri_record(msk," "); //Aggiorna parametri contabili ditta setta_parametri_record(*msk," "); //Aggiorna parametri contabili ditta
_tras_file.open(_header); _tras_file.open(_header);
leggi_record_controllo(); leggi_record_controllo();
@ -289,8 +304,13 @@ bool TInv_cont::main_loop()
chiudi_file_temp(); chiudi_file_temp();
} }
else else
{
delete msk;
delete mask;
return FALSE; return FALSE;
} }
delete mask;
}
_tras_file.remove_all(FALSE); _tras_file.remove_all(FALSE);
fremove(_marker); fremove(_marker);
@ -299,6 +319,7 @@ bool TInv_cont::main_loop()
_trasf << "\\trasfer"; _trasf << "\\trasfer";
fremove(_trasf); fremove(_trasf);
delete msk;
return FALSE; return FALSE;
} }
@ -1832,26 +1853,30 @@ int cg6900 (int argc, char* argv[])
{ {
case 'S': case 'S':
{ {
TInv_cont main_app(*argv[2]); TInv_cont* main_app = new TInv_cont(*argv[2]);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
} }
break; break;
case 'P': case 'P':
{ {
TInv_cont main_app(*argv[2]); TInv_cont* main_app = new TInv_cont(*argv[2]);
main_app.run(argc, argv,main_app._titolo); main_app->run(argc, argv,main_app->_titolo);
delete main_app;
} }
break; break;
case 'L': case 'L':
{ {
TLista_archivi a; TLista_archivi* a = new TLista_archivi;
a.run(argc, argv,"Lista controllo archivi"); a->run(argc, argv,"Lista controllo archivi");
delete a;
} }
break; break;
case 'R': case 'R':
{ {
TRip_flag a; TRip_flag* a = new TRip_flag;
a.run(argc, argv,"Ripristino flag movimenti"); a->run(argc, argv,"Ripristino flag movimenti");
delete a;
} }
break; break;
default: default:

View File

@ -23,21 +23,24 @@ bool TRip_flag::destroy()
bool TRip_flag::set() bool TRip_flag::set()
{ {
TMask msk ("cg6903a"); TMask* msk = new TMask("cg6903a");
KEY k; KEY k;
k = msk.run(); k = msk->run();
if (k == K_ENTER) if (k == K_ENTER)
{ {
long ditta = msk.get_long(F_DITTAINV); long ditta = msk->get_long(F_DITTAINV);
TDate datalim (msk.get(F_DATA)); TDate datalim (msk->get(F_DATA));
bool rippn = msk.get_bool(F_RIPPN); bool rippn = msk->get_bool(F_RIPPN);
bool ripiva = msk.get_bool(F_RIPIVA); bool ripiva = msk->get_bool(F_RIPIVA);
bool ripsc = msk.get_bool(F_RIPSC); bool ripsc = msk->get_bool(F_RIPSC);
if (!rippn && !ripiva && !ripsc) return FALSE; // Se non flaggo nessuno dei tre non ha if (!rippn && !ripiva && !ripsc)
// senso scorrere l'archivio. {
delete msk;
return FALSE; // Se non flaggo nessuno dei tre non ha
} // senso scorrere l'archivio.
set_firm(ditta); set_firm(ditta);
@ -90,6 +93,7 @@ bool TRip_flag::set()
} }
} }
delete msk;
return FALSE; return FALSE;
} }