diff --git a/ba/ba1100.cpp b/ba/ba1100.cpp index 6636fb636..e7b96ce55 100755 --- a/ba/ba1100.cpp +++ b/ba/ba1100.cpp @@ -531,7 +531,7 @@ void TManutenzione_app::update_dir() for (int i = 2; i <= items; i++) { p.addstatus(1); - prefix().set(""); + prefix().set(""); d.get(i, _nolock, _nordir, _sysdirop); bool is_firm = d.is_firm(); TString desc(d.des()); @@ -541,10 +541,22 @@ void TManutenzione_app::update_dir() long flags = d.flags(); word len = d.len(); prefix().set(pref); + d.get(i); + if (!fexist(d.filename())) + { + if (d.eox() > 0L) + { + d.get(i, _nolock, _nordir, _sysdirop); + d.eod() = 0L; + d.eox() = 0L; + d.put(i, _nordir, _sysdirop); + } + } + else + TLocalisamfile f(i); d.get(i, _nolock, _nordir, _sysdirop); bool to_create = (is_com ? d.is_com() : d.is_firm()); - - if (flags < 0 && s != d.name()) + if (s != d.name()) { bool ok = TRUE; if (to_create) diff --git a/ba/ba1100d.uml b/ba/ba1100d.uml index 7cfbb9fee..0c02a8712 100755 --- a/ba/ba1100d.uml +++ b/ba/ba1100d.uml @@ -50,7 +50,7 @@ END SPREADSHEET F_FIELDS 0 8 BEGIN - PROMPT 0 4 "" + PROMPT 0 4 "Fields" ITEM "Nome@10" ITEM "Tipo" ITEM "Lunghezza" @@ -60,7 +60,7 @@ END SPREADSHEET F_KEYS BEGIN - PROMPT 0 13 "" + PROMPT 0 13 "Keys" ITEM "Espressione@60" ITEM "Chiavi duplicate" END diff --git a/ba/ba1102.cpp b/ba/ba1102.cpp index 23bff9b4c..3e44782c3 100755 --- a/ba/ba1102.cpp +++ b/ba/ba1102.cpp @@ -12,15 +12,14 @@ HIDDEN TRectype* __rec; HIDDEN TRelation* __rel; HIDDEN TMask* __msk; -HIDDEN int __mid; bool TEdit_file::memo_handler(TMask_field& f, KEY k) { - bool ok = TRUE; + bool ok = TRUE; if (k == K_SPACE) { - int memoidx = f.dlg() - 400; + const int memoidx = f.dlg() - 400; // recuperate memo id and god (it.: godi) int mcnt = 0; @@ -57,7 +56,7 @@ bool TEdit_file::memo_handler(TMask_field& f, KEY k) if (mm.run() == K_ENTER) { mm.autosave(__rel); - __msk->set (__mid,__rec->get(__rec->fieldname(i))); + __msk->set (f.dlg() - 1,__rec->get(__rec->fieldname(i))); } // se invece va male, l'e' istes } @@ -235,7 +234,6 @@ KEY TEdit_file::edit_record(TRectype& rec, bool readonly) m.add_button (400+(mcnt++), curpage, "Edit", 35, currow, 9, 1); __rec = &rec; __msk = &m; - __mid = nid-1; m.set_handler(400+(mcnt-1), memo_handler); break; default: