数据采集程序,用编辑框显示编码器的角度,编辑框显示内容如下: 000034595 
=+000034595 
=+000034595 
=+000034595 
=烫 其中有效角度为345.95 请问 1.为什么编辑框的内容会自动换行? 
     2.如何读取第三行的显示内容? 

解决方案 »

  1.   

    程序接收段代码如下:
    void CRS485CommDlg::OnReceive() 
    {
    // TODO: Add your control notification handler code here
    OVERLAPPED m_osRead;
    memset(&m_osRead,0,sizeof(OVERLAPPED));
    m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL); COMSTAT ComStat;
    DWORD dwErrorFlags;
    char str[50];
    char *aa;
    double value;
    memset(str,'\0',50);
    DWORD dwBytesRead=50;//读取的字节数
    BOOL bReadStat; ClearCommError(hCom,&dwErrorFlags,&ComStat);
    dwBytesRead=min(dwBytesRead, (DWORD)ComStat.cbInQue);
    bReadStat=ReadFile(hCom,str,dwBytesRead,&dwBytesRead,&m_osRead);
    if(!bReadStat)
    {
    if(GetLastError()==ERROR_IO_PENDING)
        //GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作
    {
    WaitForSingleObject(m_osRead.hEvent,1000);
        //使用WaitForSingleObject函数等待,直到读操作完成或延时已达到2秒钟
        //当串口读操作进行完毕后,m_osRead的hEvent事件会变为有信号
    }
    } PurgeComm(hCom, PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);  //清空缓冲区         m_disp=str; UpdateData(FALSE);
    }