campo-sirio/cg/cg4401.cpp

108 lines
2.4 KiB
C++
Raw Normal View History

// cg4401.cpp
//
#include <applicat.h>
#include <isam.h>
#include <strings.h>
#include <lffiles.h>
#include <utility.h>
#include <nditte.h>
#include <anagr.h>
#include <comuni.h>
#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;
}