From 4cf15392f8507832b8e8fba333d47f344c9d8af4 Mon Sep 17 00:00:00 2001 From: mtollari Date: Tue, 13 Sep 2016 13:37:38 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2012.?= =?UTF-8?q?0=20no=20patch=20Files=20correlati=20=20=20=20=20:=20Commento?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20:=20formed.cpp:=20-=20Elimi?= =?UTF-8?q?nata=20constante=201.0=20sostituita=20con=20UNO=20fraction.h:?= =?UTF-8?q?=20-=20Sistemati=20gli=20operator=20di=20confronto=20real.h:=20?= =?UTF-8?q?-=20Aggiunti=20inline=20operator=20di=20confronto=20anche=20per?= =?UTF-8?q?=20i=20longdouble=20real.cpp:=20-=20Calcolata=20una=20differenz?= =?UTF-8?q?a=20in=20TDistrib::get=20per=20risolvere=20un=20ambiguit=C3=A0?= =?UTF-8?q?=20sugli=20operator=20report.h=20&=20reputils.h:=20-=20Spostati?= =?UTF-8?q?=20i=20TProgram=5Freport=20da=20report.h=20a=20reputils.h=20rep?= =?UTF-8?q?ort.cpp:=20-=20Costruito=20real=20da=20numero=20999999999L=20pe?= =?UTF-8?q?r=20ovviare=20ambiguit=C3=A0=20sull'operator=20di=20confronto?= =?UTF-8?q?=20strings.h:=20-=20Aggiunte=20serie=20di=20funzioni=20get=20de?= =?UTF-8?q?l=20token=20successivo=20per=20TToken=5Fstring=20tokens.h:=20-?= =?UTF-8?q?=20Aggiunte=20alcune=20keywords=20per=20le=20maschere?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/branches/R_10_00@23276 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/include/formed.cpp | 2 +- src/include/fraction.h | 44 +++++++++++++++++++++--------------------- src/include/real.cpp | 8 ++++++-- src/include/real.h | 13 +++++++++++++ src/include/report.cpp | 2 +- src/include/report.h | 13 ------------- src/include/reputils.h | 21 ++++++++++++++++---- src/include/strings.h | 15 +++++++++++++- src/include/tokens.h | 4 ++++ 9 files changed, 78 insertions(+), 44 deletions(-) diff --git a/src/include/formed.cpp b/src/include/formed.cpp index 35225bf82..8387d5691 100755 --- a/src/include/formed.cpp +++ b/src/include/formed.cpp @@ -707,7 +707,7 @@ bool TPrint_section::repos_fields(const char* name, int size) { TForm_item& fi = sec->field(i); short value = fi.x(); - if (value > 0 && (prm.ratio != 1.0)) + if (value > 0 && (prm.ratio != UNO)) { real x_pos; x_pos = value * prm.ratio; diff --git a/src/include/fraction.h b/src/include/fraction.h index d869193f6..9dbdcc651 100755 --- a/src/include/fraction.h +++ b/src/include/fraction.h @@ -68,7 +68,7 @@ public: // @cmember Costruttore fraction(); // @cmember Costruttore - fraction(const real &num, const real& den); + fraction(const real &num, const real& den = UNO); fraction(__int64 num, __int64 den = 1) : _num(num), _den(den) { simplify(); } // @cmember Costruttore fraction(const fraction& b) ; @@ -95,35 +95,35 @@ bool operator ==(const fraction& a, const fraction& b) ; bool operator !=(const fraction& a, const fraction& b) ; // Valanga apparentemente inutile: aggiungere solo cio' che serve veramente! -inline fraction operator +(const real& a, const fraction& b) { return ::operator +((fraction)a, b);} +inline fraction operator +(const real& a, const fraction& b) { return ::operator +(fraction(a), b);} inline fraction operator +(const fraction& a, const real& b) { return ::operator +(b, a);} -inline fraction operator +(const fraction& a, __int64 b) { return ::operator +(a, (fraction)b);} +inline fraction operator +(const fraction& a, __int64 b) { return ::operator +(a, fraction(b));} inline fraction operator +(__int64 a, const fraction& b) { return ::operator +(b, a);} -inline fraction operator -(const real& a, const fraction& b) { return ::operator -((fraction)a, b);} -inline fraction operator -(const fraction& a, const real& b) { return ::operator -(a, (fraction)b);} -inline fraction operator -(const fraction& a, __int64 b) { return ::operator -(a, (fraction)b);} -inline fraction operator -(__int64 a, const fraction& b) { return ::operator -((fraction)a, b);} -inline fraction operator *(const real& a, const fraction& b) { return ::operator *((fraction)a, b);} +inline fraction operator -(const real& a, const fraction& b) { return ::operator -(fraction(a), b);} +inline fraction operator -(const fraction& a, const real& b) { return ::operator -(a, fraction(b));} +inline fraction operator -(const fraction& a, __int64 b) { return ::operator -(a, fraction(b));} +inline fraction operator -(__int64 a, const fraction& b) { return ::operator -(fraction(a), b);} +inline fraction operator *(const real& a, const fraction& b) { return ::operator *(fraction(a), b);} inline fraction operator *(const fraction& a, const real& b) { return ::operator *(b, a);} fraction operator *(const fraction& a, __int64 b); inline fraction operator *(__int64 a, const fraction& b) { return ::operator *(b, a);} -inline fraction operator /(const real& a, const fraction& b) { return ::operator /((fraction)a, b);} -inline fraction operator /(const fraction& a, const real& b) { return ::operator /(a, (fraction)b);} +inline fraction operator /(const real& a, const fraction& b) { return ::operator /(fraction(a), b);} +inline fraction operator /(const fraction& a, const real& b) { return ::operator /(a, fraction(b));} fraction operator /(const fraction& a, __int64 b); fraction operator /(__int64 a, const fraction& b); -inline bool operator <(const real& a, const fraction& b) { return ::operator < (a, (real)b);} -inline bool operator <(const fraction& a, const real& b) { return ::operator <((real) a, b);} -inline bool operator >(const real& a, const fraction& b) { return ::operator > (a, (real)b);}; -inline bool operator >(const fraction& a, const real& b) { return ::operator >((real) a, b);} -inline bool operator <=(const real& a, const fraction& b) { return ::operator <= (a, (real)b);} -inline bool operator <=(const fraction& a, const real& b) { return operator <=((real) a, b);} -inline bool operator >=(const real& a, const fraction& b) { return operator >=(a, (real) b);} -inline bool operator >=(const fraction& a, const real& b) { return operator >=((real) a, b);} -inline bool operator ==(const real& a, const fraction& b) { return operator ==(a, (real) b);} -inline bool operator ==(const fraction& a, const real& b) { return operator ==((real) a, b);} -inline bool operator !=(const real& a, const fraction& b) { return operator !=(a, (real) b);} -inline bool operator !=(const fraction& a, const real& b) { return operator !=((real) a, b);} +inline bool operator <(const real& a, const fraction& b) { return ::operator < (fraction(a), b);} +inline bool operator <(const fraction& a, const real& b) { return ::operator > (fraction(b), a);} +inline bool operator >(const real& a, const fraction& b) { return ::operator > (fraction(a), b);} +inline bool operator >(const fraction& a, const real& b) { return ::operator < (fraction(b), a);} +inline bool operator <=(const real& a, const fraction& b) { return ::operator <= (fraction(a), b);} +inline bool operator <=(const fraction& a, const real& b) { return ::operator >= (fraction(b), a);} +inline bool operator >=(const real& a, const fraction& b) { return ::operator >= (fraction(a), b);} +inline bool operator >=(const fraction& a, const real& b) { return ::operator <= (fraction(b), a);} +inline bool operator ==(const real& a, const fraction& b) { return ::operator == (fraction(a), b);} +inline bool operator ==(const fraction& a, const real& b) { return ::operator == (fraction(b), a);} +inline bool operator !=(const real& a, const fraction& b) { return ::operator != (fraction(a), b);} +inline bool operator !=(const fraction& a, const real& b) { return ::operator != (fraction(b), a);} void swap(fraction& a, fraction& b) ; diff --git a/src/include/real.cpp b/src/include/real.cpp index 517bb8a52..ef214a79f 100755 --- a/src/include/real.cpp +++ b/src/include/real.cpp @@ -1652,9 +1652,13 @@ real TDistrib::get () CHECK (_current < _slices.items(), "TDistrib: too many gets"); real r = _tot * ((real &) _slices[_current++]); r.round (_decs); - if (r > _tot - _prog) + + const real _diff = _tot - _prog; + + if (r > _diff) { - r = _tot - _prog; _prog = _tot; + r = _diff; + _prog = _tot; } else _prog += r; diff --git a/src/include/real.h b/src/include/real.h index 179b02e6a..b9badb616 100755 --- a/src/include/real.h +++ b/src/include/real.h @@ -133,6 +133,19 @@ public: inline long double fnc_min(long double a, long double b){ return a < b ? a : b; } inline long double fnc_max(long double a, long double b) { return a > b ? a : b; } +inline bool operator <(const real& a, const real& b) {return (double)a < (double)b;} +inline bool operator <(double a, const real& b) {return a < (double)b;} +inline bool operator >(const real& a, const real& b) {return (double)a > (double)b;} +inline bool operator >(double a, const real& b) {return a > (double)b;} +inline bool operator <=(const real& a, const real& b) {return (double)a <= (double)b;} +inline bool operator <=(double a, const real& b) {return a <= (double)b;} +inline bool operator >=(const real& a, const real& b) {return (double)a >= (double)b;} +inline bool operator >=(double a, const real& b) {return a >= (double)b;} +inline bool operator ==(const real& a, const real& b) {return (double)a == (double)b;} +inline bool operator ==(double a, const real& b) {return a == (double)b;} +inline bool operator !=(const real& a, const real& b) {return (double)a != (double)b;} +inline bool operator !=(double a, const real& b) {return a != (double)b;} + long double operator%(const real& a, const real& b); void swap(real& a, real& b) ; long double sqr(long double) ; diff --git a/src/include/report.cpp b/src/include/report.cpp index d1c9f73ad..97421ca61 100755 --- a/src/include/report.cpp +++ b/src/include/report.cpp @@ -2795,7 +2795,7 @@ void TReport::report2mask(TMask & m) const { case CLASS_CURRENCY_FIELD: case CLASS_REAL_FIELD: - if (var.as_real() == 999999999L) + if (var.as_real() == real(999999999L)) var.set_null(); break; case CLASS_DATE_FIELD: diff --git a/src/include/report.h b/src/include/report.h index cc12b56cb..334a4d77a 100755 --- a/src/include/report.h +++ b/src/include/report.h @@ -674,17 +674,4 @@ public: virtual ~TReport(); }; -/////////////////////////////////////////////////////////// -// Report senza maschera -/////////////////////////////////////////////////////////// - -class TProgram_report : public TReport -{ -protected: - virtual bool use_mask() { return false; } - -public: - TProgram_report() {} -}; - #endif diff --git a/src/include/reputils.h b/src/include/reputils.h index f1ed22220..ccc56f067 100755 --- a/src/include/reputils.h +++ b/src/include/reputils.h @@ -6,8 +6,8 @@ #endif /////////////////////////////////////////////////////////// -// TAS400_report -// Report dinamico per visualizzare file di testo AS400 +// TAS400_report // +// Report dinamico per visualizzare file di testo AS400 // /////////////////////////////////////////////////////////// class TAS400_report : public TReport @@ -27,8 +27,8 @@ public: }; /////////////////////////////////////////////////////////// -// TLog_report -// Report per visualizzare file di log +// TLog_report // +// Report per visualizzare file di log // /////////////////////////////////////////////////////////// class TLog_report : public TReport @@ -56,4 +56,17 @@ public: TLog_report(const char* title = "", const char* name = "bagn010a"); }; +/////////////////////////////////////////////////////////// +// Report senza maschera // +/////////////////////////////////////////////////////////// + +class TProgram_report : public TReport +{ +protected: + virtual bool use_mask() { return false; } + +public: + TProgram_report() {} +}; + #endif diff --git a/src/include/strings.h b/src/include/strings.h index 34e97f238..47fa0d0ca 100755 --- a/src/include/strings.h +++ b/src/include/strings.h @@ -642,7 +642,20 @@ public: bool get(int n, real& tok) const; // @cmember Ritorna l'ennesima data bool get(int n, TDate& tok) const; - + + // @cmember Ritorna il prossimo token + bool get(TString& tok) const { return get(-1, tok);} + // @cmember Ritorna il prossimo char + bool get(char& tok) const { return get(-1, tok);} + // @cmember Ritorna il prossimo int + bool get(int& tok) const { return get(-1, tok);} + // @cmember Ritorna il prossimo long + bool get(long& tok) const { return get(-1, tok);} + // @cmember Ritorna il prossimo real + bool get(real& tok) const { return get(-1, tok);} + // @cmember Ritorna il prossimo data + bool get(TDate& tok) const { return get(-1, tok);} + // @cmember Ritorna la posizione dell'item s int get_pos(const char* s); // @cmember Ritorna la posizione dell'item s diff --git a/src/include/tokens.h b/src/include/tokens.h index 846aa1068..c01af24ac 100755 --- a/src/include/tokens.h +++ b/src/include/tokens.h @@ -8,6 +8,7 @@ #define BROWSEFILE BR #define BUTTON BU #define CHECKTYPE CH +#define CLIENT CL #define COPY CO #define DATE DA #define DISPLAY DI @@ -37,13 +38,16 @@ #define PAGE PA #define PICTURE PI #define PROMPT PR +#define PROPERTY PR #define RADIOBUTTON RA #define RUN RU #define SEARCH SE #define SELECT SE +#define SLIDER SL #define STRING ST #define SHEET SH #define TEXT TE +#define TREELIST TL #define TREE TR #define USE US #define VALIDATE VA