104 lines
2.8 KiB
C++
Executable File
104 lines
2.8 KiB
C++
Executable File
#include <printapp.h>
|
|
#include <iostream.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 BA6100_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;
|
|
TLocalisamfile* _comuni;
|
|
// 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,
|
|
_cap, _prov, _com, _civ, _stato, _phone;
|
|
|
|
int _ana_link, _dit_link;
|
|
|
|
protected:
|
|
|
|
virtual void set_page(int file, int cnt);
|
|
virtual bool preprocess_page(int file, int counter);
|
|
virtual void user_create();
|
|
virtual void user_destroy();
|
|
virtual bool set_print(int n);
|
|
virtual void 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; }
|
|
|
|
TRectype& look_com(const char* cod);
|
|
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();
|
|
|
|
const char* get_field(int ln, const char* fn)
|
|
{ return current_cursor()->curr(ln).get(fn); }
|
|
|
|
void init_print();
|
|
|
|
BA6100_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 = 2; _ind_row = 3;
|
|
_piv_col = _ind_col = 3; _cod_col = 6;
|
|
_frpos = NULL;
|
|
}
|
|
};
|