一个通过USB采集数据的程序中采集的数据是二进制的一个字节一个字节的,现在要把它转化成十进制,两个字节合并成一个十进制,在下面的程序中怎么修改???
BOOL CShowDlg::DrawWave()
{
CClientDC dc(this);
BOOL success = TRUE;
if (m_OpenFile.GetLength() > 0)
{
CFile file;
//打开文件读取数据
if (file.Open(m_OpenFile, CFile::modeRead | CFile::shareDenyNone))
{
DWORD size = file.GetLength();
DWORD dwBytesWritten = 0;
DWORD dwBytesRead = 0;
BYTE buf[MAX_PACKET_SIZE_READFILE];
if (file.Read(buf,115200))
{
for (int i=0;i<115200;i++)
{
int x=0;
int y=buf[i];
for (int n=0;n<289;n++)
{
if (i>400(n-1)-1,i<80+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>79+400(n-1),i<160+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>159+400(n-1),i<240+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>239+400(n-1),i<320+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>319+400(n-1),i<340+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>339+400(n-1),i<360+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>359+400(n-1),i<380+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
if (i>379+400(n-1),i<400+400(n-1))
{
dc.MoveTo(0,0);
dc.LineTo(x+i,y);
}
}
}
}
}
}
return TRUE;
}
还有,上面的饿程序出错了,画图一定要在void CTestView::OnDraw(CDC* pDC)这里画吗?如果是,怎么把这个函数调用到我需要的地方,如果不是,上面的函数错在哪?
请高手帮忙看一下