Index: sakura_core/env/CFormatManager.cpp =================================================================== --- sakura_core/env/CFormatManager.cpp (リビジョン 4201) +++ sakura_core/env/CFormatManager.cpp (作業コピー) @@ -39,35 +39,28 @@ pszDateFormat: カスタムのときのフォーマット */ -const TCHAR* CFormatManager::MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ) +TCHAR* CFormatManager::MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ) { return MyGetDateFormat( - systime, - pszDest, - nDestLen, - m_pShareData->m_Common.m_sFormat.m_nDateFormatType, - m_pShareData->m_Common.m_sFormat.m_szDateFormat + systime, pszDest, nDestLen, + 0 == m_shareData.m_Common.m_sFormat.m_nDateFormatType ? NULL : m_shareData.m_Common.m_sFormat.m_szDateFormat ); } -const TCHAR* CFormatManager::MyGetDateFormat( +TCHAR* CFormatManager::MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, - int nDateFormatType, const TCHAR* szDateFormat ) { - const TCHAR* pszForm; - DWORD dwFlags; - if( 0 == nDateFormatType ){ - dwFlags = DATE_LONGDATE; - pszForm = NULL; - }else{ - dwFlags = 0; - pszForm = szDateFormat; + if (0 < nDestLen) { + pszDest[0] = TEXT('\0'); } - ::GetDateFormat( CSelectLang::getDefaultLangId(), dwFlags, &systime, pszForm, pszDest, nDestLen ); + GetDateFormat(CSelectLang::getDefaultLangId(), szDateFormat ? 0 : DATE_LONGDATE, &systime, szDateFormat, pszDest, nDestLen); + if (szDateFormat) { + GetTimeFormat(CSelectLang::getDefaultLangId(), 0, &systime, pszDest, pszDest, nDestLen); + } return pszDest; } @@ -74,36 +67,29 @@ /* 時刻をフォーマット */ -const TCHAR* CFormatManager::MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ) +TCHAR* CFormatManager::MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ) { return MyGetTimeFormat( - systime, - pszDest, - nDestLen, - m_pShareData->m_Common.m_sFormat.m_nTimeFormatType, - m_pShareData->m_Common.m_sFormat.m_szTimeFormat + systime, pszDest, nDestLen, + 0 == m_shareData.m_Common.m_sFormat.m_nTimeFormatType ? NULL : m_shareData.m_Common.m_sFormat.m_szTimeFormat ); } /* 時刻をフォーマット */ -const TCHAR* CFormatManager::MyGetTimeFormat( +TCHAR* CFormatManager::MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, - int nTimeFormatType, const TCHAR* szTimeFormat ) { - const TCHAR* pszForm; - DWORD dwFlags; - if( 0 == nTimeFormatType ){ - dwFlags = 0; - pszForm = NULL; - }else{ - dwFlags = 0; - pszForm = szTimeFormat; + if (0 < nDestLen) { + pszDest[0] = TEXT('\0'); } - ::GetTimeFormat(CSelectLang::getDefaultLangId(), dwFlags, &systime, pszForm, pszDest, nDestLen); + GetTimeFormat(CSelectLang::getDefaultLangId(), 0, &systime, szTimeFormat, pszDest, nDestLen); + if (szTimeFormat) { + GetDateFormat(CSelectLang::getDefaultLangId(), 0, &systime, pszDest, pszDest, nDestLen); + } return pszDest; } Index: sakura_core/env/CFormatManager.h =================================================================== --- sakura_core/env/CFormatManager.h (リビジョン 4201) +++ sakura_core/env/CFormatManager.h (作業コピー) @@ -34,19 +34,18 @@ class CFormatManager{ public: CFormatManager() - { - m_pShareData = &GetDllShareData(); - } + : m_shareData(GetDllShareData()) + {} //書式 //@@@ 2002.2.9 YAZAKI // 共有DLLSHAREDATA依存 - const TCHAR* MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ); - const TCHAR* MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ); + TCHAR* MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ); + TCHAR* MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen ); // 共有DLLSHAREDATA非依存 - const TCHAR* MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, int nDateFormatType, const TCHAR* szDateFormat ); - const TCHAR* MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, int nTimeFormatType, const TCHAR* szTimeFormat ); + TCHAR* MyGetDateFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, const TCHAR* szDateFormat ); + TCHAR* MyGetTimeFormat( const SYSTEMTIME& systime, TCHAR* pszDest, int nDestLen, const TCHAR* szTimeFormat ); private: - DLLSHAREDATA* m_pShareData; + const DLLSHAREDATA& m_shareData; }; Index: sakura_core/prop/CPropComFormat.cpp =================================================================== --- sakura_core/prop/CPropComFormat.cpp (リビジョン 4201) +++ sakura_core/prop/CPropComFormat.cpp (作業コピー) @@ -94,7 +94,7 @@ TCHAR szText[1024]; SYSTEMTIME systime; ::GetLocalTime( &systime ); - CFormatManager().MyGetDateFormat( systime, szText, _countof( szText ) - 1, m_Common.m_sFormat.m_nDateFormatType, m_Common.m_sFormat.m_szDateFormat ); + CFormatManager().MyGetDateFormat( systime, szText, _countof( szText ) - 1, m_Common.m_sFormat.m_nDateFormatType == 0 ? NULL : m_Common.m_sFormat.m_szDateFormat ); ::DlgItem_SetText( hwndDlg, IDC_EDIT_DFORM_EX, szText ); return; } @@ -107,7 +107,7 @@ TCHAR szText[1024]; SYSTEMTIME systime; ::GetLocalTime( &systime ); - CFormatManager().MyGetTimeFormat( systime, szText, _countof( szText ) - 1, m_Common.m_sFormat.m_nTimeFormatType, m_Common.m_sFormat.m_szTimeFormat ); + CFormatManager().MyGetTimeFormat( systime, szText, _countof( szText ) - 1, m_Common.m_sFormat.m_nTimeFormatType == 0 ? NULL : m_Common.m_sFormat.m_szTimeFormat ); ::DlgItem_SetText( hwndDlg, IDC_EDIT_TFORM_EX, szText ); return; }