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.
|
// e l'icona punto esclamativo.
|
||||||
{
|
{
|
||||||
buildmsg();
|
buildmsg();
|
||||||
xvt_dm_popup_error(msg);
|
xvt_dm_post_error(msg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ bool warning_box(
|
|||||||
// e l'icona punto di domanda.
|
// e l'icona punto di domanda.
|
||||||
{
|
{
|
||||||
buildmsg();
|
buildmsg();
|
||||||
xvt_dm_popup_warning(msg);
|
xvt_dm_post_warning(msg);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ bool message_box(
|
|||||||
// e l'icona informazioni.
|
// e l'icona informazioni.
|
||||||
{
|
{
|
||||||
buildmsg();
|
buildmsg();
|
||||||
xvt_dm_popup_message(msg);
|
xvt_dm_post_message(msg);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +76,15 @@ const TToken_string& TRecordset::sheet_head() const
|
|||||||
maxlen = len;
|
maxlen = len;
|
||||||
}
|
}
|
||||||
head << '@' << max(ci._width, maxlen);
|
head << '@' << max(ci._width, maxlen);
|
||||||
if (ci._type == _wordfld || ci._type == _intfld || ci._type == _longfld || ci._type == _realfld)
|
switch (ci._type)
|
||||||
head << 'R';
|
{
|
||||||
|
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!
|
// Creo la stringa temporanea solo ora, altrimenti puo' essere sovrascritta!
|
||||||
@ -1385,23 +1392,25 @@ const TVariant& TISAM_recordset::get_field(int logic, const char* fldname) const
|
|||||||
|
|
||||||
if (ft == _nullfld)
|
if (ft == _nullfld)
|
||||||
{
|
{
|
||||||
if (logic == LF_DOC) // Proviamo la magia
|
switch (logic) // Proviamo la magia dei campi virtuali
|
||||||
{
|
{
|
||||||
subfield = name;
|
case LF_DOC : subfield = name; name = "G1"; break;
|
||||||
name = "G1";
|
case LF_RIGHEDOC: subfield = name; name = "RG1"; break;
|
||||||
|
default: return NULL_VARIANT;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
return NULL_VARIANT;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TVariant& var = get_tmp_var();
|
TVariant& var = get_tmp_var();
|
||||||
switch (ft)
|
switch (ft)
|
||||||
{
|
{
|
||||||
|
case _boolfld: var.set(rec.get_bool(name)); break;
|
||||||
case _datefld: var.set(rec.get_date(name)); break;
|
case _datefld: var.set(rec.get_date(name)); break;
|
||||||
case _realfld: var.set(rec.get_real(name)); break;
|
case _realfld: var.set(rec.get_real(name)); break;
|
||||||
case _intfld :
|
case _intfld :
|
||||||
case _longfld:
|
case _longfld:
|
||||||
case _wordfld: var.set(rec.get_long(name)); break;
|
case _wordfld: var.set(rec.get_long(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;
|
default : var.set(rec.get(name)); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,6 +213,6 @@
|
|||||||
#THIS ! \ Setto il campo corrente con la data
|
#THIS ! \ Setto il campo corrente con la data
|
||||||
;
|
;
|
||||||
: MESSAGE_DITTA ( s1 -- )
|
: 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)
|
void TVariant::set(const long n)
|
||||||
{
|
{
|
||||||
if (_type != _longfld)
|
if (_type == _realfld || _type == _alfafld)
|
||||||
set_null();
|
set_null();
|
||||||
_type = _longfld;
|
_type = _longfld;
|
||||||
_ptr = (void*)n;
|
_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
|
bool TVariant::is_zero() const
|
||||||
{
|
{
|
||||||
switch (_type)
|
switch (_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld:
|
||||||
case _datefld:
|
case _datefld:
|
||||||
case _longfld: return _ptr == NULL;
|
case _longfld: return _ptr == NULL;
|
||||||
case _realfld: return as_real().is_zero();
|
case _realfld: return as_real().is_zero();
|
||||||
@ -99,6 +109,7 @@ long TVariant::as_int() const
|
|||||||
long n = 0;
|
long n = 0;
|
||||||
switch(_type)
|
switch(_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld:
|
||||||
case _datefld:
|
case _datefld:
|
||||||
case _longfld: n = (long)_ptr; break;
|
case _longfld: n = (long)_ptr; break;
|
||||||
case _realfld: n = as_real().integer(); break;
|
case _realfld: n = as_real().integer(); break;
|
||||||
@ -151,6 +162,7 @@ real TVariant::as_real() const
|
|||||||
return *(real*)_ptr;
|
return *(real*)_ptr;
|
||||||
switch(_type)
|
switch(_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld: return _ptr ? UNO : ZERO; break;
|
||||||
case _alfafld: return real(as_string()); break;
|
case _alfafld: return real(as_string()); break;
|
||||||
case _longfld: return real(as_int()); break;
|
case _longfld: return real(as_int()); break;
|
||||||
default : break;
|
default : break;
|
||||||
@ -163,6 +175,7 @@ bool TVariant::as_string(TString& tmp) const
|
|||||||
tmp.cut(0);
|
tmp.cut(0);
|
||||||
switch(_type)
|
switch(_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld: tmp = _ptr ? "X" : ""; break;
|
||||||
case _alfafld: tmp = *(TString*)_ptr; break;
|
case _alfafld: tmp = *(TString*)_ptr; break;
|
||||||
case _datefld: tmp = as_date().string(); break;
|
case _datefld: tmp = as_date().string(); break;
|
||||||
case _longfld: tmp << as_int(); break;
|
case _longfld: tmp << as_int(); break;
|
||||||
@ -190,13 +203,13 @@ void TVariant::convert_to(TFieldtypes ft)
|
|||||||
switch (ft)
|
switch (ft)
|
||||||
{
|
{
|
||||||
case _nullfld : set_null(); break;
|
case _nullfld : set_null(); break;
|
||||||
|
case _boolfld : set(as_bool()); break;
|
||||||
case _datefld : set(as_date()); break;
|
case _datefld : set(as_date()); break;
|
||||||
case _intfld :
|
case _intfld :
|
||||||
case _intzerofld :
|
case _intzerofld :
|
||||||
case _longzerofld:
|
case _longzerofld:
|
||||||
case _wordfld :
|
case _wordfld :
|
||||||
case _longfld : set(as_int()); break;
|
case _longfld : set(as_int()); break;
|
||||||
case _boolfld : set(as_bool()); break;
|
|
||||||
case _realfld : set(as_real()); break;
|
case _realfld : set(as_real()); break;
|
||||||
default : set(as_string()); break;
|
default : set(as_string()); break;
|
||||||
}
|
}
|
||||||
@ -207,6 +220,7 @@ void TVariant::copy(const TVariant& var)
|
|||||||
{
|
{
|
||||||
switch (var._type)
|
switch (var._type)
|
||||||
{
|
{
|
||||||
|
case _boolfld: set(var.as_bool()); break;
|
||||||
case _datefld: set(var.as_date()); break;
|
case _datefld: set(var.as_date()); break;
|
||||||
case _longfld: set(var.as_int()); break;
|
case _longfld: set(var.as_int()); break;
|
||||||
case _realfld: set(var.as_real()); break;
|
case _realfld: set(var.as_real()); break;
|
||||||
@ -233,6 +247,7 @@ int TVariant::compare(const TSortable& s) const
|
|||||||
switch (_type)
|
switch (_type)
|
||||||
{
|
{
|
||||||
case _datefld: cmp = as_date() - var.as_date(); break;
|
case _datefld: cmp = as_date() - var.as_date(); break;
|
||||||
|
case _boolfld:
|
||||||
case _longfld: cmp = as_int() - var.as_int(); break;
|
case _longfld: cmp = as_int() - var.as_int(); break;
|
||||||
case _realfld:
|
case _realfld:
|
||||||
{
|
{
|
||||||
@ -250,6 +265,7 @@ TVariant& TVariant::add(const TVariant& var)
|
|||||||
{
|
{
|
||||||
switch (_type)
|
switch (_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld: set(as_bool() || var.as_bool()); break;
|
||||||
case _datefld: set(as_date() + var.as_int()); break;
|
case _datefld: set(as_date() + var.as_int()); break;
|
||||||
case _longfld: set(as_int() + var.as_int()); break;
|
case _longfld: set(as_int() + var.as_int()); break;
|
||||||
case _alfafld: *(TString*)_ptr << var.as_string(); break;
|
case _alfafld: *(TString*)_ptr << var.as_string(); break;
|
||||||
@ -263,6 +279,9 @@ TVariant& TVariant::sub(const TVariant& var)
|
|||||||
{
|
{
|
||||||
switch (_type)
|
switch (_type)
|
||||||
{
|
{
|
||||||
|
case _boolfld:
|
||||||
|
set(as_int() > var.as_int());
|
||||||
|
break;
|
||||||
case _datefld:
|
case _datefld:
|
||||||
if (var.type() == _datefld)
|
if (var.type() == _datefld)
|
||||||
set(as_date() - var.as_date());
|
set(as_date() - var.as_date());
|
||||||
|
@ -31,6 +31,7 @@ protected:
|
|||||||
public:
|
public:
|
||||||
TFieldtypes type() const { return _type; } // Internal use only
|
TFieldtypes type() const { return _type; } // Internal use only
|
||||||
bool is_string() const { return _type == _alfafld; }
|
bool is_string() const { return _type == _alfafld; }
|
||||||
|
bool is_bool() const { return _type == _boolfld; }
|
||||||
bool is_date() const { return _type == _datefld; }
|
bool is_date() const { return _type == _datefld; }
|
||||||
bool is_real() const { return _type == _realfld; }
|
bool is_real() const { return _type == _realfld; }
|
||||||
bool is_empty() const;
|
bool is_empty() const;
|
||||||
@ -42,6 +43,7 @@ public:
|
|||||||
void set(const real& r);
|
void set(const real& r);
|
||||||
void set(const long n);
|
void set(const long n);
|
||||||
void set(const TDate& d);
|
void set(const TDate& d);
|
||||||
|
void set(const bool b);
|
||||||
|
|
||||||
TVariant& operator=(const TVariant& var) { copy(var); return *this; }
|
TVariant& operator=(const TVariant& var) { copy(var); return *this; }
|
||||||
TVariant& operator=(const char* str) { set(str); 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 real& r) { set(r); return *this; }
|
||||||
TVariant& operator=(const long n) { set(n); return *this; }
|
TVariant& operator=(const long n) { set(n); return *this; }
|
||||||
TVariant& operator=(const TDate& d) { set(d); 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); }
|
TVariant& operator+=(const TVariant& var) { return add(var); }
|
||||||
|
|
||||||
const TString& as_string() const;
|
const TString& as_string() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user