diff --git a/src/ef/ef0100a.uml b/src/ef/ef0100a.uml index b7ff5789c..57eab6f3e 100755 --- a/src/ef/ef0100a.uml +++ b/src/ef/ef0100a.uml @@ -26,7 +26,8 @@ BEGIN PROMPT 30 1 "Numero " FIELD NPROGTR KEY 1 - USE LF_EFFETTI SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF)) + USE LF_EFFETTI +// SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF)) JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF INPUT NPROGTR F_NPROGTR DISPLAY "Nr.progr." NPROGTR diff --git a/src/ef/ef0101.cpp b/src/ef/ef0101.cpp index 1ed13813f..2c2232dc3 100755 --- a/src/ef/ef0101.cpp +++ b/src/ef/ef0101.cpp @@ -98,8 +98,10 @@ int TEffetto::leggi(TLocalisamfile &f, const TRectype& r, word lockop) if (err == NOERR) { // leggo dai record array _righe.read(k_reff); + _righe.pack(); _cess.read(k_cess); - } + _cess.pack(); + } else // se ho trovato un errore { head() = r; diff --git a/src/ef/ef0301.cpp b/src/ef/ef0301.cpp index 5ce5bd7d6..ed7cc4864 100755 --- a/src/ef/ef0301.cpp +++ b/src/ef/ef0301.cpp @@ -54,20 +54,20 @@ int TDistinta::read(const char tipo, const long numero, word lockop) { TISAM_recordset reff(query(tipo, numero)); TLocalisamfile& f = reff.cursor()->file(); - int i = 0; - for (bool ok = reff.move_first(); ok; ok = reff.move_next()) + int i = 0; + + for (bool ok = reff.move_first(); ok; ok = reff.move_next(), i++) { const word lock = (i == 0 && lockop == _lock) ? _lock : _nolock; // Lock solo sulla prima riga const int n = reff.get(EFF_NRIGADIST).as_int(); - TEffetto* effetto = new TEffetto; - err = effetto->read(f, tipo, numero, n, lock);//legge un effetto per chiave 4 + TEffetto effetto; + + err = effetto.read(f, tipo, numero, n, lock);//legge un effetto per chiave 4 if (err == NOERR) { - i = _righe_dist.add(effetto) + 1; - effetto->put(EFF_NRIGADIST, i); + _righe_dist.add(effetto, i); + effetto.put(EFF_NRIGADIST, i + 1); } - else - delete effetto; } } // se ho letto degli effetti della distinta ed ho diff --git a/src/ef/ef0800.cpp b/src/ef/ef0800.cpp index 0a8c0618a..992a6514d 100755 --- a/src/ef/ef0800.cpp +++ b/src/ef/ef0800.cpp @@ -35,9 +35,8 @@ #include #include "../cg/cg2101.h" -#include "../cg/cg2103.h" +#include "../cg/cglib.h" #include "../cg/cgsaldac.h" -#include "../cg/cglib02.h" #include "../ve/velib04.h" #include "ef0301.h" #include "ef0800a.h" diff --git a/src/ef/ef1100.cpp b/src/ef/ef1100.cpp index 041ec1f95..ef37cebb7 100644 --- a/src/ef/ef1100.cpp +++ b/src/ef/ef1100.cpp @@ -24,43 +24,6 @@ static XVT_SQLDB _db = NULL; // SEPA sqlite db -///////////////////////////////////////////////////////////////////////////////////// -// Utilities -///////////////////////////////////////////////////////////////////////////////////// - -// Cerca una stringa all'interno di una SLIST (Potrebbe diventare una funzione di XVT.h) -static SLIST_ELT xvt_slist_find_str(SLIST list, const char* str) -{ - SLIST_ELT e = NULL; - for (e = xvt_slist_get_first(list); e; e = xvt_slist_get_next(list, e)) - { - const char* val = xvt_slist_get(list, e, NULL); - if (xvt_str_compare_ignoring_case(str, val) == 0) - break; - } - return e; -} - -// Aggiorna il file dst se pił vecchio di src (Potrebbe diventare una funzione di XVT.h) -bool xvt_fsys_fupdate(const char* src, const char* dst) -{ - bool ok = false; - if (xvt_fsys_file_exists(src)) - { - const long tsrc = xvt_fsys_file_attr(src, XVT_FILE_ATTR_MTIME); - if (tsrc > 0) - { - long tdst = 0; - if (xvt_fsys_file_exists(dst)) - tdst = xvt_fsys_file_attr(dst, XVT_FILE_ATTR_MTIME); - if (tsrc > tdst) - ok = xvt_fsys_fcopy(src, dst) != 0; - } - } - - return ok; -} - ///////////////////////////////////////////////////////////////////////////////////// // TJava_profile ///////////////////////////////////////////////////////////////////////////////////// diff --git a/src/ef/ef1100a.uml b/src/ef/ef1100a.uml index 657ccef43..89bcd161a 100644 --- a/src/ef/ef1100a.uml +++ b/src/ef/ef1100a.uml @@ -62,7 +62,7 @@ BEGIN OUTPUT F_CAB CODTAB[6,10] OUTPUT F_PRO CODTAB[11,12] OUTPUT F_BANCA 4->S0 - + CHECTYPE NORMAL END STRING F_BANCA 50 47