⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ofdate.h

📁 转化为DIB位图再显示出来的dicom文件C++代码
💻 H
字号:
/* * *  Copyright (C) 2002-2005, OFFIS * *  This software and supporting documentation were developed by * *    Kuratorium OFFIS e.V. *    Healthcare Information and Communication Systems *    Escherweg 2 *    D-26121 Oldenburg, Germany * *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER. * *  Module:  ofstd * *  Author:  Joerg Riesmeier * *  Purpose: Class for date functions * *  Last Update:      $Author: meichel $ *  Update Date:      $Date: 2005/12/08 16:05:54 $ *  CVS/RCS Revision: $Revision: 1.7 $ *  Status:           $State: Exp $ * *  CVS/RCS Log at end of file * */#ifndef OFDATE_H#define OFDATE_H#include "dcmtk/config/osconfig.h"BEGIN_EXTERN_C#ifdef HAVE_SYS_TYPES_H# include <sys/types.h>    /* for struct time_t */#endifEND_EXTERN_C#include "dcmtk/ofstd/ofstring.h"      /* for class OFString */#include "dcmtk/ofstd/ofstream.h"      /* for ostream *//*---------------------* *  class declaration  * *---------------------*//** This class provides a collection of date functions */class OFDate{    // allow class OFDateTime to access protected class members    friend class OFDateTime; public:    /** default constructor.     *  Initializes Year, Month and Day to 0.     */    OFDate();    /** copy constructor     *  @param dateVal date object to be copied     */    OFDate(const OFDate &dateVal);    /** constructor with init values     *  @param year year value to be set     *  @param month month value to be set     *  @param day day value to be set     */    OFDate(const unsigned int year,           const unsigned int month,           const unsigned int day);    /** destructor     */    virtual ~OFDate();    /** assignment operator     *  @param dateVal date value to be set     *  @return reference to this object (with new value)     */    virtual OFDate &operator=(const OFDate &dateVal);    /** comparison operator (equal)     *  @param dateVal date value compared with the current value     *  @return OFTrue if given date is equal, OFFalse otherwise     */    virtual OFBool operator==(const OFDate &dateVal) const;    /** comparison operator (unequal)     *  @param dateVal date value compared with the current value     *  @return OFTrue if given date is unequal, OFFalse otherwise     */    virtual OFBool operator!=(const OFDate &dateVal) const;    /** comparison operator (less than)     *  @param dateVal date value compared with the current value     *  @return OFTrue if current date is earlier than the given value,     *    OFFalse otherwise     */    virtual OFBool operator<(const OFDate &dateVal) const;    /** comparison operator (less than or equal)     *  @param dateVal date value compared with the current value     *  @return OFTrue if current date is earlier than or identical to the given value,     *    OFFalse otherwise     */    virtual OFBool operator<=(const OFDate &dateVal) const;    /** comparison operator (greater than or equal)     *  @param dateVal date value compared with the current value     *  @return OFTrue if current date is later than or identical to the given value,     *    OFFalse otherwise     */    virtual OFBool operator>=(const OFDate &dateVal) const;    /** comparison operator (greater than)     *  @param dateVal date value compared with the current value     *  @return OFTrue if current date is later than the given value,     *    OFFalse otherwise     */    virtual OFBool operator>(const OFDate &dateVal) const;    /** reset the date value.     *  Sets the year, month and day to "0". NB: Date becomes invalid.     */    virtual void clear();    /** check whether the currently stored date value is valid.     *  Currently, this method only checks whether the month is within the range of 1 to 12     *  and the day is within the range of 1 to 31. In the future this routine might be     *  enhanced.     *  @return OFTrue if the current value is valid, OFFalse otherwise     */    virtual OFBool isValid() const;    /** set the date value to the specified date.     *  Before the new value is set it is checked using the "isValid()" routine.     *  @param year new year value to be set     *  @param month new month value to be set     *  @param day new day value to be set     *  @return OFTrue if the new value is valid and has been set, OFFalse otherwise     */    OFBool setDate(const unsigned int year,                   const unsigned int month,                   const unsigned int day);    /** set the date value to the specified year.     *  Before the new value is set it is checked using the "isValid()" routine.     *  @param year new year value to be set     *  @return OFTrue if the new value is valid and has been set, OFFalse otherwise     */    OFBool setYear(const unsigned int year);    /** set the date value to the specified month.     *  Before the new value is set it is checked using the "isValid()" routine.     *  @param month new month value to be set     *  @return OFTrue if the new value is valid and has been set, OFFalse otherwise     */    OFBool setMonth(const unsigned int month);    /** set the date value to the specified day.     *  Before the new value is set it is checked using the "isValid()" routine.     *  @param day new day value to be set     *  @return OFTrue if the new value is valid and has been set, OFFalse otherwise     */    OFBool setDay(const unsigned int day);    /** set the date value to the current system date.     *  This function uses operating system dependent routines. If they are unavailable     *  for some reason the current value is not modified.     *  @return OFTrue if the current system date has been set, OFFalse otherwise     */    OFBool setCurrentDate();    /** set the date value to the given ISO formatted date string.     *  The two ISO date formats supported by this function are "YYYY-MM-DD" (with arbitrary     *  delimiters) and "YYYYMMDD" (without delimiters, useful for DICOM date type).     *  @param formattedDate ISO formatted date value to be set     *  @return OFTrue if input is valid and result variable has been set, OFFalse otherwise     */    OFBool setISOFormattedDate(const OFString &formattedDate);    /** get the currently stored year value     *  @return year value (might be invalid, i.e. out of range)     */    unsigned int getYear() const;    /** get the currently stored month value     *  @return month value (might be invalid, i.e. out of range)     */    unsigned int getMonth() const;    /** get the currently stored day value     *  @return day value (might be invalid, i.e. out of range)     */    unsigned int getDay() const;    /** get the current date value in ISO format.     *  The two ISO date formats supported by this function are "YYYY-MM-DD" (with     *  delimiters) and "YYYYMMDD" (without delimiters, useful for DICOM date type).     *  @param formattedDate reference to string variable where the result is stored     *  @param showDelimiter flag, indicating whether to use delimiters ("-") or not     *  @return OFTrue if result variable has been set, OFFalse otherwise     */    OFBool getISOFormattedDate(OFString &formattedDate,                               const OFBool showDelimiter = OFTrue) const;    /* --- static helper functions --- */    /** get the current system date     *  @return date object with the current system date set     */    static OFDate getCurrentDate(); protected:    /** set the date value to the current system date.     *  This function uses operating system dependent routines. If they are unavailable     *  for some reason the current value is not modified.     *  @param tt current system time (as returned by the time() function )     *  @return OFTrue if the current system date has been set, OFFalse otherwise     */    OFBool setCurrentDate(const time_t &tt);    /* --- static helper functions --- */    /** check whether the given date is valid.     *  Currently, this method only checks whether the month is within the range of 1 to 12     *  and the day is within the range of 1 to 31. In the future this routine might be     *  enhanced.     *  @param year year value to be checked     *  @param month month value to be checked     *  @param day day value to be checked     *  @return OFTrue if the current value is valid, OFFalse otherwise     */    static OFBool isDateValid(const unsigned int year,                              const unsigned int month,                              const unsigned int day); private:    /// currently stored year value    unsigned int Year;    /// currently stored month value    unsigned int Month;    /// currently stored day value    unsigned int Day;};/** put the given date in ISO format on the output stream. *  If an error occurs nothing is printed. *  @param stream output stream *  @param dateVal OFDate object to print *  @return reference to the output stream */ostream& operator<<(ostream& stream, const OFDate &dateVal);#endif/* * * CVS/RCS Log: * $Log: ofdate.h,v $ * Revision 1.7  2005/12/08 16:05:54  meichel * Changed include path schema for all DCMTK header files * * Revision 1.6  2004/01/16 10:30:39  joergr * Added setISOFormattedXXX() methods for Date, Time and DateTime. * * Revision 1.5  2003/09/15 12:12:56  joergr * Fixed incorrect/improper comments of the comparision operators. Enhanced * comment of the default constructor. Made comparison operators const. * * Revision 1.4  2003/07/04 13:30:37  meichel * Added include for ofstream.h, to make sure ofstream is correctly defined * * Revision 1.3  2002/05/24 09:43:04  joergr * Renamed some parameters/variables to avoid ambiguities. * * Revision 1.2  2002/04/15 09:38:58  joergr * Added "include <sys/types.h>" for struct time_t (required for MSVC). * * Revision 1.1  2002/04/11 12:12:23  joergr * Introduced new standard classes providing date and time functions. * * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -