// cg4401.cpp // #include #include #include #include #include #include #include #include #include "cg4400.h" static TString256 tmp; TRectype& TDati_ditta::look_com(const char * cod) { _comuni->zero(); _comuni->put(COM_COM,cod); _comuni->read(); if (_comuni->bad()) _comuni->zero(); return _comuni->curr(); } TDati_ditta::TDati_ditta(long cod_ditta, int stampa_width) { _stampa_width = stampa_width; _codditta = cod_ditta; _nditte = new TLocalisamfile(LF_NDITTE); _anag = new TLocalisamfile(LF_ANAG); _comuni = new TLocalisamfile(LF_COMUNI); } TDati_ditta::~TDati_ditta() { delete _anag; delete _nditte; delete _comuni; } void TDati_ditta::get_dati_ditta () { TString16 codanagr; char tipoa; _nditte->zero(); _nditte->put(NDT_CODDITTA, _codditta); _nditte->read(); if (_nditte->bad()) _nditte->zero(); _ragsoc = _nditte->get(NDT_RAGSOC); codanagr = _nditte->get(NDT_CODANAGR); tipoa = _nditte->get_char(NDT_TIPOA); _anag->setkey(1); _anag->zero(); _anag->put (ANA_TIPOA, tipoa); _anag->put (ANA_CODANAGR, codanagr); _anag->read(); if (_anag->bad()) _anag->zero(); _cofi = _anag->get(ANA_COFI); _paiva = _anag->get(ANA_PAIV); _comunefis = _anag->get(ANA_COMRF); if (_comunefis.trim().empty()) _comunefis = _anag->get(ANA_COMRES); TRectype dep = look_com (_comunefis); _comunefis = dep.get(COM_DENCOM); _provfis = dep.get(COM_PROVCOM); _cap = dep.get(COM_CAPCOM); if (_comunefis.trim().empty()) { _viafis = _anag->get(ANA_INDRF); _viafis.rtrim(); _viafis << " " << _anag->curr().get (ANA_CIVRF); } else { _viafis = _anag->get(ANA_INDRES); _viafis.rtrim(); _viafis << " " << _anag->get (ANA_CIVRES); } } const char * TDati_ditta::prima_riga() { get_dati_ditta(); tmp << "Ditta " << _codditta << ' ' << _ragsoc << " Via " << _viafis << ' ' << _cap << ' ' << _comunefis << ' ' << _provfis; return tmp; } const char * TDati_ditta::seconda_riga() { tmp = ""; tmp = "Data @<"; tmp.right_just(_stampa_width-15); tmp.overwrite (format ("Partita iva %s @26gCodice fiscale %s", (const char*)_paiva, (const char*)_cofi)); return tmp; }