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 unsigned int columns() const { return 0; }
|
||||
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:
|
||||
|
||||
@ -686,6 +686,66 @@ const TString& TRecordset::get_string_zerofilled(const char* field, const int ze
|
||||
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* 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.ext(ext);
|
||||
ok = path.custom_path();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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; }
|
||||
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) {}
|
||||
};
|
||||
|
||||
@ -106,13 +108,13 @@ public: // Absolutely needed methods
|
||||
virtual unsigned int columns() 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; }
|
||||
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;
|
||||
int get_int(const char* field) const { return get(find_column(field)).as_int(); }
|
||||
long get_long(const char* field) const { return get(find_column(field)).as_int(); }
|
||||
bool get_bool(const char* field) const { return get(find_column(field)).as_bool(); }
|
||||
real get_real(const char* field) const { return get(find_column(field)).as_real(); }
|
||||
TDate get_date(const char* field) const { return get(find_column(field)).as_date(); }
|
||||
int get_int(const char* field) const;
|
||||
long get_long(const char* field) const;
|
||||
bool get_bool(const char* field) const;
|
||||
real get_real(const char* field) const;
|
||||
TDate get_date(const char* field) const;
|
||||
|
||||
virtual const TVariant& get(unsigned int column) const pure;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user