cg6400.cpp Corretto errore MI 3685

cg6700.cpp     Corretto errore MI 3697
cg6700a.uml    Aggiunto titolo alla maschera
cg6900.cpp     Corretta chiusura file temporanei
cg6902.cpp     Aggiunto test del valore di ritorno di una fcopy


git-svn-id: svn://10.65.10.50/trunk@6364 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1998-03-16 13:51:30 +00:00
parent d68ee462e9
commit 69a6fa10f6
5 changed files with 109 additions and 163 deletions

View File

@ -18,7 +18,7 @@
#include "cglib04.h" #include "cglib04.h"
#include "cgsaldac.h" #include "cgsaldac.h"
class TRic_archivi : public TApplication class TRic_archivi : public TSkeleton_application
{ {
// TTable* _tab_tra; // TTable* _tab_tra;
TTransfer_file* _tras_file; TTransfer_file* _tras_file;
@ -54,8 +54,7 @@ public:
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual void main_loop();
bool main_loop();
bool leggi_marker(); bool leggi_marker();
bool leggi_marker_rep(); bool leggi_marker_rep();
void leggi_trasfer(const char* nome); void leggi_trasfer(const char* nome);
@ -82,10 +81,12 @@ _scelta(toupper(ric_trasfer)), _ric_auto(toupper(ric_auto))
{ {
if (_scelta == 'S') if (_scelta == 'S')
_titolo = "Ricezione archivi da sistema"; _titolo = "Ricezione archivi da sistema";
else
if (_scelta == 'P') {
_scelta = 'P';
_titolo = "Ricezione archivi da PC"; _titolo = "Ricezione archivi da PC";
} }
}
bool TRic_archivi::create() bool TRic_archivi::create()
{ {
@ -148,10 +149,12 @@ void TRic_archivi::componi_path(TMask* msk)
drive = msk->get(F_DRIVE); drive = msk->get(F_DRIVE);
pos = path.find(':'); pos = path.find(':');
if (drive == "A:" || drive == "B:" || drive == "D:" || drive == "E:") // Inizio cazzata - da sostituire con _disketto = ::os_is_removable_drive(drive)
if (drive == "A:" || drive == "B:")
_disketto = TRUE; _disketto = TRUE;
else else
_disketto = FALSE; _disketto = FALSE;
// Fine cazzata
if (pos) if (pos)
path = path.mid(pos+1); path = path.mid(pos+1);
@ -331,7 +334,7 @@ bool TRic_archivi::leggi_marker_rep()
return FALSE; return FALSE;
} }
bool TRic_archivi::main_loop() void TRic_archivi::main_loop()
{ {
if (_ric_auto == 'A') if (_ric_auto == 'A')
{ {
@ -365,11 +368,10 @@ bool TRic_archivi::main_loop()
{ {
if (_scelta == 'S') if (_scelta == 'S')
{ {
TMask* msk = new TMask("cg6400b"); TMask maskera("cg6400b");
KEY tasto; TMask* msk = &maskera;
tasto = msk->run();
KEY tasto = msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
componi_path(msk); componi_path(msk);
@ -382,55 +384,35 @@ bool TRic_archivi::main_loop()
if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive)) if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive))
{ {
if (!leggi_marker()) if (!leggi_marker())
{ return;
delete msk;
return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{ return;
delete msk;
return FALSE;
}
_numdisk++; _numdisk++;
} }
} }
else else
{ return;
delete msk;
return FALSE;
}
} }
else else
{ {
if (!leggi_marker()) if (!leggi_marker())
{ return;
delete msk;
return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{ return;
delete msk;
return FALSE;
}
_numdisk++; _numdisk++;
} }
else else
{ return;
delete msk;
return FALSE;
}
} }
} }
while (_numdisk <= _numtotdisk); while (_numdisk <= _numtotdisk);
@ -448,15 +430,14 @@ bool TRic_archivi::main_loop()
::remove(tabcdx); ::remove(tabcdx);
::remove(tabdbf); ::remove(tabdbf);
} }
delete msk;
} }
else else
if (_scelta == 'P') if (_scelta == 'P')
{ {
TMask* msk = new TMask("cg6400b"); TMask maskera("cg6400b");
KEY tasto; TMask* msk = &maskera;
tasto = msk->run(); KEY tasto = msk->run();
if (tasto == K_ENTER) if (tasto == K_ENTER)
{ {
@ -470,55 +451,35 @@ bool TRic_archivi::main_loop()
if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive)) if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive))
{ {
if (!leggi_marker_rep()) if (!leggi_marker_rep())
{ return;
delete msk;
return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{ return;
delete msk;
return FALSE;
}
_numdisk++; _numdisk++;
} }
} }
else else
{ return;
delete msk;
return FALSE;
}
} }
else else
{ {
if (!leggi_marker_rep()) if (!leggi_marker_rep())
{ return;
delete msk;
return FALSE;
}
if (_sequenza) if (_sequenza)
{ {
if (video_ripartenza()) if (video_ripartenza())
ripristina_trasfer(); ripristina_trasfer();
else else
{ return;
delete msk;
return FALSE;
}
_numdisk++; _numdisk++;
} }
else else
{ return;
delete msk;
return FALSE;
}
} }
} }
while (_numdisk <= _numtotdisk); while (_numdisk <= _numtotdisk);
@ -529,11 +490,8 @@ bool TRic_archivi::main_loop()
_tras_file->close(); // Chiude il trasfer letto dalla directory della ditta _tras_file->close(); // Chiude il trasfer letto dalla directory della ditta
::remove(_trasf); ::remove(_trasf);
} }
delete msk;
} }
} }
return FALSE;
} }
void TRic_archivi::leggi_trasfer(const char* nome) void TRic_archivi::leggi_trasfer(const char* nome)
@ -633,7 +591,10 @@ bool TRic_archivi::video_ripartenza()
leggi_trasfer("\\trasfer"); leggi_trasfer("\\trasfer");
_prima_volta = FALSE; _prima_volta = FALSE;
TMask* msk = new TMask("cg6400a");
TMask maskera("cg6400a");
TMask* msk = &maskera;
KEY tasto; KEY tasto;
ditta_ricevente(); ditta_ricevente();
@ -660,11 +621,10 @@ bool TRic_archivi::video_ripartenza()
msk->set(F_DATAULTRASTAB, data2); msk->set(F_DATAULTRASTAB, data2);
} }
if (_stato_ripartenza == 1 || _stato_ripartenza == 2 )
msk->set(F_STATO, "NON COMPLETO");
else
if (_stato_ripartenza == 0) if (_stato_ripartenza == 0)
msk->set(F_STATO, "COMPLETO"); msk->set(F_STATO, "COMPLETO");
else
msk->set(F_STATO, "NON COMPLETO");
if (_numdisk == 1) // Va fatto solo per il primo disco if (_numdisk == 1) // Va fatto solo per il primo disco
{ {
@ -675,37 +635,26 @@ bool TRic_archivi::video_ripartenza()
tasto = msk->run(); tasto = msk->run();
if (tasto != K_ENTER) if (tasto != K_ENTER)
{
delete msk;
return FALSE; return FALSE;
}
if (_baipassa) if (_baipassa)
{
delete msk;
return TRUE; return TRUE;
}
if (!ripartenza()) if (!ripartenza())
{
delete msk;
return FALSE; return FALSE;
}
if (_numinv > (_nultras_tab + 1)) if (_numinv > (_nultras_tab + 1))
warning_box("Trasferimento FUORI SEQUENZA: manca un trasferimento intermedio"); warning_box("Trasferimento FUORI SEQUENZA: manca un trasferimento intermedio.\n"
"Numero invio n. %d, ultimo trasferimento n. %d.", _numinv, _nultras_tab);
else else
if (_numinv < (_nultras_tab +1)) if (_numinv < (_nultras_tab +1))
warning_box("I dischetti risultano GIA' TRASFERITI"); warning_box("I dischetti risultano GIA' TRASFERITI.\n"
"Numero invio n. %d, ultimo trasferimento n. %d.", _numinv, _nultras_tab);
else else
{
delete msk;
return TRUE; return TRUE;
} }
}
while (tasto == K_ENTER); while (tasto == K_ENTER);
} }
delete msk;
} }
return TRUE; return TRUE;
@ -934,13 +883,6 @@ void TRic_archivi::aggiorna_tabella()
} }
} }
bool TRic_archivi::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return main_loop();
return FALSE;
}
int cg6400 (int argc, char* argv[]) int cg6400 (int argc, char* argv[])
{ {
char p3 = '\0'; char p3 = '\0';

View File

@ -83,7 +83,8 @@ class TRic_ListaMov : public TPrintapp
TEsercizi_contabili _ec; TEsercizi_contabili _ec;
char _ric_auto,_tipo_lista; char _ric_auto,_tipo_lista;
TString80 _pathfile, _descr_causale, _descr_conto; TFilename _pathfile;
TString _descr_causale, _descr_conto;
TString16 _causale, _registro, _numdoc, _tipodoc, _codval; TString16 _causale, _registro, _numdoc, _tipodoc, _codval;
TString16 _codpag, _codiva, _tipo_conto; TString16 _codpag, _codiva, _tipo_conto;
TString _record, _numpart, _descr_anag, _descr_pag, _tipom_cau, _codval_part, _codpag_scad,_reg; TString _record, _numpart, _descr_anag, _descr_pag, _tipom_cau, _codval_part, _codpag_scad,_reg;
@ -282,6 +283,7 @@ bool TRic_ListaMov::user_create()
_tab_pag = new TTable ("%CPG"); _tab_pag = new TTable ("%CPG");
_tab_iva = new TTable ("%IVA"); _tab_iva = new TTable ("%IVA");
_tab_ese = new TTable ("ESC"); _tab_ese = new TTable ("ESC");
_caus = new TLocalisamfile (LF_CAUSALI); _caus = new TLocalisamfile (LF_CAUSALI);
_ditte = new TLocalisamfile (LF_NDITTE); _ditte = new TLocalisamfile (LF_NDITTE);
_clifo = new TLocalisamfile (LF_CLIFO); _clifo = new TLocalisamfile (LF_CLIFO);
@ -290,6 +292,10 @@ bool TRic_ListaMov::user_create()
_rmov = new TLocalisamfile (LF_RMOV); _rmov = new TLocalisamfile (LF_RMOV);
_rmoviva = new TLocalisamfile (LF_RMOVIVA); _rmoviva = new TLocalisamfile (LF_RMOVIVA);
// _part = new TLocalisamfile (LF_PARTITE);
// _scad = new TLocalisamfile (LF_SCADENZE);
// _pagsca = new TLocalisamfile (LF_PAGSCA);
if (_ric_auto != 'A') if (_ric_auto != 'A')
{ {
TProgind* pnd = NULL; TProgind* pnd = NULL;
@ -1779,9 +1785,12 @@ void TRic_ListaMov::stampa_errori_scadenze(int riga)
bool TRic_ListaMov::record_partite(int nriga) bool TRic_ListaMov::record_partite(int nriga)
{ {
TRecnotype nrec = _tpart->recno(); bool ok = FALSE;
TIsamtempfile& part = *_tpart; for (int p = 0; p < 2 && !ok; p++)
{
TLocalisamfile* fpart = p == 0 ? _tpart : _part;
TLocalisamfile& part = *fpart;
const TRecnotype nrec = part.recno();
part.zero(); part.zero();
part.put(PART_TIPOCF, _tipocf); part.put(PART_TIPOCF, _tipocf);
part.put(PART_GRUPPO, _gruppo); part.put(PART_GRUPPO, _gruppo);
@ -1790,20 +1799,21 @@ bool TRic_ListaMov::record_partite(int nriga)
part.put(PART_ANNO, _anno); part.put(PART_ANNO, _anno);
part.put(PART_NUMPART, _numpart); part.put(PART_NUMPART, _numpart);
part.put(PART_NRIGA, nriga); part.put(PART_NRIGA, nriga);
if (part.read() == NOERR) ok = part.read() == NOERR;
{ part.readat(nrec);
_tpart->readat(nrec);
return TRUE;
} }
_tpart->readat(nrec); return ok;
return FALSE;
} }
bool TRic_ListaMov::record_scadenze(int nrigp,int nrata) bool TRic_ListaMov::record_scadenze(int nrigp,int nrata)
{ {
TRecnotype nrec = _tscad->recno(); bool ok = FALSE;
TIsamtempfile& scad = *_tscad; for (int p = 0; p < 2 && !ok; p++)
{
TLocalisamfile* fscad = p == 0 ? _tscad : _scad;
TLocalisamfile& scad = *fscad;
const TRecnotype nrec = scad.recno();
scad.zero(); scad.zero();
scad.put(SCAD_TIPOCF, _tipocf); scad.put(SCAD_TIPOCF, _tipocf);
@ -1814,14 +1824,10 @@ bool TRic_ListaMov::record_scadenze(int nrigp,int nrata)
scad.put(SCAD_NUMPART, _numpart); scad.put(SCAD_NUMPART, _numpart);
scad.put(SCAD_NRIGA, nrigp); scad.put(SCAD_NRIGA, nrigp);
scad.put(SCAD_NRATA, nrata); scad.put(SCAD_NRATA, nrata);
if (scad.read() == NOERR) ok = scad.read() == NOERR;
{ scad.readat(nrec);
_tscad->readat(nrec);
return TRUE;
} }
_tscad->readat(nrec); return ok;
return FALSE;
} }
bool TRic_ListaMov::controlla_pagsca() bool TRic_ListaMov::controlla_pagsca()
@ -1852,7 +1858,7 @@ bool TRic_ListaMov::controlla_pagsca()
pagsca.put(PAGSCA_SOTTOCONTO, _codcf); pagsca.put(PAGSCA_SOTTOCONTO, _codcf);
pagsca.put(PAGSCA_ANNO, _anno); pagsca.put(PAGSCA_ANNO, _anno);
pagsca.put(PAGSCA_NUMPART, _numpart); pagsca.put(PAGSCA_NUMPART, _numpart);
//pagsca.put(PAGSCA_NRIGA, _nriga);
TRectype recc (pagsca.curr()); TRectype recc (pagsca.curr());
for (pagsca.read(_isgteq); !pagsca.eof() ;pagsca.next()) for (pagsca.read(_isgteq); !pagsca.eof() ;pagsca.next())
{ {
@ -3068,12 +3074,6 @@ bool TRic_ListaMov::user_destroy()
delete _trmov; delete _trmov;
if (_is_iva) if (_is_iva)
delete _tiva; delete _tiva;
/* if (_is_salda)
{
delete _tpart;
delete _tscad;
delete _tpagsca;
} */
delete _caus; delete _caus;
delete _ditte; delete _ditte;
delete _clifo; delete _clifo;
@ -3081,14 +3081,15 @@ bool TRic_ListaMov::user_destroy()
delete _mov; delete _mov;
delete _rmov; delete _rmov;
delete _rmoviva; delete _rmoviva;
/* delete _part; delete _part;
delete _scad; delete _scad;
delete _pagsca; */ delete _pagsca;
delete _tab_tra;
delete _tab_pag; delete _tab_pag;
delete _tab_tpd; delete _tab_tpd;
delete _tab_iva; delete _tab_iva;
delete _tab_ese; delete _tab_ese;
delete _tab_tra;
return TRUE; return TRUE;
} }
@ -3097,13 +3098,14 @@ void TRic_ListaMov::chiudi_file_SC()
{ {
if (_is_salda) if (_is_salda)
{ {
delete _relSC; delete _relSC; _relSC = NULL;
delete _tpart; delete _tpart; _tpart = NULL;
delete _tscad; delete _tscad; _tscad = NULL;
delete _tpagsca; delete _tpagsca; _tpagsca = NULL;
delete _part;
delete _scad; delete _part; _part = NULL;
delete _pagsca; delete _scad; _scad = NULL;
delete _pagsca; _pagsca = NULL;
} }
} }

View File

@ -1,6 +1,6 @@
#include "cg6700.h" #include "cg6700.h"
PAGE "" -1 -1 78 17 PAGE "Controllo movimenti" -1 -1 78 17
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN

View File

@ -301,6 +301,7 @@ void TInv_cont::main_loop()
_tras_file.open(_trasf,TRUE); _tras_file.open(_trasf,TRUE);
invio_contabilita_PC(); //Costruisce il trasfer nella directory comune invio_contabilita_PC(); //Costruisce il trasfer nella directory comune
chiudi_file_temp();
TMask* mask = new TMask("cg6900b"); TMask* mask = new TMask("cg6900b");
KEY k; KEY k;
@ -363,7 +364,7 @@ void TInv_cont::main_loop()
TProgind w(_dim_tot, message, TRUE, TRUE, 60); TProgind w(_dim_tot, message, TRUE, TRUE, 60);
bool continua = TRUE; bool continua = TRUE;
for (int j = 0; j < num_disk; j++) for (int j = 0; j < num_disk && continua; j++)
{ {
continua = scrivi_disco(floppy,j+1,work,i,w); continua = scrivi_disco(floppy,j+1,work,i,w);
} }
@ -383,7 +384,7 @@ void TInv_cont::main_loop()
_control_rec.overwrite(record,0); _control_rec.overwrite(record,0);
_tras_file.write_control_rec(_control_rec,1024); _tras_file.write_control_rec(_control_rec,1024);
chiudi_file_temp(); // chiudi_file_temp();
} }
else else
{ {

View File

@ -67,7 +67,8 @@ bool TInv_cont::scrivi_disco(TString& floppy, int disk, const char* work,
path_t << floppy << "\\trasfer"; path_t << floppy << "\\trasfer";
} }
fcopy(_marker,path_m); // Copia il marker su disco if (!fcopy(_marker,path_m)) // Copia il marker su disco
return FALSE;
FILE* o = fopen(path_t, "wb"); FILE* o = fopen(path_t, "wb");