Patch level : 12.00 1348

Files correlati     : ve0.exe ve0100o.msk

Commento:

Trasformazione clienti occasionali in normali
This commit is contained in:
Alessandro Bonazzi 2024-09-03 23:59:11 +02:00
parent c04d929ab5
commit eef0f50876
6 changed files with 62 additions and 19 deletions

View File

@ -438,6 +438,8 @@ TInfo_mask::TInfo_mask() : TProperty_sheet(TR("Informazioni"))
TString prot;
const TDongleHardware dhw = dongle().hardware();
int userno = dongle().max_users();
switch (dhw)
{
case _dongle_ssanet:
@ -498,7 +500,7 @@ TInfo_mask::TInfo_mask() : TProperty_sheet(TR("Informazioni"))
Tdninst dninst;
add_prop(TR("Controllo"), dninst.assist_year());
}
add_prop(TR("Utenti"), userno);
add_cat(TR("Area dati"));
TFilename study = firm2dir(-1);
add_prop(TR("Studio"), study);

View File

@ -312,13 +312,13 @@ public:
// @cmember Setta il campo con una stringa
virtual void set(short fld_id, const char* str, byte hit=0x0);
// @cmember Setta il campo con un reale
void set(short fld_id, const real& num, byte hit=0x0);
virtual void set(short fld_id, const real& num, byte hit=0x0);
// @cmember Setta il campo con una data
void set(short fld_id, const TDate& day, byte hit=0x0);
virtual void set(short fld_id, const TDate& day, byte hit=0x0);
// @cmember Setta il campo con un valore
void set(short fld_id, long num, byte hit=0x0);
virtual void set(short fld_id, long num, byte hit=0x0);
// @cmember Setta il campo con un currency
void set(short fld_id, const TCurrency& num, byte hit=0x0);
virtual void set(short fld_id, const TCurrency& num, byte hit=0x0);
// @cmember Setta una tutti i campi che hanno come FIELD <p fld_id>
void set(const char* fld_id, const char* str, byte hit=0x0);
@ -427,7 +427,7 @@ public:
void show_default(short fld_id = 0);
// @cmember Azzera il campo
void reset(short fld_id = 0);
virtual void reset(short fld_id = 0);
// @cmember il campo è vuoto ?
bool empty(short fld_id) { return field(fld_id).empty(); }
// @cmember il campo non è vuoto ?

View File

@ -118,10 +118,10 @@ public:
// @cmember Setta lo stato della barra d'attesa
virtual bool setstatus(long l);
// @cmember Aggiorna la barra d'attesa aggiungendo l'incremento fatto dell'applicazione
bool addstatus(long l)
bool addstatus(long l = 1)
{ return setstatus(_status+l); }
// @cmember Costruttore
TProgind(long max, const char* txt = NULL, bool cancel = TRUE, bool bar = TRUE, int div = 60);
TProgind(long max, const char* txt = nullptr, bool cancel = true, bool bar = true, int div = 60);
// @cmember Distruttore
virtual ~TProgind()
{}
@ -151,7 +151,7 @@ protected:
// @access Public Member
public:
// @cmember Costruttore
TTimerind(long msec, const char* txt = NULL, bool cancel = TRUE, bool bar = TRUE, int div = 10, int interval = 1000);
TTimerind(long msec, const char* txt = nullptr, bool cancel = true, bool bar = true, int div = 10, int interval = 1000);
// @cmember Distruttore
virtual ~TTimerind();
};

View File

@ -353,6 +353,15 @@ public:
// @cmember Ritorna l'ultimo oggetto del cursor
TObject* last_item( )
{ operator =( items( ) -1 ); return &curr( ); }
// @cmember Ritorna il primo record del cursor
TRectype & first() { return (TRectype&)*first_item(); }
// @cmember Ritorna il record del cursor successivo al corrente
TRectype& succ() { return (TRectype&) *succ_item(); }
// @cmember Ritorna il record del cursor precedente al corrente
TRectype& pred() { return (TRectype&) *pred_item(); }
// @cmember Ritorna l'ultimo record del cursor
TRectype& last() { return (TRectype&) *last_item(); }
// @cmember Ritorna il numero di oggetti del cursor
long objects( ) const
{ return ((TCursor*)this)->items( ); }

View File

@ -20,6 +20,30 @@ void TVariable_mask::set(short fld_id, const char* str, byte hit)
TMask::set(fld_id, str, hit);
}
void TVariable_mask::set(short fld_id, const real& num, byte hit)
{
if (present(fld_id))
TMask::set(fld_id,num, hit);
}
void TVariable_mask::set(short fld_id, const TDate& day, byte hit)
{
if (present(fld_id))
TMask::set(fld_id, day, hit);
}
void TVariable_mask::set(short fld_id, long num, byte hit)
{
if (present(fld_id))
TMask::set(fld_id, num, hit);
}
void TVariable_mask::set(short fld_id, const TCurrency& num, byte hit)
{
if (present(fld_id))
TMask::set(fld_id, num, hit);
}
void TVariable_mask::show(short fld_id, bool on )
{
if (fld_id < 0 || present( fld_id ) )

View File

@ -24,21 +24,29 @@ protected:
public:
// @cmember Esegue il check e i messaggi sul campo <p fld_id> della maschera
virtual void check_field( short fld_id );
virtual void check_field( short fld_id ) override;
// @cmember Setta il campo con una stringa
virtual void set(short fld_id, const char* str, byte hit=0x0);
virtual void set(short fld_id, const char* str, byte hit=0x0) override;
// @cmember Setta il campo con un reale
virtual void set(short fld_id, const real& num, byte hit = 0x0) override;
// @cmember Setta il campo con una data
virtual void set(short fld_id, const TDate& day, byte hit = 0x0) override;
// @cmember Setta il campo con un valore
virtual void set(short fld_id, long num, byte hit = 0x0) override;
// @cmember Setta il campo con un currency
virtual void set(short fld_id, const TCurrency& num, byte hit = 0x0) override;
// @cmember Ritorna il contenuto del campo <p fld_id> sotto forma di stringa
virtual const TString& get(short fld_id) const;
virtual const TString& get(short fld_id) const override;
// @cmember Definisce l'handler del campo <p fld_id>
virtual void set_handler(short fld_id, CONTROL_HANDLER handler);
virtual void set_handler(short fld_id, CONTROL_HANDLER handler) override;
// @cmember Permette di mostrare/nascondere un campo
virtual void show(short fld_id = -1, bool on = TRUE);
virtual void show(short fld_id = -1, bool on = TRUE) override;
// @cmember Azzera il campo
void reset(short fld_id = 0);
virtual void reset(short fld_id = 0) override;
// @cmember Abilita/disabilita un campo
virtual void enable(short fld_id, bool on = TRUE);
virtual void enable(short fld_id, bool on = TRUE) override;
// @cmember Legge il campo da file
virtual TMask_field* parse_field(TScanner& scanner);
virtual TMask_field* parse_field(TScanner& scanner) override;
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
TVariable_mask();
// @cmember Costruttore (crea la maschera leggendo la descrizione dal file .msk)
@ -67,10 +75,10 @@ public:
void set_getmask(SPREADSHEET_GETMASK n)
{ _getmask = n; }
// @cmember Funzione eseguita dopo ogni insert
virtual void post_insert(int r);
virtual void post_insert(int r) override;
// @cmember Ritorna la maschera corrispondente alla riga corrente dello spreadsheet
virtual TMask& sheet_mask() const;
virtual TMask& sheet_mask() const override;
// @cmember Ritorna la maschera corrispondente ad una riga dello spreadsheet
virtual TMask& sheet_row_mask(int row) const;