读取控制卡文件、文件时间、文件大小
void CInfoStationDlg::OnBnClickedSignstat()
{	
	CString strip;
	POSITION pos = m_listCtrlSign.GetFirstSelectedItemPosition() ;
	if ( !pos)
	{
		MessageBox( " please Select Sign" , MB_OK );
		return;
	}
	else
	{	
		int nindex = m_listCtrlSign.GetNextSelectedItem( pos );
		CSign *pSign = ( CSign * )m_listCtrlSign.GetItemData( nindex );
		strip = pSign->GetIP();
	}
	CStringList CStrList;
	CP5200_Net_Init( IPStringToValue( strip ) ,5200,  IPStringToValue( _T("255.255.255.255")), 600 );//	COM_Create();//网络初始化
	if ( CP5200_Net_Connect() )
	{
		HOBJECT hObj = CP5200_CommData_Create( 1 , 0xff , IPStringToValue( "255.255.255.255" ) );//创建数据包对象
		if(hObj)
		{
			int nNewSearch = 1;
			BYTE szInfo[1024];
			BYTE szBuf[1024]; //Max 512 files, each file 32 bytes
			memset(szInfo, 0x00, sizeof(szInfo));
			while(1)
			{
				int nDatLen = CP5200_MakeGetFileInfoData(hObj, szBuf, sizeof(szBuf),  nNewSearch );//生成取得文件信息命令的数据
				if ( nDatLen > 0 && 1 == CP5200_Net_Write(szBuf,  nDatLen ) )// CP5200_Net_Write()利用网络写数据
				{
					nDatLen = CP5200_Net_Read(szBuf, sizeof(szBuf) );//接收数据
					if ( nDatLen > 0 )
					{
						int nFilePos = 0;
						int nFileCnt = CP5200_ParseGetFileInfoRet(hObj, szBuf, nDatLen , nFilePos, szInfo, sizeof(szInfo)); //返回文件数量
						while( nFilePos++ < nFileCnt )
						{
							CString strText;
							strText.Format("%s", (const char*)&szInfo[0]);//文件名(含扩展名)里面以0结束;
							CStrList.AddTail( strText );
							strText.Format("%02d%02d-%02d-%02d %02d:%02d:%02d",	szInfo[45],szInfo[46],szInfo[47],szInfo[48],szInfo[49],szInfo[50],szInfo[51]  );
							CStrList.AddTail( strText );
							strText.Format("%ld", *((long*)&szInfo[52]));//文件 szInfo[52]获取的是值,加上&是这个值的地址,就是指针指针,加上(long*)把这个指针转化成long型,在加上*取地址得到值;
							CStrList.AddTail( strText );
							if ( nFilePos < nFileCnt)
								CP5200_ParseGetFileInfoRet(hObj, szBuf, nDatLen , nFilePos, szInfo, sizeof(szInfo)); 
						}
						nNewSearch = 0;//这里变成接着上面搜索。如果是1的话,就是从头开始搜索。
						if ( nFileCnt < 4)
							break;
					} 
				}
			}
			CP5200_CommData_Destroy(hObj);
		}
		CP5200_Net_Disconnect();		
	}
	DlgContrlCardInfo dlg( &CStrList );
	dlg.DoModal();
}
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号