------>如何包装SYSTEMTIMER?
vcmfc 2002-01-16 12:55:12 近日在写一个SYSTEMTIMER的包装类,但遇到几个问题,请大家给点意见,如下:
1.日期有效性的检验,我自已写了一个,请大家看一下有没有更好的方法?
2.JDate的+,-与+=,-=该如何实现?,是像MFC那样引入JDateSpan还是用其它方法,这是我目前较头痛的问题,请大家给点意见!,如果也像MFC那样引入JDateSpan,那该如何实现?
先问这两个问题,请大家给点意见呀!
期待中....................
以下是JDate的头文件声明:
class JDate :public _SYSTEMTIME
{
public:
enum{invalid=-1,valid=0};
JDate();
JDate(WORD Year, WORD Month, WORD Day, WORD Hour, WORD Minute, WORD Second);
JDate(const SYSTEMTIME &tm);
JDate(const JDate &jd);
JDate(const FILETIME &fm);
JDate(const JFileTime &jf);
JDate(const VARIANT &varsrc);
public:
JDate& operator=(const JDate &jd);
JDate& operator=(const SYSTEMTIME &tm);
// JDate& operator+=(const JDate &jd);
// JDate& operator+=(const SYSTEMTIME &tm);
bool operator==(const JDate &jd);
bool operator==(const SYSTEMTIME &jd);
bool operator!=(const JDate &jd);
bool operator>(const JDate &jd);
bool operator>=(const JDate &jd);
bool operator<(const JDate &jd);
bool operator<=(const JDate &jd);
friend std::ostream& operator<<(std::ostream &os, const JDate &jd);
friend std::istream& operator>>(std::istream &is, const JDate &jd);
public:
void SetStatus(DateStatus status);
DateStatus GetStatus();
bool IsAvaiDate(const SYSTEMTIME &tm);
static JDate& GetCurrentDate();
private:
DateStatus m_status;
};