示例#1
0
CCString* CADatePickerView::titleForRow(CAPickerView* pickerView, unsigned int row, unsigned int component)
{
    char buff[256] = {0};
    switch (m_eMode) {
        case CADatePickerModeCountDownTimer:
            if (component == 0) { // hour
              //  sprintf(buff, "%d小时", row);
            } else { // min
              //  sprintf(buff, "%d分钟", row);
            }
            break;
            
        case CADatePickerModeDate:
            if (component == 0) { // years
              //  sprintf(buff, "%d年", row + 1900);
            } else if (component == 1) { // month
              //  sprintf(buff, "%d月", row + 1);
            } else { // day
               // sprintf(buff, "%d日", row + 1);
            }
            break;
            
        case CADatePickerModeDateAndTime:
            if (component == 0) { // date
                CACalendar* cal = CACalendar::create(mktime(&m_tTM));
                int day = row + 1;
                int dayOfYear = cal->dayOfYear();
                cal->addDay(day - dayOfYear);
                int week = cal->dayOfWeek();
                int month = cal->monthOfYear();
                int date = cal->dayOfMonth();
                const char* week_s[] = {"日","一","二","三","四","五","六"};
                
                sprintf(buff, "%d月%d日  周%s", month, date, week_s[week]);
            } else if (component == 1) { // hour
                sprintf(buff, "%02d", row);
            } else { // minutes
                sprintf(buff, "%02d", row);
            }
            break;
            
        case CADatePickerModeTime:
            if (component == 0) { // hour
              //  sprintf(buff, "%02d", row);
            } else { // minutes
              //  sprintf(buff, "%02d", row);
            }
            break;
            
        default:
            break;
    }
    return CCString::create(std::string(buff));
}
const char* CADatePickerView::titleForRow(CAPickerView* pickerView, unsigned int row, unsigned int component)
{
    char buff[256] = {0};
    switch (m_eMode)
    {
        case CADatePickerModeCountDownTimer:
            if (component == 0)
            { // hour
                sprintf(buff, "%d\u5c0f\u65f6", row);
            } else { // min
                sprintf(buff, "%d\u5206\u949f", row);
            }
            break;
            
        case CADatePickerModeDate:
            if (component == 0)
            { // years
                sprintf(buff, "%d\u5e74", row + 1900);
            } else if (component == 1) { // month
                sprintf(buff, "%d\u6708", row + 1);
            } else { // day
                sprintf(buff, "%d\u65e5", row + 1);
            }
            break;
            
        case CADatePickerModeDateAndTime:
            if (component == 0)
            { // date
                CACalendar* cal = CACalendar::create(m_tTM.tm_year+1900,m_tTM.tm_mon,m_tTM.tm_mday);
                int day = row;
                int dayOfYear = cal->dayOfYear();
                cal->addDay(day - dayOfYear);
                int week = cal->dayOfWeek();
                int month = cal->monthOfYear();
                int date = cal->dayOfMonth();
                // const char* week_s[] = {"日","一","二","三","四","五","六"};
				const char* week_s[] = {"\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d"};
                sprintf(buff, "%d\u6708%d\u65e5  \u5468%s", month, date, week_s[week]);
            }
            else if (component == 1)
            { // hour
                sprintf(buff, "%02d", row);
            }
            else
            { // minutes
                sprintf(buff, "%02d", row);
            }
            break;
            
        case CADatePickerModeTime:
            if (component == 0)
            { // hour
                sprintf(buff, "%02d", row);
            }
            else
            { // minutes
                sprintf(buff, "%02d", row);
            }
            break;
            
        default:
            break;
    }
    static std::string ret;
    ret = std::string(buff);
    return ret.c_str();
}