逐行发送已经实现,但间隔是固定,我想实现的功能就是第一行与第二行的发送间隔为1s,第二行与第三行的发送间隔3s,第三行与第四行的发送间隔为1s,等等总共100行而且之间的间隔是可调的。最关键的是还要所有设置的时间间隔都显示出来一边查找错误,这个功能的界面咋设置?求各位大神帮忙
解决方案 »
- 使用LibUIDK创建一个新的窗口,如何点击主窗口的按扭然后显示出新建的窗口
- 关于指针类型转换的问题
- 高手请指教!!我郁闷呀,苦绕两星期
- opengl 的初级问题,请高手指教
- 如何将指定窗口至于所有窗口前面(总在最前功能)???
- 如何解决窗口大小改变时控件闪烁问题?
- 关于ado中查询语句中日期型数据的表示方法,在线等候,谢谢
- 我的VC6今天编译的时候屏幕总是要黑掉,编译完后屏幕又恢复正常这是为什么?
- 请问如何一开机就自动运行我的程序
- 静态文本(static text)中的中文字体为什么是倒着排的,而英文字体正常,期待解决。。。
- 求助连接服务端的问题
- fwirte怎么用啊,编译没问题,一运行就崩溃。
内容就是比如
1、2行间隔时间 1s
2、3行间隔时间 3s
这样排
void CNetworkSendDataDlg::OnBnClickedKetiaoCheck()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(true, _T(".csv"), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
_T("Excel CSV File(*.csv)|*.csv|Text File(*.txt)|*.txt|Word File(*.doc)|*.doc|All File(*.*)|*.*||"), NULL);
CStdioFile file;
//获得要打开的文件
if (fileDlg.DoModal() != IDOK)
{
return;
}
CString strTxt;
CString strDefaultName[200], strDefineName[200], strStatus[200];
CString strTemp;
CFile file(fileDlg.GetPathName(), CFile::modeRead); // 定义文件对象
for (int i = 0; file.ReadString(strTemp); i++)
{
strDefaultName[i] = strTemp.Left(strTemp.Find('\t'));
strTemp = strTemp.Mid(strTemp.Find('\t') + 1);
strDefineName[i] = strTemp.Left(strTemp.Find('\t'));
strTemp = strTemp.Mid(strTemp.Find('\t') + 1);
strStatus[i] = strTemp.Trim();//将txt中的数据存入strStatus中
}
file.Close();
}
UINT CNetworkSendDataDlg::ketiao(LPVOID pParam)
{
HWND hwnd = ((RECVPARAM *)pParam)->hwnd;
CNetworkSendDataDlg *pDlg = (CNetworkSendDataDlg *)pParam;
CString data, str;
//char linestr[MAXSIZE] = { 0 };
int linecount = pDlg->m_EditSend.GetLineCount();
for (int i = 0; i < linecount; i++)
{
int len = pDlg->m_EditSend.LineLength(pDlg->m_EditSend.LineIndex(i));
pDlg->m_EditSend.GetLine(i, data.GetBuffer(len), len);
data.ReleaseBuffer(len);
if (pDlg->m_16send.GetCheck() == 1)
{
u_char outData[MAXSIZE] = { 0 };
int dataLength = pDlg->Str2Hex(data.GetBuffer(0), outData);
if (send(pDlg->m_clientSocket, (char *)outData, dataLength, 0) != SOCKET_ERROR)
pDlg->m_sendCounter += dataLength;
}
else
{
send(pDlg->m_clientSocket, data.GetBuffer(0), data.GetLength(), 0);
pDlg->m_sendCounter += data.GetLength();
Sleep(NstrStatus[i]);
}
}
return 0;
}
怎么将第一个函数的数组NstrStatus[i]传递给第二个函数用在sleep中。
pDlg->NstrStatus[i]
2.fpga处理时间很重要。。vc中这个定时器都不是很准,一般都采用发送串口指令,对方处理完毕之后给你一个回复,收到回复之后再发送下一条指令