From eef0f50876b4c77c957e326e901a620200549c77 Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Tue, 3 Sep 2024 23:59:11 +0200 Subject: [PATCH] Patch level : 12.00 1348 Files correlati : ve0.exe ve0100o.msk Commento: Trasformazione clienti occasionali in normali --- src/include/about.cpp | 4 +++- src/include/mask.h | 10 +++++----- src/include/progind.h | 6 +++--- src/include/relation.h | 9 +++++++++ src/include/varmask.cpp | 24 ++++++++++++++++++++++++ src/include/varmask.h | 28 ++++++++++++++++++---------- 6 files changed, 62 insertions(+), 19 deletions(-) diff --git a/src/include/about.cpp b/src/include/about.cpp index 9b5ca503d..0c4600fda 100755 --- a/src/include/about.cpp +++ b/src/include/about.cpp @@ -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); diff --git a/src/include/mask.h b/src/include/mask.h index bb9771ba2..a4bfb941e 100755 --- a/src/include/mask.h +++ b/src/include/mask.h @@ -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

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 ? diff --git a/src/include/progind.h b/src/include/progind.h index 693166cd3..c455b9314 100755 --- a/src/include/progind.h +++ b/src/include/progind.h @@ -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(); }; diff --git a/src/include/relation.h b/src/include/relation.h index ebc34c8cc..0dc7fe354 100755 --- a/src/include/relation.h +++ b/src/include/relation.h @@ -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( ); } diff --git a/src/include/varmask.cpp b/src/include/varmask.cpp index 8d6c6679b..e706eee54 100755 --- a/src/include/varmask.cpp +++ b/src/include/varmask.cpp @@ -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 ) ) diff --git a/src/include/varmask.h b/src/include/varmask.h index 18a60afbb..a1ed26ad8 100755 --- a/src/include/varmask.h +++ b/src/include/varmask.h @@ -24,21 +24,29 @@ protected: public: // @cmember Esegue il check e i messaggi sul campo

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

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

- 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;