campo-sirio/sc/sc2102.cpp

47 lines
971 B
C++
Raw Normal View History

#include "sc2102.h"
///////////////////////////////////////////////////////////
// Totalizzatore
///////////////////////////////////////////////////////////
void TTotalizer::add(const TImporto& imp, const TString& val)
{
TString16 codice(val);
if (codice == "LIT")
codice.cut(0);
TObject* obj = objptr(codice);
if (obj != NULL)
{
TImporto& tot = (TImporto&)*obj;
tot += imp;
}
else
{
TAssoc_array::add(codice, new TImporto(imp));
}
}
///////////////////////////////////////////////////////////
// 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();
}