一个listview循环插入单元格数据的思路,求解决

keri_syml 2013-07-29 10:06:57
我现在有一行数据,unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11}; 有一个listview,每行只有4列,我想把senddata中的数据插入到listview中,插入后的效果如下:

listview:

列1 列2 列3 列4
01 02 03 04
05 06 07 08
09 10 11


请问该如何来写这个程序呢????
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
keri_syml 2013-07-29
  • 打赏
  • 举报
回复
引用 1 楼 ksrsoft 的回复:
void __fastcall TForm1::btn2Click(TObject *Sender)
{
     unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11};
      TListItem *pListItem1;
     TListColumn *pListItem;
     int i;

     ListView1->Columns->Clear();
     ListView1->Clear();
     ListView1->ViewStyle = vsReport;
     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C1";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C2";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C3";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C4";

     for(i=0;i<11;i++)
     {
         pListItem1 = ListView1->Items->Add();
         pListItem1->Caption = IntToHex(senddata[i++],2);
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2));
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
     }
}
看这个结果对不
谢谢,经测试,只要在循环里面添加一个i=i-1即可.
缘中人 2013-07-29
  • 打赏
  • 举报
回复
void __fastcall TForm1::btn2Click(TObject *Sender)
{
     unsigned char senddata[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11};
      TListItem *pListItem1;
     TListColumn *pListItem;
     int i;

     ListView1->Columns->Clear();
     ListView1->Clear();
     ListView1->ViewStyle = vsReport;
     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C1";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C2";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C3";

     pListItem = ListView1->Columns->Add();
     pListItem->Caption = "C4";

     for(i=0;i<11;i++)
     {
         pListItem1 = ListView1->Items->Add();
         pListItem1->Caption = IntToHex(senddata[i++],2);
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2));
         if(i>=11 )
            break;
         pListItem1->SubItems->Add( IntToHex(senddata[i++],2) );
     }
}
看这个结果对不
内容概要:LTK8319是一款单通道H桥有刷直流电机驱动器,工作电压范围为2.5V至12V,支持最高3.9A的峰值电流和2.5A的平均电流驱动能力,适用于小家电、玩具、电子锁、机器人等小型电动设备。该芯片通过两个逻辑输入(INA和INB)控制电机的正转、反转、停止与刹车,并支持PWM调速控制。集成欠压锁定(UVLO)、过温保护(TSD)及自动故障恢复功能,确保系统安全可靠运行。当INA和INB持续为低电平时,芯片进入低功耗休眠模式,显著降低静态功耗。采用ESOP-8封装,符合环保无铅标准。; 适合人群:电子工程师、嵌入式系统开发者、电机控制技术人员,以及从事小型机电产品研发的设计人员;具备基本电路知识和电机控制经验者更佳。; 使用场景及目标:①用于驱动小型有刷直流电机或步进电机的一个绕组,实现精确的方向与速度控制;②适用于电池供电设备中对功耗敏感的应用,利用休眠模式延长续航时间;③在电机启停频繁、负载波动大的场合,发挥其电流控制与保护机制优势,提升系统稳定性。; 阅读建议:此文档提供了详细的电气特性、功能逻辑表、保护机制与时序参数,建议结合典型应用电路进行硬件设计,并重点关注电源去耦电容选型、散热布局及PWM频率设置(不超过100kHz),以确保系统可靠运行。

13,872

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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