61 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef __EF0301_H
 | |
| #define __EF0301_H
 | |
| 
 | |
| #ifndef __EF0101_H
 | |
| #include "ef0101.h"
 | |
| #endif
 | |
| 
 | |
| ///////////////////////////////////////////////////////////////
 | |
| // Definizione dell'oggetto Distinta con la classe TDistinta // 
 | |
| ///////////////////////////////////////////////////////////////
 | |
| 
 | |
| class TDistinta:public TObject
 | |
| {
 | |
|   //array che contiene puntatori agli effetti nella distinta
 | |
|   TArray _righe_dist;
 | |
| public:  
 | |
|   //ritorna un riferimento all'array degli effetti nella distinta
 | |
|   TArray& righe(){ return _righe_dist;}  
 | |
|   //ritorna il numero degli effetti nella distinta (nell'array)          
 | |
|   const int items() const{ return _righe_dist.items(); }
 | |
|   //elimina tutti gli effetti nella distinta (appartenti all'array)
 | |
|   int reset(){ return _righe_dist.destroy() == NOERR; }
 | |
|   //legge la distinta del tipo e numero passati 
 | |
|   int read(const char tipo, const long numero, word lock_op = _nolock); 
 | |
|   //legge il record passato 
 | |
|   int read(const TRectype& rec, word lock_op = _nolock);
 | |
|   //scrive la distinta utilizzando la rewrite degli effetti
 | |
|   int write(bool force = FALSE, TToken_string* dati_dist = NULL);
 | |
|   //riscrive la distinta
 | |
|   int rewrite(TToken_string* dati_dist = NULL){ return write(TRUE, dati_dist); }
 | |
|   //rimuove la distinta del tipo e numero passati 
 | |
|   int remove(char tipodist, long ndist);           
 | |
|   //restituisce il tipo di distinta 
 | |
|   const char tipodist() const { return ((TRectype&)_righe_dist[0]).get_char(EFF_TIPODIST); }
 | |
|   //restituisce il numero di distinta 
 | |
|   const long ndist() const { return ((TRectype&)_righe_dist[0]).get_long(EFF_NDIST); }
 | |
|   //restituisce il codice valuta della distinta 
 | |
|   const TString& codval() const { return ((TRectype&)_righe_dist[0]).get(EFF_CODVAL); }
 | |
|   //restituisce la data distinta della distinta
 | |
|   TDate data_dist() const { return ((TRectype&)_righe_dist[0]).get_date(EFF_DATADIST); }
 | |
|   //restituisce la data cambio della distinta
 | |
|   TDate data_cam() const { return ((TRectype&)_righe_dist[0]).get_date(EFF_DATACAMBIO); }
 | |
|   //restituisce il cambio delle distinta
 | |
|   real cambio() const { return ((TRectype&)_righe_dist[0]).get_real(EFF_CAMBIO); }
 | |
|   //restituisce il codice abi di presentazione effetti
 | |
|   const TString& abip()const { return ((TRectype&)_righe_dist[0]).get(EFF_CODABIP); }
 | |
|   //restituisce il codice cab di presentazione effetti
 | |
|   const TString& cabp()const { return ((TRectype&)_righe_dist[0]).get(EFF_CODCABP); }
 | |
|   // restituisce l'effetto n-esimo
 | |
|   TRectype& operator[](const int index) { return (TRectype&) _righe_dist[index]; }
 | |
|   //costruttore di default
 | |
|   TDistinta() {};  
 | |
|   //costruttore distinta del tipo e numero passato
 | |
|   TDistinta(const char tipo, const long numero, word lockop = _nolock);
 | |
|   //costruttore distinta utilizzando il record passato
 | |
|   TDistinta(const TRectype& rec, word lockop = _nolock);    
 | |
|   //distruttore di default
 | |
|   virtual ~TDistinta();
 | |
| };
 | |
| 
 | |
| #endif//__EF0301_H
 |