Patch level : 10.0
Files correlati : report.alx Ricompilazione Demo : [ ] Commento : Eliminata segnalazione errata "Unknown Word: FIRM" git-svn-id: svn://10.65.10.50/trunk@19495 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a9911d9e17
commit
7fa9600147
@ -32,7 +32,7 @@ bool error_box(
|
||||
// e l'icona punto esclamativo.
|
||||
{
|
||||
buildmsg();
|
||||
xvt_dm_popup_error(msg);
|
||||
xvt_dm_post_error(msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ bool warning_box(
|
||||
// e l'icona punto di domanda.
|
||||
{
|
||||
buildmsg();
|
||||
xvt_dm_popup_warning(msg);
|
||||
xvt_dm_post_warning(msg);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ bool message_box(
|
||||
// e l'icona informazioni.
|
||||
{
|
||||
buildmsg();
|
||||
xvt_dm_popup_message(msg);
|
||||
xvt_dm_post_message(msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -76,8 +76,15 @@ const TToken_string& TRecordset::sheet_head() const
|
||||
maxlen = len;
|
||||
}
|
||||
head << '@' << max(ci._width, maxlen);
|
||||
if (ci._type == _wordfld || ci._type == _intfld || ci._type == _longfld || ci._type == _realfld)
|
||||
head << 'R';
|
||||
switch (ci._type)
|
||||
{
|
||||
case _boolfld: head << 'C'; break;
|
||||
case _wordfld:
|
||||
case _intfld:
|
||||
case _longfld:
|
||||
case _realfld: head << 'R'; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
// Creo la stringa temporanea solo ora, altrimenti puo' essere sovrascritta!
|
||||
@ -1385,24 +1392,26 @@ const TVariant& TISAM_recordset::get_field(int logic, const char* fldname) const
|
||||
|
||||
if (ft == _nullfld)
|
||||
{
|
||||
if (logic == LF_DOC) // Proviamo la magia
|
||||
switch (logic) // Proviamo la magia dei campi virtuali
|
||||
{
|
||||
subfield = name;
|
||||
name = "G1";
|
||||
case LF_DOC : subfield = name; name = "G1"; break;
|
||||
case LF_RIGHEDOC: subfield = name; name = "RG1"; break;
|
||||
default: return NULL_VARIANT;
|
||||
}
|
||||
else
|
||||
return NULL_VARIANT;
|
||||
}
|
||||
|
||||
TVariant& var = get_tmp_var();
|
||||
switch (ft)
|
||||
{
|
||||
case _boolfld: var.set(rec.get_bool(name)); break;
|
||||
case _datefld: var.set(rec.get_date(name)); break;
|
||||
case _realfld: var.set(rec.get_real(name)); break;
|
||||
case _intfld :
|
||||
case _longfld:
|
||||
case _wordfld: var.set(rec.get_long(name)); break;
|
||||
default : var.set(rec.get(name)); break;
|
||||
case _intzerofld : // Non usare il convertitore degll interi
|
||||
case _longzerofld: // in modo da preservare gli zeri iniziali
|
||||
default : var.set(rec.get(name)); break;
|
||||
}
|
||||
|
||||
if (subfield.not_empty())
|
||||
|
@ -213,6 +213,6 @@
|
||||
#THIS ! \ Setto il campo corrente con la data
|
||||
;
|
||||
: MESSAGE_DITTA ( s1 -- )
|
||||
FIRM \ Campi della ditta corrente
|
||||
GET_FIRM_DATA \ Campi della ditta corrente
|
||||
;
|
||||
|
||||
|
@ -61,16 +61,26 @@ void TVariant::set(const TDate& d)
|
||||
|
||||
void TVariant::set(const long n)
|
||||
{
|
||||
if (_type != _longfld)
|
||||
if (_type == _realfld || _type == _alfafld)
|
||||
set_null();
|
||||
_type = _longfld;
|
||||
_ptr = (void*)n;
|
||||
}
|
||||
|
||||
void TVariant::set(const bool b)
|
||||
{
|
||||
if (_type == _realfld || _type == _alfafld)
|
||||
set_null();
|
||||
_type = _boolfld;
|
||||
_ptr = (void*)(b != false);
|
||||
}
|
||||
|
||||
|
||||
bool TVariant::is_zero() const
|
||||
{
|
||||
switch (_type)
|
||||
{
|
||||
case _boolfld:
|
||||
case _datefld:
|
||||
case _longfld: return _ptr == NULL;
|
||||
case _realfld: return as_real().is_zero();
|
||||
@ -99,6 +109,7 @@ long TVariant::as_int() const
|
||||
long n = 0;
|
||||
switch(_type)
|
||||
{
|
||||
case _boolfld:
|
||||
case _datefld:
|
||||
case _longfld: n = (long)_ptr; break;
|
||||
case _realfld: n = as_real().integer(); break;
|
||||
@ -151,6 +162,7 @@ real TVariant::as_real() const
|
||||
return *(real*)_ptr;
|
||||
switch(_type)
|
||||
{
|
||||
case _boolfld: return _ptr ? UNO : ZERO; break;
|
||||
case _alfafld: return real(as_string()); break;
|
||||
case _longfld: return real(as_int()); break;
|
||||
default : break;
|
||||
@ -163,6 +175,7 @@ bool TVariant::as_string(TString& tmp) const
|
||||
tmp.cut(0);
|
||||
switch(_type)
|
||||
{
|
||||
case _boolfld: tmp = _ptr ? "X" : ""; break;
|
||||
case _alfafld: tmp = *(TString*)_ptr; break;
|
||||
case _datefld: tmp = as_date().string(); break;
|
||||
case _longfld: tmp << as_int(); break;
|
||||
@ -190,13 +203,13 @@ void TVariant::convert_to(TFieldtypes ft)
|
||||
switch (ft)
|
||||
{
|
||||
case _nullfld : set_null(); break;
|
||||
case _boolfld : set(as_bool()); break;
|
||||
case _datefld : set(as_date()); break;
|
||||
case _intfld :
|
||||
case _intzerofld :
|
||||
case _longzerofld:
|
||||
case _wordfld :
|
||||
case _longfld : set(as_int()); break;
|
||||
case _boolfld : set(as_bool()); break;
|
||||
case _realfld : set(as_real()); break;
|
||||
default : set(as_string()); break;
|
||||
}
|
||||
@ -207,6 +220,7 @@ void TVariant::copy(const TVariant& var)
|
||||
{
|
||||
switch (var._type)
|
||||
{
|
||||
case _boolfld: set(var.as_bool()); break;
|
||||
case _datefld: set(var.as_date()); break;
|
||||
case _longfld: set(var.as_int()); break;
|
||||
case _realfld: set(var.as_real()); break;
|
||||
@ -233,6 +247,7 @@ int TVariant::compare(const TSortable& s) const
|
||||
switch (_type)
|
||||
{
|
||||
case _datefld: cmp = as_date() - var.as_date(); break;
|
||||
case _boolfld:
|
||||
case _longfld: cmp = as_int() - var.as_int(); break;
|
||||
case _realfld:
|
||||
{
|
||||
@ -250,6 +265,7 @@ TVariant& TVariant::add(const TVariant& var)
|
||||
{
|
||||
switch (_type)
|
||||
{
|
||||
case _boolfld: set(as_bool() || var.as_bool()); break;
|
||||
case _datefld: set(as_date() + var.as_int()); break;
|
||||
case _longfld: set(as_int() + var.as_int()); break;
|
||||
case _alfafld: *(TString*)_ptr << var.as_string(); break;
|
||||
@ -263,6 +279,9 @@ TVariant& TVariant::sub(const TVariant& var)
|
||||
{
|
||||
switch (_type)
|
||||
{
|
||||
case _boolfld:
|
||||
set(as_int() > var.as_int());
|
||||
break;
|
||||
case _datefld:
|
||||
if (var.type() == _datefld)
|
||||
set(as_date() - var.as_date());
|
||||
|
@ -31,6 +31,7 @@ protected:
|
||||
public:
|
||||
TFieldtypes type() const { return _type; } // Internal use only
|
||||
bool is_string() const { return _type == _alfafld; }
|
||||
bool is_bool() const { return _type == _boolfld; }
|
||||
bool is_date() const { return _type == _datefld; }
|
||||
bool is_real() const { return _type == _realfld; }
|
||||
bool is_empty() const;
|
||||
@ -42,6 +43,7 @@ public:
|
||||
void set(const real& r);
|
||||
void set(const long n);
|
||||
void set(const TDate& d);
|
||||
void set(const bool b);
|
||||
|
||||
TVariant& operator=(const TVariant& var) { copy(var); return *this; }
|
||||
TVariant& operator=(const char* str) { set(str); return *this; }
|
||||
@ -49,7 +51,7 @@ public:
|
||||
TVariant& operator=(const real& r) { set(r); return *this; }
|
||||
TVariant& operator=(const long n) { set(n); return *this; }
|
||||
TVariant& operator=(const TDate& d) { set(d); return *this; }
|
||||
TVariant& operator=(bool b) { set(long(b)); return *this; }
|
||||
TVariant& operator=(bool b) { set(b); return *this; }
|
||||
TVariant& operator+=(const TVariant& var) { return add(var); }
|
||||
|
||||
const TString& as_string() const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user