diff --git a/ve/velib.h b/ve/velib.h index 83332c931..445450cdf 100755 --- a/ve/velib.h +++ b/ve/velib.h @@ -156,8 +156,8 @@ public: class TExpr_documento : public TExpression // velib01 { - TDocumento * _doc; - TRiga_documento * _row; + const TDocumento* _doc; + const TRiga_documento* _row; protected: virtual void evaluate_user_func(int index, int nparms, TEval_stack & stack, TTypeexp type) const; @@ -167,15 +167,15 @@ public: // @cmember Duplica l'espressione virtual TObject* dup() const; // @cmember Assegna il documento corrente - void set_doc(TDocumento* doc) { _doc = doc; } + void set_doc(const TDocumento* doc) { _doc = doc; } // @cmember Assegna il documento corrente - void set_row(TRiga_documento* row) { _row = row; } + void set_row(const TRiga_documento* row) { _row = row; } // @cmember Costruttore (assegna l'estressione e il suo tipo) TExpr_documento(const char* expression, TTypeexp type = _numexpr, - TDocumento* doc = NULL, TRiga_documento * row = NULL); + const TDocumento* doc = NULL, const TRiga_documento * row = NULL); // @cmember Costruttore (assegna il tipo dell'istruzione) TExpr_documento(TTypeexp type = _numexpr, - TDocumento* doc = NULL, TRiga_documento* row = NULL) + const TDocumento* doc = NULL, const TRiga_documento* row = NULL) : TExpression(type, true), _doc(doc), _row(row) {} // @cmember Costruttore di copia TExpr_documento(const TExpr_documento & expr) diff --git a/ve/velib03.cpp b/ve/velib03.cpp index 85bbed7fb..6026b96c7 100755 --- a/ve/velib03.cpp +++ b/ve/velib03.cpp @@ -2977,7 +2977,7 @@ void TDocumento::update_conai() riga.put(RDOC_CODART, s); riga.generata(); - riga.put("GENTIPO", "C"); + riga.put(RDOC_GENTIPO, 'C'); riga.put(RDOC_DESCR, sp.descrizione()); riga.put(RDOC_QTA, qta); diff --git a/ve/velib03a.cpp b/ve/velib03a.cpp index 764cba4ad..db61399da 100755 --- a/ve/velib03a.cpp +++ b/ve/velib03a.cpp @@ -488,8 +488,8 @@ bool TTipo_documento::scarica_residuo() const /////////////////////////////////////////////////////////// TExpr_documento::TExpr_documento(const char* expression, TTypeexp type, - TDocumento* doc, TRiga_documento * row) - : TExpression(type), _doc(doc), _row(row) + const TDocumento* doc, const TRiga_documento* row) + : TExpression(type), _doc(doc), _row(row) { if (!set(expression, type)) error_box("Wrong expression : '%s'", expression); @@ -556,9 +556,9 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st { case _somma: { - const TString cond(nparms == 2 ? stack.pop_string() : "STR(1)"); - const TString & field = stack.pop_string(); - real somma; + const TString cond = nparms == 2 ? stack.pop_string() : "STR(1)"; + const TString& field = stack.pop_string(); + real sum; if (_doc != NULL) { @@ -566,34 +566,32 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st const int cond_nvars = cond_expr.numvar(); TExpr_documento expr(field, _numexpr, _doc); const int nvars = expr.numvar(); - const int nrows = _doc->rows(); - for (int i = nrows; i > 0; i--) + for (int i = _doc->rows(); i > 0; i--) { - TRiga_documento & riga = (TRiga_documento &) (*_doc)[i]; - int j; + const TRiga_documento& riga = (const TRiga_documento&)(*_doc)[i]; - for (j = cond_nvars - 1; j >= 0; j--) + for (int j = cond_nvars - 1; j >= 0; j--) { const char* s = cond_expr.varname(j); - TFieldref f(s,0); + const TFieldref f(s,0); cond_expr.setvar(j, f.read(riga)); } cond_expr.set_row(&riga); - if ((bool)cond_expr) + if (cond_expr.as_bool()) { - for (j = nvars - 1; j >= 0; j--) + for (int j = nvars - 1; j >= 0; j--) { const char* s = expr.varname(j); - TFieldref f(s,0); + const TFieldref f(s,0); expr.setvar(j, f.read(riga)); } expr.set_row(&riga); - somma += expr.as_real(); + sum += expr.as_real(); } } } - stack.push(somma); + stack.push(sum); } break; case _spinc: @@ -987,7 +985,7 @@ void TExpr_documento::evaluate_user_func(int index, int nparms, TEval_stack & st break; case _nrate: { - const TPagamento & p = _doc->pagamento(); + const TPagamento& p = ((TDocumento*)_doc)->pagamento(); const real r = p.n_rate(); stack.push(r); } diff --git a/ve/velib05.cpp b/ve/velib05.cpp index 6da9d3904..58f34c145 100755 --- a/ve/velib05.cpp +++ b/ve/velib05.cpp @@ -279,7 +279,7 @@ void TDocumentoEsteso::set_riga_conai() { _conai = new TRiga_documento(this, "05"); - TString conai = ini_get_string(CONFIG_DITTA, "ve", "DESCCONAIASS", TR("Contributo CONAI assolto")); + TString conai = ini_get_string(CONFIG_DITTA, "ve", "DESCCONAIASS"); if (conai.blank()) // se la variabile e' vuota ma scritta sull ini non stampa nulla conai = TR("Contributo CONAI assolto"); _conai->put(RDOC_DESCR, conai); diff --git a/ve/velib05.h b/ve/velib05.h index 8c3ced17d..4a54e1d71 100755 --- a/ve/velib05.h +++ b/ve/velib05.h @@ -5,7 +5,8 @@ #include "velib.h" #endif -struct dec_parm { +struct dec_parm +{ int qta_lit; int qta_val; // add other groups here diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index 5d68888cd..138374c5c 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -897,9 +897,9 @@ static void search_price(TEdit_field& f, KEY key ) TPrice_sheet sheet(f); TString_array & el = sheet.rows_array(); - TRelation * rel = new TRelation(LF_DOC); - TRectype from(rel->curr()); - TRectype to(rel->curr()); + TRelation rel(LF_DOC); + TRectype from(rel.curr()); + TRectype to(rel.curr()); TDate datadoc = mask.get_date(F_DATADOC); const long codcf = mask.get_long(F_CODCF); const long numdoc = mask.get_long(F_NDOC); @@ -937,7 +937,7 @@ static void search_price(TEdit_field& f, KEY key ) } filter << ")"; - TCursor cur(rel, filter, 2, &from, &to); + TCursor cur(&rel, filter, 2, &from, &to); const int items = cur.items(); cur.freeze(); TRecord_array r(LF_RIGHEDOC, RDOC_NRIGA);