获取控制卡文件信息
CStringList CStrList;
CP5200_Net_Init( IPStringToValue( strip ) ,5200, IPStringToValue( _T("255.255.255.255")), 600 );// COM_Create();//網(wǎng)絡初始化
if ( CP5200_Net_Connect() )
{
HOBJECT hObj = CP5200_CommData_Create( 1 , 0xff , IPStringToValue( "255.255.255.255" ) );//創(chuàng)建數(shù)據(jù)包對象
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 );//生成取得文件信息命令的數(shù)據(jù)
if ( nDatLen > 0 && 1 == CP5200_Net_Write(szBuf, nDatLen ) )// CP5200_Net_Write()利用網(wǎng)絡寫數(shù)據(jù)
{
nDatLen = CP5200_Net_Read(szBuf, sizeof(szBuf) );//接收數(shù)據(jù)
if ( nDatLen > 0 )
{
int nFilePos = 0;
int nFileCnt = CP5200_ParseGetFileInfoRet(hObj, szBuf, nDatLen , nFilePos, szInfo, sizeof(szInfo)); //返回文件數(shù)量
while( nFilePos++ < nFileCnt )
{
CString strText;
strText.Format("%s", (const char*)&szInfo[0]);//文件名(含擴展名)里面以0結(jié)束;
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*)把這個指針轉(zhuǎn)化成long型,在加上*取地址得到值;
CStrList.AddTail( strText );
if ( nFilePos < nFileCnt)
CP5200_ParseGetFileInfoRet(hObj, szBuf, nDatLen , nFilePos, szInfo, sizeof(szInfo));
}
nNewSearch = 0;
if ( nFileCnt < 4)
break;
}
}
}
CP5200_CommData_Destroy(hObj);
}
CP5200_Net_Disconnect();
}
轉(zhuǎn)載于:https://www.cnblogs.com/chenzuoyou/archive/2013/06/13/3133444.html
總結(jié)
- 上一篇: JavaScript 解决浮点值运算Bu
- 下一篇: 9i DB_FILE_MULTIBLOC