|
// *********************************************************
// 文字列日付を設定
// 戻り値 : 設定できない日付を指定すると false
// *********************************************************
BOOL LboxDTPicker::SetDateString( LboxString *LString, LPTSTR lpDelim )
{
return SetDateString( LString->szLboxString, lpDelim );
}
BOOL LboxDTPicker::SetDateString( LPTSTR lpDate, LPTSTR lpDelim )
{
SYSTEMTIME st;
BOOL bRet;
LboxToken *Token;
Token = new LboxToken();
Token->CreateToken( lpDate, lpDelim );
if ( this->bNoData ) {
if ( Token->nCount != 3 ) {
ZeroMemory( &st, sizeof( SYSTEMTIME ) );
DateTime_SetSystemtime( this->hWnd, GDT_NONE, &st );
}
else {
ZeroMemory( &st, sizeof( SYSTEMTIME ) );
st.wYear = atoi( Token->Token[0] );
st.wMonth = atoi( Token->Token[1] );
st.wDay = atoi( Token->Token[2] );
bRet = DateTime_SetSystemtime( this->hWnd, GDT_VALID, &st );
if ( !bRet ) {
DateTime_SetSystemtime( this->hWnd, GDT_NONE, &st );
}
}
bRet = true;
}
else {
if ( Token->nCount != 3 ) {
bRet = false;
}
else {
ZeroMemory( &st, sizeof( SYSTEMTIME ) );
st.wYear = atoi( Token->Token[0] );
st.wMonth = atoi( Token->Token[1] );
st.wDay = atoi( Token->Token[2] );
bRet = DateTime_SetSystemtime( this->hWnd, GDT_VALID, &st );
}
}
delete Token;
return bRet;
}
| |