giornale dell'esercizio corrispondente. git-svn-id: svn://10.65.10.50/trunk@220 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| // 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;
 | |
| }
 | |
| 
 | |
| 
 |