109 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <printapp.h>
 | |
| #include <incstr.h>
 | |
| #include <mask.h>
 | |
| #include <lffiles.h>
 | |
| #include <stdio.h>
 | |
| #include <urldefid.h>
 | |
| #include <tabutil.h>
 | |
| #include <utility.h> 
 | |
| 
 | |
| #include "ba6100a.h"
 | |
| #include "ba6100b.h"
 | |
| 
 | |
| #define M_SET_PRINTER MENU_FILE + 1100
 | |
| #define M_PRINT MENU_FILE + 1101
 | |
| #define MENU_TYPE MENU_FILE + 1102
 | |
| 
 | |
| enum pt { undefined = 0, elenco = 1, schede = 2, rubriche = 3, etichette = 4 };
 | |
| enum pw { anafis = 0, anagiu = 1, nditte = 2 };
 | |
| enum in { residenza = 1, domfisc = 2, corrispondenza = 3 }; 
 | |
| 
 | |
| bool mask_reset_fields(TMask_field& mf, KEY k);
 | |
| 
 | |
| class TAnaprint_app : public TPrintapp
 | |
| {
 | |
|   friend bool mask_reset_fields(TMask_field& mf, KEY k);
 | |
| 
 | |
|   pt _pr_type;
 | |
|   pw _pr_what;
 | |
|   TRelation* _rel_fis;
 | |
|   TRelation* _rel_giu;
 | |
|   TRelation* _rel_dit;
 | |
|   int _cfis1, _cgiu1, _cdit1;
 | |
|   int _cfis2, _cgiu2, _cdit2;
 | |
|   int _sort;
 | |
|   bool _inclditte;
 | |
|   // settings etichette
 | |
|   in _ind_what;
 | |
|   int _ind_row, _ind_col, _rows_et, _cols_et;
 | |
|   int _piv_row, _piv_col, _cod_row, _cod_col;
 | |
|   bool _is_piv, _is_cod;
 | |
|   bool* _frpos;
 | |
|   TString _cod, _cofi, _name, _surname, _address, _surname_name, // questa vale solo per elenchi e rubriche, quando stampa nome e cognome per persone fisiche
 | |
|   _cap, _prov, _loc, _com, _civ, _stato, _phone;                 
 | |
|   TString16 _sex;
 | |
|   
 | |
|   int _ana_link, _dit_link;
 | |
| 
 | |
|   // BOOKMARKS per schede
 | |
|   int _bk_ditta, _bk_ana, _bk_socio, _bk_attiv, _bk_registro, _bk_unloc;
 | |
| 
 | |
| protected:
 | |
| 
 | |
|   virtual void set_page(int file, int cnt);
 | |
|   virtual bool preprocess_page(int file, int counter);
 | |
|   virtual print_action postprocess_page(int file, int counter);
 | |
|   virtual bool user_create();
 | |
|   virtual bool user_destroy();
 | |
|   virtual bool set_print(int n);
 | |
|   virtual bool process_link(int id, const char* txt);
 | |
|   
 | |
| public:
 | |
| 
 | |
| 
 | |
|   int cfis() { return _sort == 1 ? _cfis1 : _cfis2; }
 | |
|   int cgiu() { return _sort == 1 ? _cgiu1 : _cgiu2; }
 | |
|   int cdit() { return _sort == 1 ? _cdit1 : _cdit2; }
 | |
| 
 | |
|   const TRectype& look_com(const char* cod, const char* sta = NULL);
 | |
|   const char* look_tab(const char* tabname, const char* cod, 
 | |
|                        const char* fld = "S0");
 | |
| 
 | |
|   // bel casino, le schede
 | |
|   void set_scheda_anagiu();
 | |
|   void set_scheda_anafis();
 | |
|   void set_scheda_ditta();
 | |
|   void set_scheda_attiv();
 | |
|   void set_scheda_registro();
 | |
|   void set_scheda_unloc();
 | |
|   void set_scheda_socio();
 | |
|   void preprocess_etichette();
 | |
|   void set_rubriche();
 | |
|   void set_elenco();
 | |
|   void set_schede();
 | |
|   void set_etichette();
 | |
|   void set_headers();
 | |
|   void set_footers();
 | |
| 
 | |
|   const char* get_field(int ln, const char* fn)
 | |
|   { return current_cursor()->curr(ln).get(fn); }
 | |
| 
 | |
|   void init_print();
 | |
| 
 | |
|   TAnaprint_app() : TPrintapp(), _cod(5), _cofi(30), _name(20), _surname(30), 
 | |
|   _address(50), _cap(10), _prov(2), _com(50), _civ(5), 
 | |
|   _stato(40),   _phone(30)
 | |
| 
 | |
|   { 
 | |
|     _rel_fis = _rel_giu = _rel_dit = NULL; 
 | |
|     _pr_type = undefined; _pr_what = anafis; 
 | |
|     _inclditte = FALSE;
 | |
|     _ind_what = residenza;
 | |
|     _rows_et = 9; _cols_et = 40;
 | |
|     _is_piv = TRUE; _is_cod = FALSE;
 | |
|     _piv_row = 7; _cod_row = 8; _ind_row = 3;
 | |
|     _piv_col = _ind_col = 3; _cod_col = 30;
 | |
|     _frpos = NULL;
 | |
|   }
 | |
| };
 |