campo-sirio/ef/ef0301.h
angelo fef25407a3 Aggiunto operatore di lock su TDistinta e corretta la rewrite().
git-svn-id: svn://10.65.10.50/trunk@4474 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-05-31 13:26:38 +00:00

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