ba3100.cpp Provo a togliere new TTable_application

ba3600.cpp    Corretti handlers bislacchi
ba3600a.uml   Messo grassetto ad alcuni testi


git-svn-id: svn://10.65.10.50/trunk@4047 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-01-09 16:31:26 +00:00
parent 8c47fa1eee
commit 97e94f2c91
3 changed files with 58 additions and 63 deletions

View File

@ -479,8 +479,7 @@ int TGeneric_table_app::rewrite(const TMask& m)
int ba3100(int argc, char* argv[]) int ba3100(int argc, char* argv[])
{ {
TGeneric_table_app* a = new TGeneric_table_app; TGeneric_table_app a;
a->run(argc, argv, "Tabella"); a.run(argc, argv, "Tabella");
delete a; // Bella battuta!
return 0; return 0;
} }

View File

@ -1,8 +1,6 @@
#include <mask.h> #include <mask.h>
#include <printapp.h> #include <printapp.h>
//#include <relation.h>
#include <tabutil.h> #include <tabutil.h>
//#include <utility.h>
#include <sort.h> #include <sort.h>
#include <progind.h> #include <progind.h>
#include <prefix.h> #include <prefix.h>
@ -14,13 +12,9 @@
#include "ba3.h" #include "ba3.h"
#include "ba3600.h" #include "ba3600.h"
#define ALIAS 50
static TString256 tmp; static TString256 tmp;
const int TABLBU = (int)TTable::name2log("%LBU"); class TStampa_indici : public TPrint_application
class BA3600_application : public TPrintapp
{ {
struct ind_lib struct ind_lib
{ {
@ -59,12 +53,10 @@ class BA3600_application : public TPrintapp
bool _stamp_bollato, _pag_ann, _pag_fuori_sequenza,_stampa_intesta,_stampa_ind; bool _stamp_bollato, _pag_ann, _pag_fuori_sequenza,_stampa_intesta,_stampa_ind;
TString _ind_dta,_civ_dta,_cap_dta,_com_dta,_prov_dta; TString _ind_dta,_civ_dta,_cap_dta,_com_dta,_prov_dta;
public: public: // TPrint_application
bool menu (MENU_TAG m) { return TPrintapp::menu(m) ; }
virtual bool user_create() ; virtual bool user_create() ;
virtual bool user_destroy(); virtual bool user_destroy();
bool set_print(int); virtual bool set_print(int);
virtual bool preprocess_page (int,int); virtual bool preprocess_page (int,int);
virtual print_action postprocess_page (int,int); virtual print_action postprocess_page (int,int);
@ -89,24 +81,36 @@ public:
void descrizione(); void descrizione();
void dati_anagrafici_ditta(TString&,TString&,TString&,TString&,TString&); void dati_anagrafici_ditta(TString&,TString&,TString&,TString&,TString&);
BA3600_application() {} TStampa_indici();
virtual ~TStampa_indici() { }
}; };
void BA3600_application::init_sort() TStampa_indici::TStampa_indici()
: _lib(NULL), _sort(NULL)
{ {
}
void TStampa_indici::init_sort()
{
if (_lib)
delete _lib;
_lib = new ind_lib; _lib = new ind_lib;
_sort = new TSort (sizeof(ind_lib));
if (_sort)
delete _sort;
_sort = new TSort(sizeof(ind_lib));
_sort->addsortkey((char*)&(_lib->anno) - (char*)&(_lib->anno),4);
_sort->addsortkey((char*)&(_lib->mese) - (char*)&(_lib->anno),2);
_sort->addsortkey((char*)&(_lib->nini_plib) - (char*)&(_lib->anno),5);
_sort -> addsortkey((char*)&(_lib->anno) - (char*)&(_lib->anno),4);
_sort -> addsortkey((char*)&(_lib->mese) - (char*)&(_lib->anno),2);
_sort -> addsortkey((char*)&(_lib->nini_plib) - (char*)&(_lib->anno),5);
_sort->init(); _sort->init();
} }
//Crea sort ordina i record della tabella %INL per mese registrazione, anno //Crea sort ordina i record della tabella %INL per mese registrazione, anno
//registrazione e numero iniziale pagine registro libro unico //registrazione e numero iniziale pagine registro libro unico
void BA3600_application::crea_sort() void TStampa_indici::crea_sort()
{ {
long anno,numini_paglib,numfin_paglib,codditta,numini_pagut,numfin_pagut; long anno,numini_paglib,numfin_paglib,codditta,numini_pagut,numfin_pagut;
TString cod_reg,cod_vidimaz,dep,app; TString cod_reg,cod_vidimaz,dep,app;
@ -209,7 +213,7 @@ void BA3600_application::crea_sort()
//con l'ultima pagina dell'ultimo indice solo se il i libri //con l'ultima pagina dell'ultimo indice solo se il i libri
//selezionati sono gli stessi (libro di studio e libro di stampa). //selezionati sono gli stessi (libro di studio e libro di stampa).
void BA3600_application::dati_libro_unico() void TStampa_indici::dati_libro_unico()
{ {
TTable lbu ("%LBU"); TTable lbu ("%LBU");
TString dep; TString dep;
@ -227,7 +231,7 @@ void BA3600_application::dati_libro_unico()
} }
} }
void BA3600_application::descrizione() void TStampa_indici::descrizione()
{ {
TTable lbu ("%LBU"); TTable lbu ("%LBU");
TString16 dep; TString16 dep;
@ -238,7 +242,7 @@ void BA3600_application::descrizione()
_desc_cod_lib_su = lbu.get ("S0"); _desc_cod_lib_su = lbu.get ("S0");
} }
void BA3600_application::intestatario(TString& cofi,TString& paiv,TString& ragsoc,TString& ind, void TStampa_indici::intestatario(TString& cofi,TString& paiv,TString& ragsoc,TString& ind,
TString& civ,TString& cap,TString& com,TString& prov) TString& civ,TString& cap,TString& com,TString& prov)
{ {
TString codcom; TString codcom;
@ -280,13 +284,9 @@ void BA3600_application::intestatario(TString& cofi,TString& paiv,TString& ragso
} }
} }
bool BA3600_application::set_print(int) bool TStampa_indici::set_print(int)
{ {
KEY tasto; KEY tasto = _msk->run();
// _msk->set_mode(MODE_QUERY);
tasto = _msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
_tipo_stampa = _msk->get_int(F_TIPO_STAMPA); _tipo_stampa = _msk->get_int(F_TIPO_STAMPA);
@ -327,7 +327,7 @@ bool BA3600_application::set_print(int)
} }
/********* /*********
bool BA3600_application::preprocess_page(int file, int counter) bool TStampa_indici::preprocess_page(int file, int counter)
{ {
if (_tipo_stampa == 1) if (_tipo_stampa == 1)
{ {
@ -348,20 +348,17 @@ bool BA3600_application::set_print(int)
} }
***********/ ***********/
void BA3600_application::postclose_print() void TStampa_indici::postclose_print()
{ // Se ha stampato in definitiva, aggiorna il numero di pagine stampate sul libro unico. { // Se ha stampato in definitiva, aggiorna il numero di pagine stampate sul libro unico.
// Viene incrementato del numero di pagine stampate per gli indici // Viene incrementato del numero di pagine stampate per gli indici
if ((_tipo_stampa == 2)) if ((_tipo_stampa == 2))
{ {
TString dep; TString dep;
long numfin_paglib;
_tab_lbu->zero();
dep.format ("%4d%-3s", _anno, (const char*)_cod_lib_stampa); // Va aggiornato il libro sul quale si stampa! dep.format ("%4d%-3s", _anno, (const char*)_cod_lib_stampa); // Va aggiornato il libro sul quale si stampa!
_tab_lbu->put("CODTAB", (const char*) dep); _tab_lbu->put("CODTAB", dep);
if (_tab_lbu->read() == NOERR) if (_tab_lbu->read() == NOERR)
{ {
numfin_paglib = _tab_lbu->get_long("I1"); long numfin_paglib = _tab_lbu->get_long("I1");
numfin_paglib += get_page_number(); numfin_paglib += get_page_number();
_tab_lbu->put("I1", numfin_paglib); _tab_lbu->put("I1", numfin_paglib);
_tab_lbu->rewrite(); _tab_lbu->rewrite();
@ -369,7 +366,7 @@ void BA3600_application::postclose_print()
} }
} }
bool BA3600_application::preprocess_page(int file, int counter) bool TStampa_indici::preprocess_page(int file, int counter)
{ {
struct ind_lib* lib = (struct ind_lib*) _buff; struct ind_lib* lib = (struct ind_lib*) _buff;
long nini_plib; long nini_plib;
@ -436,7 +433,7 @@ bool BA3600_application::preprocess_page(int file, int counter)
return TRUE; return TRUE;
} }
void BA3600_application::set_page(int file, int counter) void TStampa_indici::set_page(int file, int counter)
{ {
if (_tipo_stampa == 1) if (_tipo_stampa == 1)
setta_righe_prova(); setta_righe_prova();
@ -444,11 +441,9 @@ void BA3600_application::set_page(int file, int counter)
setta_righe_bollato(); setta_righe_bollato();
} }
void BA3600_application::setta_righe_prova() void TStampa_indici::setta_righe_prova()
{ {
int i; int i = 1;
i = 1;
if (_pag_fuori_sequenza) if (_pag_fuori_sequenza)
set_row (i++,"@10gPAGINE FUORI SEQUENZA"); set_row (i++,"@10gPAGINE FUORI SEQUENZA");
@ -481,11 +476,9 @@ void BA3600_application::setta_righe_prova()
set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta); set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta);
} }
void BA3600_application::setta_righe_bollato() void TStampa_indici::setta_righe_bollato()
{ {
int i; int i = 1;
i = 1;
// if (_pag_fuori_sequenza) // if (_pag_fuori_sequenza)
// set_row (i++,"@10gPAGINE FUORI SEQUENZA"); // set_row (i++,"@10gPAGINE FUORI SEQUENZA");
@ -517,7 +510,7 @@ void BA3600_application::setta_righe_bollato()
set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta); set_row (i ,"@27g#t #t #t #t #t", &_ind_dta, &_civ_dta, &_cap_dta, &_com_dta, &_prov_dta);
} }
print_action BA3600_application::postprocess_page(int file, int counter) print_action TStampa_indici::postprocess_page(int file, int counter)
{ {
if (_buff == NULL) if (_buff == NULL)
return NEXT_PAGE; return NEXT_PAGE;
@ -525,7 +518,7 @@ print_action BA3600_application::postprocess_page(int file, int counter)
return REPEAT_PAGE; return REPEAT_PAGE;
} }
const char* BA3600_application::ragsoc_ditta(long codditta) const char* TStampa_indici::ragsoc_ditta(long codditta)
{ {
TLocalisamfile nditte(LF_NDITTE); TLocalisamfile nditte(LF_NDITTE);
@ -541,7 +534,7 @@ const char* BA3600_application::ragsoc_ditta(long codditta)
return tmp; return tmp;
} }
void BA3600_application::dati_anagrafici_ditta(TString& ind,TString& civ,TString& cap, void TStampa_indici::dati_anagrafici_ditta(TString& ind,TString& civ,TString& cap,
TString& com,TString& prov) TString& com,TString& prov)
{ {
TLocalisamfile anag (LF_ANAG); TLocalisamfile anag (LF_ANAG);
@ -581,7 +574,7 @@ void BA3600_application::dati_anagrafici_ditta(TString& ind,TString& civ,TString
} }
} }
const char* BA3600_application::descrizione_codreg(const TString& codreg) const char* TStampa_indici::descrizione_codreg(const TString& codreg)
{ {
TString16 dep; TString16 dep;
dep.format("%4d%-3s", _anno, (const char*)codreg); dep.format("%4d%-3s", _anno, (const char*)codreg);
@ -598,7 +591,7 @@ const char* BA3600_application::descrizione_codreg(const TString& codreg)
return tmp; return tmp;
} }
void BA3600_application::compatta_ragsoc(TString& ragsoc) void TStampa_indici::compatta_ragsoc(TString& ragsoc)
{ {
TString app; TString app;
@ -612,7 +605,7 @@ void BA3600_application::compatta_ragsoc(TString& ragsoc)
} }
} }
void BA3600_application::preprocess_header() void TStampa_indici::preprocess_header()
{ {
if (_tipo_stampa ==1) if (_tipo_stampa ==1)
crea_intestazione_prova(); crea_intestazione_prova();
@ -621,7 +614,7 @@ void BA3600_application::preprocess_header()
crea_intestazione_bollato(); crea_intestazione_bollato();
} }
void BA3600_application::crea_intestazione_prova() void TStampa_indici::crea_intestazione_prova()
{ {
TString datastampastr; TString datastampastr;
TString sep(132); TString sep(132);
@ -658,7 +651,7 @@ void BA3600_application::crea_intestazione_prova()
set_header (7, (const char *) sep); set_header (7, (const char *) sep);
} }
void BA3600_application::crea_intestazione_bollato() void TStampa_indici::crea_intestazione_bollato()
{ {
TString datastampastr; TString datastampastr;
TString sep(132); TString sep(132);
@ -699,7 +692,7 @@ void BA3600_application::crea_intestazione_bollato()
set_header (7, (const char *) sep); set_header (7, (const char *) sep);
} }
bool BA3600_application::user_create() bool TStampa_indici::user_create()
{ {
_nditte = new TLocalisamfile (LF_NDITTE); _nditte = new TLocalisamfile (LF_NDITTE);
_anag = new TLocalisamfile (LF_ANAG); _anag = new TLocalisamfile (LF_ANAG);
@ -712,7 +705,7 @@ bool BA3600_application::user_create()
return TRUE; return TRUE;
} }
bool BA3600_application::user_destroy() bool TStampa_indici::user_destroy()
{ {
delete _msk; delete _msk;
@ -721,17 +714,20 @@ bool BA3600_application::user_destroy()
delete _nditte; delete _nditte;
delete _anag; delete _anag;
delete _comuni; delete _comuni;
// Guy's wise advice
if (_lib)
delete _lib;
if (_sort)
delete _sort;
return TRUE; return TRUE;
} }
int ba3600 (int argc, char* argv[]) int ba3600 (int argc, char* argv[])
{ {
TStampa_indici a;
BA3600_application a;
a.run(argc, argv, "Stampa indici registro libro unico"); a.run(argc, argv, "Stampa indici registro libro unico");
return 0; return 0;
} }

View File

@ -45,12 +45,12 @@ END
TEXT F_TITOLO_PROVA TEXT F_TITOLO_PROVA
BEGIN BEGIN
PROMPT -11 7 "STAMPA DI PROVA" PROMPT -11 7 "@bSTAMPA DI PROVA"
END END
TEXT F_TITOLO_BOLLATO TEXT F_TITOLO_BOLLATO
BEGIN BEGIN
PROMPT -11 7 "STAMPA SU LIBRI BOLLATI DELLO STUDIO" PROMPT -11 7 "@bSTAMPA SU LIBRI BOLLATI DELLO STUDIO"
END END
DATE F_DATA_STAMPA DATE F_DATA_STAMPA