Beispiel #1
0
void COXCalendarEdit::OnDropButton()
{
	CRect rect;
	GetClientRect(rect);
	ClientToScreen(rect);
	rect.right += GetButtonWidth();
	CRect rectParent = rect;
	rect.top = rect.bottom;
	rect.left = rect.right;

	// Get the size of the calendar control
	RECT rectSize;
	m_Calendar.GetMinReqRect(&rectSize);
	rect.left -= rectSize.right;
	rect.bottom += rectSize.bottom;
	
	// Read the initial date
	CString strText;
	GetWindowText(strText);
	COleDateTime dtInitialDate = GetDateFromString(strText);
	if (dtInitialDate.GetStatus() != COleDateTime::valid)
		dtInitialDate = COleDateTime::GetCurrentTime();

	// Display the calendar popup window
	COleDateTime dtPickedDate;
	BOOL bDatePicked = m_Calendar.Pick(rect, rectParent, dtInitialDate, dtPickedDate);
	if (bDatePicked)
		SetWindowText(GetStringFromDate(dtPickedDate));
}
Beispiel #2
0
Word _SQLCopyDateTimeData ( pODBCDiag pDiag, void* pTgtDataPtr, Word pTgtDataType, CStrPtr pSrcData,
                            Word pSrcDataType )
{
    __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "_SQLCopyDateTimeData called, with the src : %s", pSrcData ) );
    // note
    // source data is received as character string
    // source data type is also recd. but is not being checked right now
    // this can be used to detrmine if the conversion is possible at all
    bool isnull;
    // check if source data is NULL
    isnull = ( !pSrcData || _stricmp ( pSrcData, "NULL" ) == 0 ) ? TRUE : 0;

    // check if target is there
    if ( pTgtDataPtr )
    {
        // check the data size
        switch ( pTgtDataType )
        {
            case SQL_C_TYPE_DATE : // 91
            case SQL_C_DATE :

                // ???? check src type
                if ( !isnull )
                {
                    memset ( pTgtDataPtr, 0, sizeof ( struct tagDATE_STRUCT) );
                    GetDateFromString ( pSrcData, ( struct tagDATE_STRUCT* ) pTgtDataPtr );
                }

                break;

            case SQL_C_TYPE_TIME : // 92
            case SQL_C_TIME :
                //not suppporting Time
                return 1;

            case SQL_C_TYPE_TIMESTAMP : // 93
            case SQL_C_TIMESTAMP :

                // ???? check src type
                if ( !isnull )
                {
                    memset ( pTgtDataPtr, 0, sizeof ( struct tagTIMESTAMP_STRUCT) );
                    GetTimestampFromString ( pSrcData, ( struct tagTIMESTAMP_STRUCT* ) pTgtDataPtr );
                }

                break;

            default :
                return 1; // data type not understood
        }

        return 0; // successful, at least data type recognized
    }

    else
    {
        return -1;
    } // should not typically happen
}
Beispiel #3
0
BOOL COXCalendarEdit::IsValidDate(LPCTSTR lpszTestDate)
{
	ASSERT(lpszTestDate != NULL);
	
	if (IsEmptyDate(lpszTestDate))
		return TRUE;

	COleDateTime dtDate = GetDateFromString(lpszTestDate);
	if (dtDate.GetStatus() == COleDateTime::valid)
		return TRUE;
	else
		return FALSE;
}