Files correlati : Ricompilazione Demo : [ ] Commento :eliminato quell'aborto di ve7; trasformato in ps0077 tanto per non perdere i programmi git-svn-id: svn://10.65.10.50/trunk@18345 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			174 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			174 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
#ifndef __VE7700_H
 | 
						|
#define __VE7700_H
 | 
						|
 | 
						|
#ifndef __CONFIG_H
 | 
						|
#include <config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __DICTION_H
 | 
						|
#include <diction.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __ISAM_H
 | 
						|
#include <isam.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __ODBCRECSET_H
 | 
						|
#include <odbcrset.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef __PROGIND_H
 | 
						|
class TProgind;
 | 
						|
#endif
 | 
						|
 | 
						|
class TGalileo_log;
 | 
						|
class TCache_tp;
 | 
						|
 | 
						|
class TGalileo_transfer : public TObject
 | 
						|
{
 | 
						|
  TString _query_header;
 | 
						|
  TGalileo_log* _log;
 | 
						|
  TConfig _config;
 | 
						|
  
 | 
						|
  TRecordset* _recset;
 | 
						|
  bool _write_enabled;
 | 
						|
  TODBC_recordset* _outset;
 | 
						|
  TCache_tp* _tab;
 | 
						|
 | 
						|
protected:
 | 
						|
  const TString& build_insert_query(const char* table, const char* f, const char* v) const;
 | 
						|
 | 
						|
  TRecordset& create_recordset(const char* query);
 | 
						|
  long odbc_exec(const char* command);
 | 
						|
 | 
						|
  const TString& decode_value(const char* tab, const TString& field_value);
 | 
						|
  const TString& decode_field(const char* tab, const char* recset_field);
 | 
						|
 | 
						|
  TGalileo_transfer();
 | 
						|
  virtual bool trasferisci() pure;
 | 
						|
 | 
						|
public:
 | 
						|
  void init(const char* rh, const char* qh, TGalileo_log* log);
 | 
						|
  const TString& title() const;
 | 
						|
  TConfig& config() { return _config; }
 | 
						|
  const TString& query_header() const { return _query_header; }
 | 
						|
 | 
						|
  void log(const char* msg, int sev = 0) const;
 | 
						|
  bool log_error(const char* msg);
 | 
						|
  bool log_cancelled();
 | 
						|
  const TRecordset& recordset() const;
 | 
						|
  TRecordset& recordset();
 | 
						|
 | 
						|
  const TString& get_str(const char* campo) const;       // Get string from current recordset
 | 
						|
  const TString& get_real_str(const char* campo) const;  // Get eventually empty string from numeric field
 | 
						|
  long get_long(const char* campo) const; 
 | 
						|
 | 
						|
  bool write_enabled() const { return _write_enabled; }
 | 
						|
  
 | 
						|
  bool test_write(TIsamfile& file, bool re = false);
 | 
						|
  bool test_rewrite(TIsamfile& file) { return test_write(file, true); }
 | 
						|
 | 
						|
  virtual ~TGalileo_transfer();
 | 
						|
};
 | 
						|
 | 
						|
// Classe candidata alla libreria
 | 
						|
class TGalileo_iterator
 | 
						|
{
 | 
						|
  TGalileo_transfer* _pt;
 | 
						|
  TProgind* _pi;
 | 
						|
  TRecnotype _rec;
 | 
						|
 | 
						|
public:
 | 
						|
  bool ok() const;
 | 
						|
  bool cancelled() const;
 | 
						|
  TGalileo_iterator& operator=(TRecnotype n);
 | 
						|
  TGalileo_iterator& operator++();
 | 
						|
  operator int() const { return ok(); }
 | 
						|
 | 
						|
  TGalileo_iterator(TGalileo_transfer* pt);
 | 
						|
  ~TGalileo_iterator();
 | 
						|
};
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
// Cache generica per il trasferimento DDT di Pack
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
class TCache_tp : public TCache
 | 
						|
{
 | 
						|
  TGalileo_transfer* _pt;
 | 
						|
 | 
						|
protected:
 | 
						|
  void log(const char* msg, int sev) const { _pt->log(msg, sev); }
 | 
						|
  bool test_write(TIsamfile& file) const { return _pt->test_write(file); }
 | 
						|
  const TRecordset& recordset() const { return _pt->recordset(); }
 | 
						|
  TConfig& config() const { return _pt->config(); }
 | 
						|
  const TString& query_header() const { return _pt->query_header(); }
 | 
						|
 | 
						|
public:
 | 
						|
  const TString& get_str(const char* campo) const { return _pt->get_str(campo); }
 | 
						|
  const TString& get_real_str(const char* campo) const { return _pt->get_real_str(campo); }
 | 
						|
  long get_long(const char* campo) const { return _pt->get_long(campo); }
 | 
						|
  virtual const TString& decode(const TToken_string& tokens) pure;
 | 
						|
 | 
						|
  TCache_tp(TGalileo_transfer* pt) : _pt(pt) {}
 | 
						|
};
 | 
						|
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
// Trasferimenti veri e propri
 | 
						|
///////////////////////////////////////////////////////////
 | 
						|
 | 
						|
class TGalileo_clifo : public TGalileo_transfer
 | 
						|
{
 | 
						|
	TDate _data;
 | 
						|
	TFilename _path;
 | 
						|
	TAssoc_array _keys;
 | 
						|
 | 
						|
protected:
 | 
						|
  int cancella_clifo(TLocalisamfile& clifo) const;
 | 
						|
  long get_next_key(const char tipocf) const;
 | 
						|
	long get_codcf(const char tipocf, const char* ricalt) const;
 | 
						|
  bool aggiorna_record(TIsamfile& file, const TString_array& lista_campi);
 | 
						|
 | 
						|
public:
 | 
						|
  virtual bool trasferisci();
 | 
						|
  virtual bool dump();
 | 
						|
  void set_data_limite(const TDate& data) { _data = data; }
 | 
						|
  void set_path(const TString& path) { _path = path; }
 | 
						|
	const TAssoc_array & keys() const { return _keys;}
 | 
						|
  TGalileo_clifo();
 | 
						|
  ~TGalileo_clifo();
 | 
						|
};
 | 
						|
 | 
						|
class TGalileo_articoli : public TGalileo_transfer
 | 
						|
{
 | 
						|
	TDate _data;
 | 
						|
	TFilename _path;
 | 
						|
	TAssoc_array _keys_articoli;
 | 
						|
	TAssoc_array _keys_umart;
 | 
						|
	long _ditta ;
 | 
						|
	TString _cms, _can;
 | 
						|
 | 
						|
 | 
						|
protected:
 | 
						|
  int cancella_articolo(TLocalisamfile& clifo) const;
 | 
						|
  bool aggiorna_record(TIsamfile& file, const TString_array& lista_campi);
 | 
						|
 | 
						|
public:
 | 
						|
  virtual bool trasferisci();
 | 
						|
  virtual bool trasferisci_costi(const TString & ditta, const TString & cms, const TString & can);
 | 
						|
  virtual bool dump();
 | 
						|
	const TAssoc_array & keys_articoli() const { return _keys_articoli;}
 | 
						|
	const TAssoc_array & keys_umart() const { return _keys_umart;}
 | 
						|
  void set_data_limite(const TDate& data) { _data = data; }
 | 
						|
  void set_path(const TString& path) { _path = path; }
 | 
						|
  TGalileo_articoli();
 | 
						|
  ~TGalileo_articoli();
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
class TCache_art;
 | 
						|
class TCache_umart;
 | 
						|
class TDocumento;
 | 
						|
 | 
						|
#endif
 |