diff --git a/ef/ef0500.cpp b/ef/ef0500.cpp index 80b7fd1f3..a764b7ae6 100755 --- a/ef/ef0500.cpp +++ b/ef/ef0500.cpp @@ -252,51 +252,50 @@ void TEmissione::floppy() ribaini = "riba.ini"; // utilizzo quello generico if (!ribaini.custom_path()) // se non esiste ancora! { - error_box(FR("Impossibile leggere il file %s"), (const char*)ribaini); + cantread_box(ribaini); return; } _trasfile = new TRiba_file(RIBAFILENAME, ribaini); - TTracciato_record * rb = _trasfile->t_rec("RB"); + TTracciato_record* rb = _trasfile->t_rec("RB"); if (rb != NULL) { - TTracciato_record * ib = new TTracciato_record(*rb); + TTracciato_record* ib = new TTracciato_record(*rb); ib->set_type("IB"); _trasfile->tracciati().add("IB", ib); } inizializza_file(); const bool condition = ok_write(); - TString_array keys ; - - _trasfile->tracciati().get_keys(keys); - keys.sort(); - const int items = keys.items(); - - if (!condition) - error_box(TR("Impossibile scrivere sull'unita' di destinazione")); - else + if (condition) { const TRecnotype n_eff = _cur->items(); if (n_eff > 0) { - TProgind pi(n_eff,TR("Emissione Ri.Ba. su file..."),FALSE,TRUE); + TString_array keys ; + _trasfile->tracciati().get_keys(keys); + keys.sort(); + + TProgind pi(n_eff, TR("Emissione Ri.Ba. su file..."), true, true); - TAssoc_array& tracciati = _trasfile->tracciati(); header_rb();//intestazione flusso effetti //scandisco tutti gli effetti della distinta selezionata for (*_cur = 0; _cur->pos() < n_eff; ++(*_cur)) { - pi.addstatus(1L); + if (!pi.addstatus(1)) + break; save_data_emis(); //scandisco tutti i record di un effetto - for (int i = 0; i < items; i++) - record((const TString &)keys[i]);//emetto il record + FOR_EACH_ARRAY_ROW(keys, i, rec) + record(*rec);//emetto il record } footer_ef(); //chiusura flusso effetti } - message_box("Effetti emessi: %d", n_eff); + message_box(FR("Effetti emessi: %d"), n_eff); } + else + error_box(TR("Impossibile scrivere sull'unita' di destinazione")); + _trasfile->close(); delete _trasfile; _trasfile = NULL;