关于VC++的 如果定位列表框,比如是我用ADO连接一个学生信息表,里面有学号等信息。我想用一个对话框,在对话框中输入正确的学号,它就定位在所对应的行那里,并且用不同的颜色显示出来!不对就跳出一个错误对话框 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 启动加载命令发送UINT32 CCU485LoadStartCmdSend(UINT16 uwIndex, UCHAR ucChannelNum, PRS485_BOARD_T pstNode)UINT8 aucBuf[8] = {0};UINT32 ulBlkNum = CCU_NULL_LONG; UINT32 ulRet = CCU_OK;UINT16 uwCmd = CCU_NULL_WORD;UINT16 uwHandle = CCU_NULL_WORD;CHECK;uwHandle = y6.uwHandle;aucBuf[0] = 0xff;/*采用crc校验*/aucBuf[1] = 0x02;ulBlkNum = CCU485MainBufLenToBlk(y6.ulMainBufLen);aucBuf[2] = (UCHAR)(ulBlkNum >> 8);aucBuf[3] = (UCHAR)ulBlkNum;/*每帧128字节*/aucBuf[4] = 0;aucBuf[5] = BLOCK_LEN;/*窗口宽度*/aucBuf[6] = WINDOW_WIDTH;switch (pstNode->enBoardType){ case CCU_485_FMU_TYPE_CA:aucBuf[7] = 0; break;case CCU_485_EMU_TYPE_CF: aucBuf[7] = 1; break;case CCU_485_PMU_TYPE_C9:aucBuf[7] = 2;break;case CCU_485_EFUSE_TYPE_CB: aucBuf[7] = 3; break;case CCU_485_TCU_TYPE_CC:aucBuf[7] = 0xFF;break;default:DBG_DOWNLOAD;return CCU_ERR;} uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + START_DOWNLOAD;ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, aucBuf, 8);if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}return CCU_OK;加载数据发送UINT32 CCU485LoadSegmentSend(UINT16 uwIndex, UCHAR ucChannelNum,PRS485_BOARD_T pstNode)UINT8 ucBuf[140] = {0};UINT32 ulRet = CCU_NULL_LONG;UINT16 uwCmd = CCU_NULL_WORD;UINT32 ulBlkLen = CCU_NULL_LONG;UINT16 uwHandle = CCU_NULL_WORD;CHECK_PARA1_NULL_RN(pstNode, CCU_ERR_MPI_INVALID_PARAMS);uwHandle = y6.uwHandle;/*帧号*/ucBuf[0] = (UCHAR)(y6.ulCurBlk >> 8);ucBuf[1] = (UCHAR)y6.ulCurBlk;ucBuf[2] = 0xff;ucBuf[3] = 0xff;if (y6.ulCurBlk == (y6.ulTotalBlk - 1)){ulBlkLen = y6.ulMainBufLen - (y6.ulCurBlk * BLOCK_LEN);}else{ulBlkLen = BLOCK_LEN;}/* 此处的134为ucBuf的长度140减去协议头6 */if ( ulBlkLen > 134){ DBG_DOWNLOAD;return CCU_485_ERR_LENGTH_OVERLOAD;}CHECK_PARA1_NULL_RN(y6.pFrame, CCU_ERR_MPI_INVALID_PARAMS); CCU_MemCpy((UCHAR*)&ucBuf[4],(UCHAR *)&(y6.pFrame[y6.ulCurBlk * BLOCK_LEN]),(INT)ulBlkLen);uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + LOAD_SEGMENT;ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, ulBlkLen + 4);if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}y6.ulCurBlk++;return CCU_OK; 停止加载命令转发UINT32 CCU485LoadEndSend(UINT16 uwIndex, UCHAR ucChanNum,PRS485_BOARD_T pstNode)UINT8 ucBuf[4] = {0};UINT32 ulRet = CCU_NULL_LONG;UINT16 uwCmd = CCU_NULL_WORD;UINT16 uwHandle = CCU_NULL_WORD;CHECK;uwHandle = g_ast485DownLoadTab[ucChanNum].astDataUint[uwIndex].uwHandle;ucBuf[0] = 0xff;ucBuf[1] = 0xff;uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + END_DOWNLOAD;ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, 2);if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}return CCU_OK;激活命令发送UINT32 CCU485ActiveVerSend(UINT16 uwIndex, UCHAR ucChanNum,PRS485_BOARD_T pstNode )UINT8 ucBuf[5] = {0};UINT32 ulRet = CCU_NULL_LONG;UINT16 uwCmd = CCU_NULL_WORD;UINT16 uwHandle = CCU_NULL_WORD;CHECK;uwHandle = g_ast485DownLoadTab[ucChanNum].astDataUint[uwIndex].uwHandle;ucBuf[0] = 0x01;ucBuf[1] = 0;ucBuf[2] = 0;uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + ACTIVE_APP;ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, 3);if(CCU_OK != ulRet){ DBG_DOWNLOAD; return ulRet;} return CCU_OK;根据文件名读文件UINT32 RS485ReadFileToBuf(CHAR *pfName, UCHAR **ppucBuf, UINT32 *pulLen) INT32 iLen = -1;UCHAR *pucBuf = CCU_NULL_PTR;INT32 iLen1;FILE *fp = CCU_NULL_PTR;/* 参数检查 */PARA_CHECK3(pfName,ppucBuf,pulLen)/* 打开文件 */fp = CCU_FOpen(pfName, "rb");if (CCU_NULL_PTR == fp){DBG_DOWNLOAD; return CCU_ERR;}/* 取文件长度 (设定文件操作指示器位置) 0是相对于SEEK_END的偏移量 */if (0 != CCU_FSeek(fp, 0, SEEK_END)){DBG_DOWNLOAD;CCU_FClose(fp); return CCU_ERR;}/* 得到文件指示器的值,实际上是文件的长度,从文件头到文件尾 */iLen = CCU_FTell(fp);if (iLen <= 0){DBG_DOWNLOAD;CCU_FClose(fp);return CCU_ERR;} /* 分配文件内存 */pucBuf = (UCHAR *)CCU_MemAlloc(CCU_MEM_INFO, CCU_MEM_PT_NO, (UINT32)iLen * sizeof(UCHAR));if (CCU_NULL_PTR == pucBuf){DBG_DOWNLOAD; CCU_FClose(fp);return CCU_ERR;}/* SEEK_SET 文件开始位置SEEK_CUR 文件当前位置SEEK_END 文件结束位置 */if (0 != CCU_FSeek(fp, 0, SEEK_SET)){DBG_DOWNLOAD; CCU_MemFree(CCU_MEM_INFO, pucBuf);pucBuf = CCU_NULL_PTR;CCU_FClose(fp);return CCU_ERR;}iLen1 = (INT32)CCU_FRead(pucBuf, sizeof(UCHAR), (UINT32)iLen, fp); XP SP3系统安装SQL2005开发版提示 求一份mssql数据连接的语句 求一个SQL:分区排名 谁能散点分哦 SQL Server2005的Analysis Services是否支持Crystal report 9 sql server configuration manager 打不开 【疑难】在从服务器接收结果时发生传输级错误。【疑难】 在VB里调用带exec的存储过程问题 sql2000数据库检测错误,数据库修复的解决方案? sql高手的问题!(分不够我可以在给 在线) 多指依赖的有效性与属性集的范围有关。怎么理解? 请问这个SQL语句要怎么写?
UINT32 CCU485LoadStartCmdSend(UINT16 uwIndex, UCHAR ucChannelNum, PRS485_BOARD_T pstNode)
UINT8 aucBuf[8] = {0};UINT32 ulBlkNum = CCU_NULL_LONG; UINT32 ulRet = CCU_OK;
UINT16 uwCmd = CCU_NULL_WORD;UINT16 uwHandle = CCU_NULL_WORD;CHECK;
uwHandle = y6.uwHandle;aucBuf[0] = 0xff;/*采用crc校验*/aucBuf[1] = 0x02;
ulBlkNum = CCU485MainBufLenToBlk(y6.ulMainBufLen);
aucBuf[2] = (UCHAR)(ulBlkNum >> 8);aucBuf[3] = (UCHAR)ulBlkNum;
/*每帧128字节*/aucBuf[4] = 0;aucBuf[5] = BLOCK_LEN;
/*窗口宽度*/aucBuf[6] = WINDOW_WIDTH;switch (pstNode->enBoardType)
{ case CCU_485_FMU_TYPE_CA:aucBuf[7] = 0; break;
case CCU_485_EMU_TYPE_CF: aucBuf[7] = 1; break;
case CCU_485_PMU_TYPE_C9:aucBuf[7] = 2;break;
case CCU_485_EFUSE_TYPE_CB: aucBuf[7] = 3; break;
case CCU_485_TCU_TYPE_CC:aucBuf[7] = 0xFF;break;
default:DBG_DOWNLOAD;return CCU_ERR;}
uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + START_DOWNLOAD;
ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, aucBuf, 8);
if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}return CCU_OK;
加载数据发送
UINT32 CCU485LoadSegmentSend(UINT16 uwIndex, UCHAR ucChannelNum,PRS485_BOARD_T pstNode)
UINT8 ucBuf[140] = {0};UINT32 ulRet = CCU_NULL_LONG;UINT16 uwCmd = CCU_NULL_WORD;
UINT32 ulBlkLen = CCU_NULL_LONG;UINT16 uwHandle = CCU_NULL_WORD;
CHECK_PARA1_NULL_RN(pstNode, CCU_ERR_MPI_INVALID_PARAMS);uwHandle = y6.uwHandle;
/*帧号*/ucBuf[0] = (UCHAR)(y6.ulCurBlk >> 8);ucBuf[1] = (UCHAR)y6.ulCurBlk;
ucBuf[2] = 0xff;ucBuf[3] = 0xff;if (y6.ulCurBlk == (y6.ulTotalBlk - 1))
{ulBlkLen = y6.ulMainBufLen - (y6.ulCurBlk * BLOCK_LEN);}
else{ulBlkLen = BLOCK_LEN;}/* 此处的134为ucBuf的长度140减去协议头6 */
if ( ulBlkLen > 134){ DBG_DOWNLOAD;return CCU_485_ERR_LENGTH_OVERLOAD;}
CHECK_PARA1_NULL_RN(y6.pFrame, CCU_ERR_MPI_INVALID_PARAMS);
CCU_MemCpy((UCHAR*)&ucBuf[4],(UCHAR *)&(y6.pFrame[y6.ulCurBlk * BLOCK_LEN]),(INT)ulBlkLen);
uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + LOAD_SEGMENT;
ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, ulBlkLen + 4);
if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}y6.ulCurBlk++;return CCU_OK;
UINT32 CCU485LoadEndSend(UINT16 uwIndex, UCHAR ucChanNum,PRS485_BOARD_T pstNode)
UINT8 ucBuf[4] = {0};UINT32 ulRet = CCU_NULL_LONG;
UINT16 uwCmd = CCU_NULL_WORD;
UINT16 uwHandle = CCU_NULL_WORD;CHECK;
uwHandle = g_ast485DownLoadTab[ucChanNum].astDataUint[uwIndex].uwHandle;
ucBuf[0] = 0xff;ucBuf[1] = 0xff;
uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + END_DOWNLOAD;
ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, 2);
if(CCU_OK != ulRet){DBG_DOWNLOAD;return ulRet;}return CCU_OK;
激活命令发送
UINT32 CCU485ActiveVerSend(UINT16 uwIndex, UCHAR ucChanNum,PRS485_BOARD_T pstNode )
UINT8 ucBuf[5] = {0};UINT32 ulRet = CCU_NULL_LONG;UINT16 uwCmd = CCU_NULL_WORD;
UINT16 uwHandle = CCU_NULL_WORD;CHECK;
uwHandle = g_ast485DownLoadTab[ucChanNum].astDataUint[uwIndex].uwHandle;
ucBuf[0] = 0x01;ucBuf[1] = 0;ucBuf[2] = 0;uwCmd = ((UINT16)LOAD_NODE_TYPE << 8) + ACTIVE_APP;
ulRet = SendAsyMsgToPnP(pstNode->ulResId, uwCmd, uwHandle, TO_PNP_ASY_TYPE, ucBuf, 3);
if(CCU_OK != ulRet){ DBG_DOWNLOAD; return ulRet;} return CCU_OK;
根据文件名读文件
UINT32 RS485ReadFileToBuf(CHAR *pfName, UCHAR **ppucBuf, UINT32 *pulLen)
INT32 iLen = -1;UCHAR *pucBuf = CCU_NULL_PTR;INT32 iLen1;
FILE *fp = CCU_NULL_PTR;/* 参数检查 */PARA_CHECK3(pfName,ppucBuf,pulLen)
/* 打开文件 */fp = CCU_FOpen(pfName, "rb");if (CCU_NULL_PTR == fp){
DBG_DOWNLOAD; return CCU_ERR;}
/* 取文件长度 (设定文件操作指示器位置) 0是相对于SEEK_END的偏移量 */
if (0 != CCU_FSeek(fp, 0, SEEK_END)){DBG_DOWNLOAD;CCU_FClose(fp); return CCU_ERR;}
/* 得到文件指示器的值,实际上是文件的长度,从文件头到文件尾 */
iLen = CCU_FTell(fp);if (iLen <= 0){DBG_DOWNLOAD;CCU_FClose(fp);return CCU_ERR;}
/* 分配文件内存 */pucBuf = (UCHAR *)CCU_MemAlloc(CCU_MEM_INFO, CCU_MEM_PT_NO, (UINT32)iLen * sizeof(UCHAR));
if (CCU_NULL_PTR == pucBuf){DBG_DOWNLOAD; CCU_FClose(fp);return CCU_ERR;}
/* SEEK_SET 文件开始位置SEEK_CUR 文件当前位置SEEK_END 文件结束位置 */
if (0 != CCU_FSeek(fp, 0, SEEK_SET)){DBG_DOWNLOAD; CCU_MemFree(CCU_MEM_INFO, pucBuf);
pucBuf = CCU_NULL_PTR;CCU_FClose(fp);return CCU_ERR;}
iLen1 = (INT32)CCU_FRead(pucBuf, sizeof(UCHAR), (UINT32)iLen, fp);