00001 00005 //--------------------------------------------------------------------------- 00006 00007 #ifndef IbMDateFieldHH 00008 #define IbMDateFieldHH 00009 00010 namespace fbwrap 00011 { 00012 00013 using std::string; 00014 00016 class FBwDateField : public FBwField 00017 { 00018 ISC_DATE svalue; 00019 FBwDate value; 00020 protected: 00021 virtual void *GetPtr() 00022 { 00023 return &svalue; 00024 } 00025 virtual void bCopy(FBwField *fld) 00026 { 00027 value = fld->AsDate(); 00028 } 00029 virtual int ByteSize() const 00030 { 00031 return sizeof(svalue); 00032 } 00033 public: 00035 00038 FBwDateField(string pname) : 00039 FBwField(pname,masf_date) 00040 { 00041 sqllen=10; 00042 } 00044 FBwDateField(const FBwDateField &f) 00045 : FBwField(f) 00046 { 00047 value = f.value; 00048 sqllen=10; 00049 } 00051 00054 virtual void BindPtr(char **p) 00055 { 00056 *p=(char *)&svalue; 00057 } 00059 virtual void ConvertStoV(); 00061 virtual void ConvertVtoS(); 00063 virtual string AsString() const; 00065 virtual FBwDate AsDate() const 00066 { 00067 return value; 00068 } 00070 virtual FBwDateTime AsDateTime() const 00071 { 00072 return FBwDateTime(value); 00073 } 00075 virtual void SetAsString(const string &s) 00076 { 00077 value = FBwDate(s); 00078 } 00080 virtual void SetAsDate(const FBwDate &d) 00081 { 00082 value=d; 00083 } 00085 virtual void SetAsDateTime(const FBwDateTime &dt) 00086 { 00087 value = dt.AsDate(); 00088 } 00090 std::ostream &DisplayText(std::ostream & o) const; 00092 FBwField *Clone() const 00093 { 00094 return new FBwDateField(*this); 00095 } 00097 virtual ~FBwDateField() 00098 { 00099 } 00100 }; 00101 00102 //------------------------------------------------------------------------- 00103 } 00104 #endif
1.2.17