Patch level : 12.00 nopatch
Files correlati : Commento : Migliorate le get tipizzate dei report
This commit is contained in:
parent
f56d66acc5
commit
656929078c
@ -572,7 +572,7 @@ class TDummy_recordset : public TRecordset
|
|||||||
virtual void requery() {}
|
virtual void requery() {}
|
||||||
virtual unsigned int columns() const { return 0; }
|
virtual unsigned int columns() const { return 0; }
|
||||||
virtual const TRecordset_column_info& column_info(unsigned int column) const { return *((TRecordset_column_info*) nullptr); }
|
virtual const TRecordset_column_info& column_info(unsigned int column) const { return *((TRecordset_column_info*) nullptr); }
|
||||||
virtual const TVariant& get(unsigned int column) const { return TVariant(); }
|
virtual const TVariant& get(unsigned int column) const { return get_tmp_var(); }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -686,6 +686,66 @@ const TString& TRecordset::get_string_zerofilled(const char* field, const int ze
|
|||||||
return get_string(field);;
|
return get_string(field);;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TString& TRecordset::get_string(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_string();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_string();
|
||||||
|
};
|
||||||
|
|
||||||
|
int TRecordset::get_int(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_int();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_int();
|
||||||
|
};
|
||||||
|
|
||||||
|
long TRecordset::get_long(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_int();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_int();
|
||||||
|
};
|
||||||
|
|
||||||
|
bool TRecordset::get_bool(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_bool();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_bool();
|
||||||
|
};
|
||||||
|
|
||||||
|
real TRecordset::get_real(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_real();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_real();
|
||||||
|
};
|
||||||
|
|
||||||
|
TDate TRecordset::get_date(const char* field) const
|
||||||
|
{
|
||||||
|
int col = find_column(field);
|
||||||
|
|
||||||
|
if (col < 0)
|
||||||
|
return get(field).as_date();
|
||||||
|
else
|
||||||
|
return get(find_column(field)).as_date();
|
||||||
|
};
|
||||||
|
|
||||||
const TVariant& TRecordset::get_var(const char* name) const
|
const TVariant& TRecordset::get_var(const char* name) const
|
||||||
{
|
{
|
||||||
const TVariant* var = (const TVariant*)_var.objptr(name);
|
const TVariant* var = (const TVariant*)_var.objptr(name);
|
||||||
@ -1040,7 +1100,7 @@ bool select_custom_file(TFilename& path, const char* ext, const char* library)
|
|||||||
path = sheet.row(-1).get(0);
|
path = sheet.row(-1).get(0);
|
||||||
path.ext(ext);
|
path.ext(ext);
|
||||||
ok = path.custom_path();
|
ok = path.custom_path();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
|
@ -21,8 +21,10 @@ struct TRecordset_column_info : public TObject
|
|||||||
|
|
||||||
void copy(const TRecordset_column_info & i) { _name = i._name; _width = i._width; _pos = i._pos; _type = i._type; }
|
void copy(const TRecordset_column_info & i) { _name = i._name; _width = i._width; _pos = i._pos; _type = i._type; }
|
||||||
virtual TObject* dup() const { return new TRecordset_column_info(*this); }
|
virtual TObject* dup() const { return new TRecordset_column_info(*this); }
|
||||||
|
|
||||||
|
|
||||||
TRecordset_column_info(const TRecordset_column_info & i) {copy(i);}
|
TRecordset_column_info(const char * name, int width, TFieldtypes type, int pos = 0) : _name(name), _width(width), _pos(pos), _type(type) {};
|
||||||
|
TRecordset_column_info(const TRecordset_column_info & i) { copy(i); }
|
||||||
TRecordset_column_info() : _width(0), _pos(0), _type(_alfafld) {}
|
TRecordset_column_info() : _width(0), _pos(0), _type(_alfafld) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -106,13 +108,13 @@ public: // Absolutely needed methods
|
|||||||
virtual unsigned int columns() const pure;
|
virtual unsigned int columns() const pure;
|
||||||
virtual const TRecordset_column_info& column_info(unsigned int column) const pure;
|
virtual const TRecordset_column_info& column_info(unsigned int column) const pure;
|
||||||
virtual const TRecordset_column_info& add_column_info(const TRecordset_column_info& c) {return c; }
|
virtual const TRecordset_column_info& add_column_info(const TRecordset_column_info& c) {return c; }
|
||||||
const TString& get_string(const char* field) const { return get(find_column(field)).as_string(); };
|
const TString& get_string(const char* field) const;
|
||||||
const TString& get_string_zerofilled(const char* field, const int zero_filled) const;
|
const TString& get_string_zerofilled(const char* field, const int zero_filled) const;
|
||||||
int get_int(const char* field) const { return get(find_column(field)).as_int(); }
|
int get_int(const char* field) const;
|
||||||
long get_long(const char* field) const { return get(find_column(field)).as_int(); }
|
long get_long(const char* field) const;
|
||||||
bool get_bool(const char* field) const { return get(find_column(field)).as_bool(); }
|
bool get_bool(const char* field) const;
|
||||||
real get_real(const char* field) const { return get(find_column(field)).as_real(); }
|
real get_real(const char* field) const;
|
||||||
TDate get_date(const char* field) const { return get(find_column(field)).as_date(); }
|
TDate get_date(const char* field) const;
|
||||||
|
|
||||||
virtual const TVariant& get(unsigned int column) const pure;
|
virtual const TVariant& get(unsigned int column) const pure;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user