Allungate stringhe interne TModule_table per gestire correttamente codice cliente
git-svn-id: svn://10.65.10.50/branches/R_10_00@22845 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									bf49d2b058
								
							
						
					
					
						commit
						2c5d6aded2
					
				@ -250,21 +250,21 @@ const char* TDowJones::normalize_value(const char* val, const real& /*exch*/)
 | 
			
		||||
 | 
			
		||||
void TExchange::copy(const TExchange& exc)
 | 
			
		||||
{
 | 
			
		||||
  strcpy(_val, exc._val);
 | 
			
		||||
  _codval = exc._codval;
 | 
			
		||||
  _exchange = exc._exchange;
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
const real& TExchange::get_change() const
 | 
			
		||||
{          
 | 
			
		||||
  if (_exchange.is_zero())
 | 
			
		||||
    return DowJones.get_change(_val);
 | 
			
		||||
    return DowJones.get_change(_codval);
 | 
			
		||||
  return _exchange;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int TExchange::compare(const TSortable& obj) const
 | 
			
		||||
{                                     
 | 
			
		||||
  const TExchange& exc = (const TExchange&)obj;
 | 
			
		||||
  int cmp = strcmp(_val, exc._val);
 | 
			
		||||
  int cmp = _codval.compare(exc._codval);
 | 
			
		||||
  if (cmp == 0)
 | 
			
		||||
  {   
 | 
			
		||||
    const real diff = get_change() - exc.get_change();
 | 
			
		||||
@ -275,36 +275,34 @@ int TExchange::compare(const TSortable& obj) const
 | 
			
		||||
 | 
			
		||||
bool TExchange::same_value_as(const TExchange& exc) const
 | 
			
		||||
{
 | 
			
		||||
  return strcmp(_val, exc._val) == 0;
 | 
			
		||||
  return _codval == exc._codval;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TExchange::is_firm_value() const
 | 
			
		||||
{
 | 
			
		||||
  return DowJones.get_firm_val() == _val;
 | 
			
		||||
  return DowJones.get_firm_val() == _codval;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool TExchange::is_euro_value() const
 | 
			
		||||
{
 | 
			
		||||
  return DowJones.get_euro_val() == _val;
 | 
			
		||||
  return DowJones.get_euro_val() == _codval;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int TExchange::decimals(bool price) const
 | 
			
		||||
{
 | 
			
		||||
  return DowJones.get_dec(_val, price);
 | 
			
		||||
  return DowJones.get_dec(_codval, price);
 | 
			
		||||
}                      
 | 
			
		||||
 | 
			
		||||
void TExchange::set(const char* val, const real& chg)
 | 
			
		||||
{
 | 
			
		||||
  val = DowJones.normalize_value(val, chg);
 | 
			
		||||
  strncpy(_val, val, 4); 
 | 
			
		||||
  _val[3] = '\0';
 | 
			
		||||
  _codval = DowJones.normalize_value(val, chg); 
 | 
			
		||||
  _exchange = chg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TExchange::set(const TRectype& rec)
 | 
			
		||||
{
 | 
			
		||||
  const TString4 codval = rec.get("CODVAL");
 | 
			
		||||
  const real chg = rec.get_real("CAMBIO");
 | 
			
		||||
  const TString& codval = rec.get("CODVAL");
 | 
			
		||||
  set(codval, chg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -408,7 +406,7 @@ const char* TCurrency::string(bool dotted) const
 | 
			
		||||
TCurrency& TCurrency::operator+=(const TCurrency& cur)
 | 
			
		||||
{
 | 
			
		||||
  CHECK(is_price() == cur.is_price(), "Somma di pere e mele!");
 | 
			
		||||
  if (!cur._num.is_zero())
 | 
			
		||||
  if (!cur.is_zero())
 | 
			
		||||
  {
 | 
			
		||||
    if (same_value_as(cur))
 | 
			
		||||
    {
 | 
			
		||||
@ -416,7 +414,7 @@ TCurrency& TCurrency::operator+=(const TCurrency& cur)
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      real n = DowJones.exchange(cur._num, cur._chg, _chg, is_price());
 | 
			
		||||
      const real n = DowJones.exchange(cur._num, cur._chg, _chg, is_price());
 | 
			
		||||
      _num += n;
 | 
			
		||||
    }
 | 
			
		||||
  }  
 | 
			
		||||
@ -502,7 +500,6 @@ bool same_values(const char * valuea, const char * valueb)
 | 
			
		||||
  return xvt_str_compare_ignoring_case(valuea, valueb) == 0;  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
real change_currency(const real& num, 
 | 
			
		||||
                     const char* fromval, const real& fromchg,
 | 
			
		||||
                     const char* toval, const real& tochg,
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,7 @@ class TRectype;
 | 
			
		||||
 | 
			
		||||
class TExchange : public TSortable
 | 
			
		||||
{ 
 | 
			
		||||
  char _val[4];     // Codice valuta
 | 
			
		||||
  TString4 _codval; // Codice valuta
 | 
			
		||||
  real _exchange;   // Cambio personalizzato
 | 
			
		||||
  
 | 
			
		||||
protected:  
 | 
			
		||||
@ -35,7 +35,7 @@ public:
 | 
			
		||||
  bool is_firm_value() const;
 | 
			
		||||
  bool is_euro_value() const;
 | 
			
		||||
  
 | 
			
		||||
  const char* get_value() const { return _val; }
 | 
			
		||||
  const char* get_value() const { return _codval; }
 | 
			
		||||
  const real& get_change() const;
 | 
			
		||||
  int decimals(bool price = false) const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -35,6 +35,8 @@
 | 
			
		||||
#define DOC_CODINDSP      "CODINDSP" 
 | 
			
		||||
#define DOC_DATADOCRIF    "DATADOCRIF" 
 | 
			
		||||
#define DOC_NUMDOCRIF     "NUMDOCRIF" 
 | 
			
		||||
#define DOC_CODNUMRIF     "CODNUMRIF"
 | 
			
		||||
#define DOC_ANNORIF       "ANNORIF"
 | 
			
		||||
#define DOC_ZONA          "ZONA" 
 | 
			
		||||
#define DOC_CODAG         "CODAG" 
 | 
			
		||||
#define DOC_CODAGVIS      "CODAGVIS" 
 | 
			
		||||
@ -87,6 +89,7 @@
 | 
			
		||||
#define DOC_IVAXCASSA	    "IVAXCASSA"
 | 
			
		||||
#define DOC_DATACOMP      "DATACOMP"
 | 
			
		||||
#define DOC_DATAFCOMP     "DATAFCOMP"
 | 
			
		||||
#define DOC_DATASCIMP     "DATASCIMP"
 | 
			
		||||
#define DOC_CUP				    "CUP"
 | 
			
		||||
#define DOC_CIG				    "CIG"
 | 
			
		||||
#define DOC_CONTRATTO     "CONTRATTO"
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
TModule_table::TModule_table(const char* tabname)
 | 
			
		||||
             : TLocalisamfile(LF_TABMOD), _customer(0)
 | 
			
		||||
{
 | 
			
		||||
	TString8 name(tabname);
 | 
			
		||||
	TString16 name(tabname);
 | 
			
		||||
  if (!isalnum(name[0])) // Toglie eventuali prefissi inutili d'ora in poi
 | 
			
		||||
    name.ltrim(1); 
 | 
			
		||||
	name.upper();
 | 
			
		||||
@ -22,7 +22,8 @@ TModule_table::TModule_table(const char* tabname)
 | 
			
		||||
		else
 | 
			
		||||
			_tabname = name;
 | 
			
		||||
  }
 | 
			
		||||
	else _tabname = name;
 | 
			
		||||
	else 
 | 
			
		||||
    _tabname = name;
 | 
			
		||||
 | 
			
		||||
	if (_module.blank() || _customer <= 0L)
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user