我又来问问题了
我有32个edit的控件,地址分别为IDC_edit1—edit32,资源内地址也是连续的。我想用一个循环用WriteToPort分别输出。
对应的关联变量是m_press1——m_press32。我一个一个的输出时用的是变量输出形式
m_Port2.WriteToPort((LPCTSTR)m_press1);//这个能实现输出
但是我写32个太多了,我想用循环实现,但是不知道该怎么用.WriteToPort。
请高手指教!!!!
拜谢

解决方案 »

  1.   

        int a1=1,a2=2,a3=3,a4=4,a5=5;
        int *a[5]={&a1, &a2, &a3, &a4, &a5};
      

  2.   

    资源内地址也是连续的.
    直接写个指针,指向首地址
    CString *pCurrent = &m_press1;
    for (int i = 0; i < 32; i++)
    {
         m_Port2.WriteToPort((LPCTSTR)(pCurrent->GetBuffer()));//
         pCurrent->ReleaseBuffer( );
         pCurrent++;
      

  3.   

    这样好
    int i = 0;
    CString sText;
    for (i=0; i<32; i++)
    {
        GetDlgItem(IDC_edit1 + i)->GetWindowTextW(sText);
        m_Port2.WriteToPort(sText);
    }
      

  4.   

    // 你是指资源的ID是连续的?
    CString str;
    for(int i = baseID; i < 32 + baseID; i++) // baseID为第一个控件的ID
    {
        GetDlgItemText(i, str);
        m_Port2.WriteToPort((LPCTSTR)str);
    }