Patch level : 10.0 542

Files correlati     : ef0.exe
Ricompilazione Demo : [ ]

Emessi i record degli effetti in ordine di tipo record


git-svn-id: svn://10.65.10.50/trunk@19732 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-12-04 15:38:27 +00:00
parent 9b91c8148b
commit b23ff8cac5

View File

@ -52,7 +52,7 @@ protected:
void footer_ef(void);
void inizializza_cur(void);
void inizializza_file(void);
void record(THash_object& lavoro);
void record(const TString & chiave);
bool ok_write(void);
void aggiorna_rb(TCursor*);
void aggiorna_dist(TCursor*);
@ -267,6 +267,11 @@ void TEmissione::floppy()
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"));
@ -284,13 +289,9 @@ void TEmissione::floppy()
{
pi.addstatus(1L);
save_data_emis();
THash_object* lavoro = tracciati.get_hashobj();
//scandisco tutti i record di un effetto
for (int i = 0; lavoro != NULL; i++)
{
record(*lavoro);//emetto il record
lavoro = tracciati.get_hashobj();
}
for (int i = 0; i < items; i++)
record((const TString &)keys[i]);//emetto il record
}
footer_ef(); //chiusura flusso effetti
}
@ -411,12 +412,14 @@ bool TEmissione::test_record_type(const TString& key) const
}
//emetto un record del flusso di effetti
void TEmissione::record(THash_object& lavoro)
void TEmissione::record(const TString & chiave)
{
const TString& chiave = lavoro.key();
if (chiave !="EF" && chiave !="RB" && chiave != "IB")
TTracciato_record * lavoro = (TTracciato_record * )_trasfile->tracciati().objptr(chiave);
//scandisco tutti i record di un effetto
if (lavoro != NULL && chiave !="EF" && chiave !="RB" && chiave != "IB")
{
const TTracciato_record& oggetto = (TTracciato_record&)lavoro.obj();
const TTracciato_record& oggetto = *lavoro;
const TString& tipo = oggetto.type();
if (test_record_type(tipo))
{