⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.cpp

📁 DVR-MPEG4编码播放器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// Search.cpp : implementation file
//

#include "stdafx.h"
#include "Mp4Player.h"
#include "Search.h"
#include "Decode.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSearch dialog


CSearch::CSearch(CWnd* pParent /*=NULL*/)
	: CDialog(CSearch::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSearch)
	m_Local = TRUE;
	m_Remote = FALSE;
	//}}AFX_DATA_INIT
}


void CSearch::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSearch)
	DDX_Control(pDX, IDC_SearchDATE, m_SearDate);
	DDX_Control(pDX, IDC_LIST1, m_ListBox);
	DDX_Check(pDX, IDC_LOCAL, m_Local);
	DDX_Check(pDX, IDC_REMOTE, m_Remote);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSearch, CDialog)
	//{{AFX_MSG_MAP(CSearch)
	ON_BN_CLICKED(IDC_LISTTODAY, OnListtoday)
	ON_BN_CLICKED(IDC_SEARCH, OnSearch)
	ON_BN_CLICKED(IDC_PLAY, OnPlay)
	ON_LBN_DBLCLK(IDC_LIST1, OnDblclkList1)
	ON_BN_CLICKED(IDC_BUTTON10, OnDeleteFile)
	ON_BN_CLICKED(IDC_LOCAL, OnLocal)
	ON_BN_CLICKED(IDC_REMOTE, OnRemote)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSearch message handlers

void CSearch::OnListtoday() 
{
	// TODO: Add your control notification handler code here
	char cmd[1];

	TRANSDATE	   TransDate;
	TRANS_SEARCH2  Trans_MarkedFile;

	m_ListBox.ResetContent();
	
	SYSTEMTIME systime;
	::GetLocalTime(&systime);
	
	::memset(&TransDate,0,sizeof(TRANSDATE));
	TransDate.Camera=0;
	TransDate.StartDate.m_day=systime.wDay;
	TransDate.StartDate.m_hour=0;
	TransDate.StartDate.m_min=0;
	TransDate.StartDate.m_month=systime.wMonth;
	TransDate.StartDate.m_year=systime.wYear;
    
	TransDate.EndDate.m_day=systime.wDay;
	TransDate.EndDate.m_hour=23;
	TransDate.EndDate.m_min=59;
	TransDate.EndDate.m_month=systime.wMonth;
	TransDate.EndDate.m_year=systime.wYear;
	TransDate.SearchTypeorSet=4;
		
	::memset(&Trans_MarkedFile,0,sizeof(TRANS_SEARCH2));
	
	InitVRTLink(ConnectIP,ConnectPort);
	cmd[0]=VRTSearch;
	SendVRTData(cmd,1);
	Sleep(1);
	SendVRTData((char *)&TransDate,sizeof(TRANSDATE));
	RecvVRTData((char *)&Trans_MarkedFile,sizeof(TRANS_SEARCH2));
	CloseVRTLink();

	if(Trans_MarkedFile.Total==0)
	{
		m_ListBox.AddString(" 没有视频!");
		return;
	}
	char buf[200];
    char sz_marked[200];
	int m_year;
	int m_month;
	int m_day;
	int m_hour;
	int m_min;
	int m_sec;
	int m_Duration;
	
	int m_type;
    int m_Camera;
    m_ListBox.ResetContent();
	for(int i=0;i<Trans_MarkedFile.Total;i++)
	{
        
		::memset(buf,0,sizeof(buf));
		m_hour=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_hour;
		m_min=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_min;
		m_sec=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_sec;
		m_day=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_day;
		m_month=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_month;
		m_year=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_year;
		m_type=Trans_MarkedFile.T_Search[i].TransDate.SearchTypeorSet;
		m_Camera=Trans_MarkedFile.T_Search[i].TransDate.Camera;
		m_Duration=Trans_MarkedFile.T_Search[i].TransDate.Duration;
		
		sprintf(buf,"%02d",m_hour);
		strcpy(sz_marked,buf);

        strcat(sz_marked,":");
		sprintf(buf,"%02d",m_min);
		strcat(sz_marked,buf);

		strcat(sz_marked,":");
		sprintf(buf,"%02d",m_sec);
		strcat(sz_marked,buf);

        strcat(sz_marked,"  ");
        sprintf(buf,"%02d",m_day);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_month);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_year);
		strcat(sz_marked,buf);
        strcat(sz_marked,"      ");

        m_hour=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_hour;
		m_min=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_min;
		m_sec=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_sec;
		m_day=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_day;
		m_month=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_month;
		m_year=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_year;
		
        
        sprintf(buf,"%02d",m_hour);
		strcat(sz_marked,buf);

        strcat(sz_marked,":");
		sprintf(buf,"%02d",m_min);
		strcat(sz_marked,buf);

		strcat(sz_marked,":");
		sprintf(buf,"%02d",m_sec);
		strcat(sz_marked,buf);

        strcat(sz_marked,"   ");
        sprintf(buf,"%02d",m_day);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_month);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_year);
		strcat(sz_marked,buf);
        
        strcat(sz_marked,"      ");

		if(m_type==0){
			strcat(sz_marked,"****");} //Marked
		else
			if(m_type==1){
				strcat(sz_marked,"***"); //Alaram
			}
			else
				strcat(sz_marked,"Mpg");
		strcat(sz_marked,"          ");
		
		sprintf(buf,"%02d",m_Camera);
		strcat(sz_marked,buf);
		strcat(sz_marked,"          ");
        
		int m_Duration_min=m_Duration/60;
		int m_Duration_ss=m_Duration%60;
		sprintf(buf,"%02d",m_Duration_min);
		strcat(sz_marked,buf);
		strcat(sz_marked,":");
		sprintf(buf,"%02d",m_Duration_ss);
        strcat(sz_marked,buf);
		
		m_ListBox.AddString(sz_marked);
	}
    Trans_MarkedFile2=Trans_MarkedFile;
    m_List_Flag=3;	 //today
//	SetDlgDvrState();

}

void CSearch::OnSearch() 
{
	// TODO: Add your control notification handler code here
	CString m_Houre;
	CString m_Min;
	CString m_Sec;
	char cmd[1];
    UpdateData(true);
	GetDlgItemText(IDC_EDIT_Start_HH,m_Houre);
	GetDlgItemText(IDC_EDIT_Start_MIN,m_Min);
	GetDlgItemText(IDC_EDIT_Start_SS,m_Sec);
   	
    CDateTimeCtrl* pCtrl = (CDateTimeCtrl*) GetDlgItem(IDC_SearchDATE);
    ASSERT(pCtrl != NULL);

    // get as a CTime
    CTime timeTime;
    DWORD dwResult = pCtrl->GetTime(timeTime);

    
	TRANSDATE TransDate;
	TRANS_SEARCH2 Trans_MarkedFile;
	
	SYSTEMTIME systime;
	::GetLocalTime(&systime);
    
	
	::memset(&TransDate,0,sizeof(TRANSDATE));
	TransDate.Camera=0;
	TransDate.StartDate.m_day=timeTime.GetDay();
	TransDate.StartDate.m_hour=atoi((const char*)m_Houre);
	TransDate.StartDate.m_min=atoi((const char*)m_Min);
    TransDate.StartDate.m_sec=atoi((const char*)m_Sec);
	TransDate.StartDate.m_month=timeTime.GetMonth();
	TransDate.StartDate.m_year=timeTime.GetYear();
  
	TransDate.EndDate.m_day=timeTime.GetDay();
	TransDate.EndDate.m_hour=23;
	TransDate.EndDate.m_min=59;
    TransDate.EndDate.m_sec=59;
	TransDate.EndDate.m_month=timeTime.GetMonth();
	TransDate.EndDate.m_year=timeTime.GetYear();
	TransDate.SearchTypeorSet=4;

    m_ListBox.ResetContent();
	::memset(&Trans_MarkedFile,0,sizeof(TRANS_SEARCH2));
  
	InitVRTLink(ConnectIP,ConnectPort);

	cmd[0]=VRTSearch;
	SendVRTData(cmd,1);
	Sleep(1);
	SendVRTData((char *)&TransDate,sizeof(TRANSDATE));
	RecvVRTData((char *)&Trans_MarkedFile,sizeof(TRANS_SEARCH2));
	CloseVRTLink();

	if(Trans_MarkedFile.Total==0)
	{
		m_ListBox.AddString(" 没有视频!");
		return;
	}
	char buf[200];
    char sz_marked[200];
	int m_year;
	int m_month;
	int m_day;
	int m_hour;
	int m_min;
	int m_sec;
	int m_Duration;
	
	int m_type;
    int m_Camera;
    m_ListBox.ResetContent();
	for(int i=0;i<Trans_MarkedFile.Total;i++)
	{
        
		::memset(buf,0,sizeof(buf));
		m_hour=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_hour;
		m_min=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_min;
		m_sec=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_sec;
		m_day=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_day;
		m_month=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_month;
		m_year=Trans_MarkedFile.T_Search[i].TransDate.StartDate.m_year;
		m_type=Trans_MarkedFile.T_Search[i].TransDate.SearchTypeorSet;
		m_Camera=Trans_MarkedFile.T_Search[i].TransDate.Camera;
		m_Duration=Trans_MarkedFile.T_Search[i].TransDate.Duration;
		
		sprintf(buf,"%02d",m_hour);
		strcpy(sz_marked,buf);

        strcat(sz_marked,":");
		sprintf(buf,"%02d",m_min);
		strcat(sz_marked,buf);

		strcat(sz_marked,":");
		sprintf(buf,"%02d",m_sec);
		strcat(sz_marked,buf);

        strcat(sz_marked,"  ");
        sprintf(buf,"%02d",m_day);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_month);
		strcat(sz_marked,buf);
        strcat(sz_marked,"/");
        sprintf(buf,"%02d",m_year);
		strcat(sz_marked,buf);
        strcat(sz_marked,"      ");

        m_hour=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_hour;
		m_min=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_min;
		m_sec=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_sec;
		m_day=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_day;
		m_month=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_month;
		m_year=Trans_MarkedFile.T_Search[i].TransDate.EndDate.m_year;
		
        
        sprintf(buf,"%02d",m_hour);
		strcat(sz_marked,buf);

        strcat(sz_marked,":");
		sprintf(buf,"%02d",m_min);
		strcat(sz_marked,buf);

		strcat(sz_marked,":");
		sprintf(buf,"%02d",m_sec);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -