关于串口通信CSerialPort类WriteToPort的问题

wrhjyx 2010-08-12 03:28:54
我又来问问题了。。。
我有32个edit的控件,地址分别为IDC_edit1—edit32,资源内地址也是连续的。我想用一个循环用WriteToPort分别输出。
对应的关联变量是m_press1——m_press32。我一个一个的输出时用的是变量输出形式
m_Port2.WriteToPort((LPCTSTR)m_press1);//这个能实现输出
但是我写32个太多了,我想用循环实现,但是不知道该怎么用.WriteToPort。
请高手指教!!!!
拜谢
...全文
224 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
悟迟 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lfchen 的回复:]

C/C++ code
// 你是指资源的ID是连续的?
CString str;
for(int i = baseID; i < 32 + baseID; i++) // baseID为第一个控件的ID
{
GetDlgItemText(i, str);
m_Port2.WriteToPort((LPCTSTR)str);
}
[/Quote]楼主说:“资源内地址也是连续的”
一条晚起的虫 2010-08-12
  • 打赏
  • 举报
回复
// 你是指资源的ID是连续的?
CString str;
for(int i = baseID; i < 32 + baseID; i++) // baseID为第一个控件的ID
{
GetDlgItemText(i, str);
m_Port2.WriteToPort((LPCTSTR)str);
}
悟迟 2010-08-12
  • 打赏
  • 举报
回复
这样好
int i = 0;
CString sText;
for (i=0; i<32; i++)
{
GetDlgItem(IDC_edit1 + i)->GetWindowTextW(sText);
m_Port2.WriteToPort(sText);
}
caitian6 2010-08-12
  • 打赏
  • 举报
回复
资源内地址也是连续的.
直接写个指针,指向首地址
CString *pCurrent = &m_press1;
for (int i = 0; i < 32; i++)
{
m_Port2.WriteToPort((LPCTSTR)(pCurrent->GetBuffer()));//
pCurrent->ReleaseBuffer( );
pCurrent++;
}
w1881 2010-08-12
  • 打赏
  • 举报
回复
一百个也不多啊,
用1楼的方法还是要写32次,给数组赋值;
ben_jobs 2010-08-12
  • 打赏
  • 举报
回复
int a1=1,a2=2,a3=3,a4=4,a5=5;
int *a[5]={&a1, &a2, &a3, &a4, &a5};
ben_jobs 2010-08-12
  • 打赏
  • 举报
回复
做一个地址指钍数组,将32个变量的地址放进去,然后就循环输出

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧