From 972191e949a0f3bd75990dd62880cfbc4818d520 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 19 Mar 2009 14:28:46 +0000 Subject: [PATCH] Patch level : 10.0 Files correlati : lv2.exe lv2600a.msk Ricompilazione Demo : [ ] Commento : Milgiorata selezione file da elaborare git-svn-id: svn://10.65.10.50/trunk@18565 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2600.cpp | 60 ++++++++++++++++++++++++++++++++------------------ lv/lv2600a.uml | 19 +++++++++++----- 2 files changed, 53 insertions(+), 26 deletions(-) diff --git a/lv/lv2600.cpp b/lv/lv2600.cpp index 1c2473b7e..e2243e6ef 100755 --- a/lv/lv2600.cpp +++ b/lv/lv2600.cpp @@ -26,14 +26,23 @@ bool TAcquisizione_msk::on_field_event(TOperable_field& f,TField_event e,long jo { case F_PATH: //se il campo è vuoto, provo a scriverlo dalla configurazione - if (f.empty()) + if (e == fe_init && f.empty()) { - TConfig* configlv = new TConfig(CONFIG_DITTA,"lv"); - TString path = configlv->get("PathContapezzi"); + const TString& path = ini_get_string(CONFIG_DITTA, "lv", "PathContapezzi"); if (path.full()) f.set(path); } break; + case F_S_NAME: + if (e == fe_modify) + { + TFilename n = f.get(); + if (sfield(F_SHEET_NAME).items() == 1) + set(F_PATH, n.path()); + if (n.starts_with(get(F_PATH), true)) + f.set(n.name()); + } + break; default: break; } @@ -171,11 +180,11 @@ void TAcquisizione_lavanderie_app::elabora_file(const TString& file, bool new_fi continue; TDate datadoc; - long codcf; + long codcf = 0; TString80 codart; long qta; long rotti; - long ndoc; + long ndoc = 0; TString16 tipo_conteggio; TString80 operatore; @@ -183,19 +192,23 @@ void TAcquisizione_lavanderie_app::elabora_file(const TString& file, bool new_fi if (riga.len() == 34) // -> MONTANARI { //leggo i campi dalla riga del file - datadoc.set_day(atoi(riga.mid(0,2))); - datadoc.set_month(atoi(riga.mid(2,2))); - datadoc.set_year(atoi(riga.mid(4,4))); - - codcf = atol(riga.mid(8,6)); - codart = riga.mid(14,8); - qta = atol(riga.mid(22,6)); - rotti = atol(riga.mid(28,6)); + const int d = atoi(riga.mid(0,2)); + const int m = atoi(riga.mid(2,2)); + const int y = atoi(riga.mid(4,4)); + if (d > 0 && d <= 31 && m > 0 && m <= 12 && y > 2000) + { + datadoc = TDate(d, m, y); + codcf = atol(riga.mid(8,6)); + codart = riga.mid(14,8); + qta = atol(riga.mid(22,6)); + rotti = atol(riga.mid(28,6)); + } + else + continue; } else if (riga.len() == 121) // ->SKEMA { //leggo i campi dalla riga del file - TDate datadoc; datadoc.set_year(atoi(riga.mid(0,4))); datadoc.set_month(atoi(riga.mid(4,2))); datadoc.set_day(atoi(riga.mid(6,2))); @@ -262,7 +275,7 @@ void TAcquisizione_lavanderie_app::elabora_file(const TString& file, bool new_fi } } - if (found == false) + if (!found) { const TRectype& anamag = cache().get(LF_ANAMAG, codart); @@ -296,16 +309,21 @@ bool TAcquisizione_lavanderie_app::transfer() { if(row1->full()) { - file = path; - file.add(*row1); + if (row1->find('/') >= 0 || row1->find('\\') >= 0) + file = *row1; + else + { + file = path; + file.add(*row1); + } if (file.find('*') >= 0 || file.find('?') >= 0) { - TString_array lista_file; - list_files(file, lista_file); + TString_array lista_file; + list_files(file, lista_file); - FOR_EACH_ARRAY_ROW(lista_file, r2, row2) - elabora_file(*row2, true); + FOR_EACH_ARRAY_ROW(lista_file, r2, row2) + elabora_file(*row2, true); } else elabora_file(file, true); diff --git a/lv/lv2600a.uml b/lv/lv2600a.uml index a1c94031c..fa2e1df11 100755 --- a/lv/lv2600a.uml +++ b/lv/lv2600a.uml @@ -29,7 +29,7 @@ END SPREADSHEET F_SHEET_NAME 78 10 BEGIN - PROMPT 1 5 "Nomi file" + PROMPT 1 5 "Nomi" ITEM "Nome file" END @@ -43,10 +43,13 @@ BEGIN PROMPT 1 1 "@bNome file" END -STRING F_S_NAME 68 +STRING F_S_NAME 255 66 BEGIN PROMPT 3 2 "File " + FSELECT "*.dat" + CHECKTYPE REQUIRED END + ENDPAGE TOOLBAR "" 0 0 0 2 @@ -58,9 +61,15 @@ END BUTTON DLG_DELREC 2 2 BEGIN - PROMPT 2 1 "Elimina" - MESSAGE EXIT,K_DEL - PICTURE BMP_DELREC + PROMPT 2 1 "" + PICTURE TOOL_DELREC +END + +BUTTON DLG_USER 2 2 +BEGIN + PROMPT 3 1 "Cerca" + MESSAGE K_F9,F_S_NAME + PICTURE TOOL_FINDREC END BUTTON DLG_CANCEL 2 2