ここは、普段自分専用に使ってるC++のクラス・ライブラリです。
メンバ関数(メンバ変数も含む)は public 属性と protected 属性のみを公開し private 属性は記述してません。
また、この普段自分専用に使ってるC++のクラス・ライブラリは、現在ソースを公開してません。(戻る)
- 日付と時刻のクラス (oemDateTime)
- ファイル日時設定のクラス (oemTimeChange)
- ファイル属性設定のクラス (oemAttrChange)
- タイムスタンプと属性のクラス (oemTimeStamp)
日付と時刻のクラス - oemDateTime.h
class oemDateTime { public: // 取得関数 BOOL isLeap( WORD wYear ); WORD getMaxDays( WORD wYear, WORD wMonth ); // 日時操作 VOID setSystemTime( LPSYSTEMTIME st, ULONGLONG u64ms ); VOID addSystemTime( LPSYSTEMTIME st, LPSYSTEMTIME st1, LPSYSTEMTIME st2 ); // 文字列作成 LPTSTR makeHourMinSec( LPTSTR lpBuff, LPCTSTR lpFormat, LPSYSTEMTIME st, ULONGLONG u64ms ); LPTSTR makeTimeFormat( LPTSTR lpBuff, LPCTSTR lpFormat, LPSYSTEMTIME st ); LPTSTR makeTimeFormat( LPTSTR lpBuff, LPCTSTR lpFormat, ULONGLONG u64ms ); };
ファイル日時設定のクラス - oemTimeChange.h
// 列挙定数(日時モード) enum eTIMEMODE { TIMEMODE_NORMAL, // そのまま TIMEMODE_CURRENT, // 現在日時に合わせる TIMEMODE_CREATE, // 作成日時に合わせる TIMEMODE_WRITE, // 更新日時に合わせる TIMEMODE_ACCESS, // アクセス日時に合わせる TIMEMODE_MATCH, // 作成日時を更新日時に合わせる MAX_TIMEMODE, }; // 記号定数(日時オプション) #define TIMEOPT_SECROUND (0x0001) // 秒の繰り上がり #define TIMEOPT_MINEVEN (0x0002) // 分を偶数に補正 #define TIMEOPT_SECEVEN (0x0004) // 秒を偶数に補正 #define TIMEOPT_SECZERO (0x0008) // 秒を00にセット #define TIMEOPT_MSECZERO (0x0010) // 1/1000秒を000にセット class oemTimeChange { public: // 設定関数 VOID setModeChange( LPFILETIME ftCreate, LPFILETIME ftWrite, LPFILETIME ftAccess, UINT eMode ); VOID setTimeChange( LPFILETIME ft, UINT nOption ); };
ファイル属性設定のクラス - oemAttrChange.h
// 記号定数(属性オプション) #define ATTROPT_ARCHIVE (0x0001) // アーカイブ属性 #define ATTROPT_READONLY (0x0002) // 読み取り専用属性 #define ATTROPT_HIDDEN (0x0004) // 隠しファイル属性 #define ATTROPT_SYSTEM (0x0008) // システムファイル属性 #define ATTROPT_SUBDIR (0x0010) // ディレクトリも変更対象 class oemAttrChange { public: // 操作関数 BOOL isAttrPermit( DWORD dwAttrib, UINT nPermit ); VOID setAttrChange( LPDWORD dwAttrib, UINT nOption, UINT nEnable ); };
タイムスタンプと属性のクラス - oemTimeStamp.h
class oemTimeStamp { public: // コンストラクタ oemTimeStamp(); // 日時関数 VOID getTimeParam( UINT& eMode, UINT& nOption ); VOID setTimeParam( UINT eMode, UINT nOption ); // 属性関数 VOID getAttrParam( UINT& nPermit, UINT& nOption, UINT& nEnable ); VOID setAttrParam( UINT nPermit, UINT nOption, UINT nEnable ); // 先頭ファイルで合わせる VOID setHeadTime( LPFILETIME ftCreate, LPFILETIME ftWrite, LPFILETIME ftAccess, DWORD dwAttrib ); VOID setHeadInfo( LPWIN32_FIND_DATA fdFile ); BOOL setHeadStamp( LPCTSTR lpGetPath, BOOL bOption=TRUE ); BOOL setHeadChange( LPCTSTR lpSetPath ); // 個別ファイルで合わせる BOOL fileTimeStamp( LPCTSTR lpSetPath ); BOOL copyTimeStamp( LPCTSTR lpGetPath, LPCTSTR lpSetPath, BOOL bOption=TRUE ); };
関連記事
- 便利C++のログ保存クラス
- 便利C++の日付と時間クラス
- 便利C++のドライブ関連クラス
- 便利C++のアイコン関連クラス
- 便利C++のメニュー関連クラス
- 便利C++のファイル関連クラス
- 便利C++の文字列関連クラス
- 便利C++のキーボード関連クラス
※コメント投稿者のブログIDはブログ作成者のみに通知されます