Ristrutturazione classi

git-svn-id: svn://10.65.10.50/trunk@6047 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1998-01-28 10:10:50 +00:00
parent 3fc8354997
commit d1f2b0d1ec

View File

@ -19,6 +19,7 @@
#define ID_NULLO 0
//Costanti di definizione dei tipi record
#define MOVIMENTO1 "MOVI1"
#define MOVIMENTO2 "MOVI2"
#define MOVIMENTO3 "MOVI3"
@ -59,8 +60,6 @@
#define RICLASSIFICAZIONE_DARE_SLD_MOVDETT 12
#define RICLASSIFICAZIONE_AVERE_SLD_MOVDETT 13
//Costanti di posizionamento nel record_text per VOCI
#define TIPO_VOCE_VOCI 6
#define NCA_VOCI 4
@ -76,6 +75,56 @@
#define NCOMP_SOTTOREL 3
#define NSREL_SOTTOREL 5
//Costanti tipi di ricesione
#define RICEZIONE_INTERNA 1
#define RICEZIONE_AS400 2
#define RICESIONE_USER_DEFINED 3
//Definizione dei flag
#define FLAG_COGE '1'
#define FLAG_DETT '2'
#define FLAG_MOVIMENTO '3' // così i movs sono alla fine
#define FLAG_INDICE "I"
#define FLAG_SOTTOD "S"
#define FLAG_COMPOSTA "C"
#define FLAG_ANALISI "A"
#define FLAG_VOCI "V"
#define FLAG_COGE_CG "CG"
#define FLAG_DETT_DT "DT"
#define FLAG_CLIENTE_CL "CL"
#define FLAG_FORNITORE_FO "FO"
#define FLAG_MOVIMENTO_MO "MO" // così i movs sono alla fine
//Definizioni di constanti per il record di testata
#define RECORD_TESTA "1"
#define ABILITATO "X"
#define AB_PIANO_CONTI 2
#define AB_PERIODI_BIL 3
#define AB_ANALISI 4
#define AB_SALDI 8
#define AB_DETT 9
#define AB_MOV 10
class TAlbero_record : public TAssoc_array
{
static TToken_string wrk_string;
public:
void dept_first(TToken_string key, TRectype * padre, TRectype * prec, int &curr_id, TString_array & allkeys, TToken_string ** prog_key);
TToken_string& cerca_fratello (TToken_string &key, TString_array& allkeys, TToken_string ** next_key);
TToken_string& cerca_figlio (TToken_string &key, TString_array& allkeys, TToken_string ** next_key);
TAlbero_record() {}
virtual ~TAlbero_record(){}
};
//classe derivata nella quale viene gestita la funzione di trasferimento
class TRiceTras: public TApplication
{
@ -84,18 +133,76 @@ class TRiceTras: public TApplication
protected:
TFile_text* _trasfile; //File di testo
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG) pure;//Gli dico che non è implementata in questa classe, ma obbligatoriamente in un'altra
protected:
virtual bool menu(MENU_TAG) pure; //Gli dico che non è implementata in questa classe, ma obbligatoriamente in un'altra
//Seleziona da quale file prelevare le informazioni del tracciato record
// void set_config_name(TString&,TMask&);
// void set_config_name(TString&,TMask&);
TFile_text* set_config_name(TString&,const TMask&, const TFilename&);
//Controlla che il percorso e il file specificati esistono
static bool inseriscipercorso(TMask_field& f, KEY k);
TRiceTras() {}
virtual ~TRiceTras() {}
};
class TABfile_text: public TFile_text
class TRicezione:public TRiceTras
{
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG);
virtual void set_tipo_bil(const TString&) {;}
virtual void ricevi(TMask &) ;
public:
TRicezione() {}
virtual ~TRicezione() {}
};
//Classe derivata per la ricezione
class TRicezione_AS400:public TRicezione
{
TString _tipo_bilancio;
protected:
virtual void leggi_temp_link(TRectype& cur_rec,TToken_string& k);
private:
virtual void build_balancetree(int);
virtual void build_ana_tree(long&, TRectype&, TRectype*, TRectype*, TAssoc_array&);
virtual void build_relana(TString&, const TMask&, const TFilename&);
void naviga_array(TAlbero_record &a);
void scrivi_array(TAssoc_array &s_rec, int);
protected:
virtual void set_tipo_bil(const TString&);
const TString & get_tipo_bil() const {return _tipo_bilancio;}
virtual void ricevi(TMask &);
//Questa funzione Š da usare solo in fase di debug
//void print_ana_tree(int & level, TRectype&,FILE * stream);
public:
TRicezione_AS400() {}
virtual ~TRicezione_AS400() {}
};
//Classe derivata per il trasferimento
class TTrasferimento_AS400:public TRiceTras
{
protected:
virtual bool menu(MENU_TAG);
static bool inseriscipercorso(TMask_field& f, KEY k);
//Esegue il ciclo di ricezione
void converti(int);
void trasferisci_albero(TRectype &,TRecord_text&, TAssoc_array&);
bool cerca_padre(TLocalisamfile &, TRectype &);
long my_num(TLocalisamfile&, TAssoc_array&);
bool mov_da_scrivere(TRectype &);
void formatta(TRecord_text&,TRectype&,int&);
public:
TTrasferimento_AS400() {}
virtual ~TTrasferimento_AS400() {}
};
class TFile_text_AS400: public TFile_text
{
TAssoc_array _last_id;
// static long _idcaradd;
@ -111,8 +218,8 @@ protected:
void scrivi_temp_link(TRelation& rel,const TRecord_text& rec);
void aggiorna_rel_link(TLocalisamfile &relvoc);
public:
TABfile_text(const char* file_name, const char* set_config_name);
virtual ~TABfile_text() {}
TFile_text_AS400(const char* file_name, const char* set_config_name);
virtual ~TFile_text_AS400() {}
};
// **********************
@ -145,8 +252,6 @@ public:
virtual ~TAdditional_cars() {}
};
class TAdditional_col: public TRectype
{
public:
@ -164,5 +269,6 @@ class TAdditional_cols: public TLocalisamfile
virtual ~TAdditional_cols() {}
};
#endif //_AB2100_H