コード例 #1
0
// Convert a date in PDF or XPS format, e.g. "D:20091222171933-05'00'" to a display
// format e.g. "12/22/2009 5:19:33 PM"
// See: http://www.verypdf.com/pdfinfoeditor/pdf-date-format.htm
// The conversion happens in place
static void ConvDateToDisplay(WCHAR **s, bool (* DateParse)(const WCHAR *date, SYSTEMTIME *timeOut))
{
    if (!s || !*s || !DateParse)
        return;

    SYSTEMTIME date;
    bool ok = DateParse(*s, &date);
    if (!ok)
        return;

    WCHAR *formatted = FormatSystemTime(date);
    if (formatted) {
        free(*s);
        *s = formatted;
    }
}
コード例 #2
0
ファイル: ReserveListView.cpp プロジェクト: xceza7/EDCB
	bool CReserveListView::CReserveListItem::GetText(int ID,LPTSTR pszText,int MaxLength) const
	{
		pszText[0]=_T('\0');

		switch (ID) {
		case COLUMN_TITLE:
			if (!m_pReserveData->title.empty())
				::lstrcpyn(pszText,m_pReserveData->title.c_str(),MaxLength);
			break;

		case COLUMN_TIME:
			{
				SYSTEMTIME EndTime;
				TCHAR szStartTime[64],szEndTime[64];

				GetEndTime(m_pReserveData->startTime,m_pReserveData->durationSecond,&EndTime);
				FormatSystemTime(m_pReserveData->startTime,szStartTime, _countof(szStartTime),
								 SYSTEMTIME_FORMAT_TIME | SYSTEMTIME_FORMAT_SECONDS);
				FormatSystemTime(EndTime,szEndTime, _countof(szEndTime),
								 SYSTEMTIME_FORMAT_TIMEONLY | SYSTEMTIME_FORMAT_SECONDS);
				FormatString(pszText,MaxLength,TEXT("%s 〜 %s"),szStartTime,szEndTime);
			}
			break;

		case COLUMN_SERVICE:
			if (!m_pReserveData->stationName.empty())
				::lstrcpyn(pszText,m_pReserveData->stationName.c_str(),MaxLength);
			break;

		case COLUMN_STATUS:
			{
				LPCTSTR pszStatus=NULL;

				if (m_pReserveData->recSetting.recMode==RECMODE_NO) {
					pszStatus=TEXT("無効");
				} else {
					switch (m_pReserveData->overlapMode) {
					case 0:	pszStatus=TEXT("正常");				break;
					case 1:	pszStatus=TEXT("一部実行");			break;
					case 2:	pszStatus=TEXT("チューナー不足");	break;
					}
				}
				if (pszStatus!=NULL)
					::lstrcpyn(pszText,pszStatus,MaxLength);
			}
			break;

		case COLUMN_RECMODE:
			{
				LPCTSTR pszRecMode;

				switch (m_pReserveData->recSetting.recMode) {
				case RECMODE_ALL:
					pszRecMode=TEXT("全サービス");
					break;
				case RECMODE_SERVICE:
					pszRecMode=TEXT("指定サービス");
					break;
				case RECMODE_ALL_NOB25:
					pszRecMode=TEXT("全サービス(スクランブル解除なし)");
					break;
				case RECMODE_SERVICE_NOB25:
					pszRecMode=TEXT("指定サービス(スクランブル解除なし)");
					break;
				case RECMODE_VIEW:
					pszRecMode=TEXT("視聴");
					break;
				case RECMODE_NO:
					pszRecMode=TEXT("無効");
					break;
				case RECMODE_EPG:
					pszRecMode=TEXT("EPG取得");
					break;
				default:
					pszRecMode=NULL;
				}
				if (pszRecMode!=NULL)
					::lstrcpyn(pszText,pszRecMode,MaxLength);
			}
			break;

		case COLUMN_PRIORITY:
			FormatInt(m_pReserveData->recSetting.priority,pszText,MaxLength);
			break;

		default:
			return false;
		}

		return true;
	}
コード例 #3
0
ファイル: FileListView.cpp プロジェクト: xceza7/EDCB
	bool CFileListView::CFileListItem::GetText(int ID,LPTSTR pszText,int MaxLength) const
	{
		pszText[0]=_T('\0');

		switch (ID) {
		case COLUMN_TIME:
			{
				SYSTEMTIME EndTime;
				TCHAR szStartTime[64],szEndTime[64];

				GetEndTime(m_RecFileInfo.startTime,m_RecFileInfo.durationSecond,&EndTime);
				FormatSystemTime(m_RecFileInfo.startTime,szStartTime,_countof(szStartTime),
								 SYSTEMTIME_FORMAT_TIME | SYSTEMTIME_FORMAT_SECONDS);
				FormatSystemTime(EndTime,szEndTime,_countof(szEndTime),
								 SYSTEMTIME_FORMAT_TIMEONLY | SYSTEMTIME_FORMAT_SECONDS);
				FormatString(pszText,MaxLength,TEXT("%s 〜 %s"),szStartTime,szEndTime);
			}
			break;

		case COLUMN_TITLE:
			if (!m_RecFileInfo.title.empty())
				::lstrcpyn(pszText,m_RecFileInfo.title.c_str(),MaxLength);
			break;

		case COLUMN_SERVICE:
			if (!m_RecFileInfo.serviceName.empty())
				::lstrcpyn(pszText,m_RecFileInfo.serviceName.c_str(),MaxLength);
			break;

		case COLUMN_RESULT:
			if (!m_RecFileInfo.comment.empty()) {
				::lstrcpyn(pszText,m_RecFileInfo.comment.c_str(),MaxLength);
			} else {
				LPCTSTR pszStatus=NULL;

				if ((m_RecFileInfo.recStatus&REC_STATUS_END)!=0) {
					pszStatus=TEXT("正常終了");
				}
				if ((m_RecFileInfo.recStatus&REC_STATUS_ERR_WAKE)!=0) {
					pszStatus=TEXT("録画時刻超過エラー");
				} else if ((m_RecFileInfo.recStatus&REC_STATUS_ERR_OPEN)!=0) {
					pszStatus=TEXT("起動エラー");
				} else if ((m_RecFileInfo.recStatus&REC_STATUS_ERR_FIND)!=0) {
					pszStatus=TEXT("EPG情報エラー");
				} else if ((m_RecFileInfo.recStatus&REC_STATUS_END_PG)!=0) {
					pszStatus=TEXT("プログラム録画に変更して終了");
				} else if ((m_RecFileInfo.recStatus&REC_STATUS_CHG_TIME)!=0) {
					pszStatus=TEXT("開始時刻を変更して録画終了");
				}
				/*
				else if ((m_RecFileInfo.recStatus&REC_STATUS_RELAY)!=0) {
					pszStatus=TEXT("イベントリレー");
				}
				*/
				if (pszStatus!=NULL)
					::lstrcpyn(pszText,pszStatus,MaxLength);
			}
			break;

		case COLUMN_FILE:
			if (!m_RecFileInfo.recFilePath.empty())
				::lstrcpyn(pszText,m_RecFileInfo.recFilePath.c_str(),MaxLength);
			break;

		default:
			return false;
		}

		return true;
	}