campo-sirio/sc/sc2102.cpp
angelo aa872d7573 Aggiunta gestione totale pagamenti non assegnati: aggiunto un
nuovo costruttore a TTotal ed una nuova add().


git-svn-id: svn://10.65.10.50/trunk@2469 c028cbd2-c16b-5b4b-a496-9718f37d4682
1996-01-18 18:03:29 +00:00

79 lines
1.8 KiB
C++
Executable File

#include "sc2102.h"
///////////////////////////////////////////////////////////
// Totalizzatore
///////////////////////////////////////////////////////////
TTotal::TTotal(const TImporto& imp, const real& sca,
const real& esp, const real& lit)
: _importo(imp), _scaduto(sca), _esposto(esp), _importo_lire(lit)
{ }
TTotal::TTotal(const TImporto& uns)
: _unassigned(uns)
{ }
void TTotalizer::add(const TImporto& imp, const real& sca,
const real& esp, const real& lit, const TString& val)
{
TString16 codice(val);
if (codice == "LIT")
codice.cut(0);
TObject* obj = objptr(codice);
if (obj != NULL)
{
TTotal& tot = (TTotal&)*obj;
tot.importo() += imp;
tot.scaduto() += sca;
tot.esposto() += esp;
tot.importo_lire() += lit;
}
else
{
obj = new TTotal(imp, sca, esp, lit);
TAssoc_array::add(codice, obj);
}
}
void TTotalizer::add(const TImporto& uns, const TString& val)
{
TString16 codice(val);
if (codice == "LIT")
codice.cut(0);
TObject* obj = objptr(codice);
if (obj != NULL)
{
TTotal& tot = (TTotal&)*obj;
tot.unassigned() += uns;
}
else
{
obj = new TTotal(uns);
TAssoc_array::add(codice, obj);
}
}
///////////////////////////////////////////////////////////
// TFilearray
///////////////////////////////////////////////////////////
void TFile_array::open(int logicnum, ...)
{
va_list marker;
va_start(marker, logicnum);
while (logicnum > 0)
{
CHECKD(_file.objptr(logicnum) == NULL, "File gia' aperto: ", logicnum);
_file.add(new TLocalisamfile(logicnum), logicnum);
logicnum = va_arg(marker, int);
}
}
void TFile_array::close()
{
_file.destroy();
}