首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

把csv文件输入至listview中显示,怎么在多列显示?

2012-06-02 
把csv文件输入至listview中显示,如何在多列显示??我用写了一段程序,想把以下数据(protel中得出的元件坐标c

把csv文件输入至listview中显示,如何在多列显示??
我用写了一段程序,想把以下数据(protel中得出的元件坐标csv文件)以列的形式显示在listview中,原因就是listview中好设置checkbox,方便选中。但是,程序运行结果是所有的数据都在第一列显示,请高手指点怎么在多列显示(即Designator,Footprint,Mid X...都是在不同的列显示)???第一次发帖,盼望高手指点。
Designator,Footprint,Mid X,Mid Y,Ref X,Ref Y,Pad X,Pad Y,Layer,Rotation,Comment
,,,,,,,,,,
L1,C1005-0402,103.124mm,69.596mm,103.124mm,69.596mm,103.124mm,68.946mm,T,90,Inductor
JP1,HDR1X6,100.584mm,63.246mm,100.584mm,69.596mm,100.584mm,69.596mm,T,270,Header 6
程序如下[code=C/C++][/code]ifstream theCSV;
theCSV.open(sFileName.c_str(),ios::nocreate);
if(theCSV.fail())
{
ShowMessage("打开文件失败");
return;
}
  char buff[100];
for(int i=0;i<1000;i++)
{
while(!theCSV.eof())
  {
theCSV.getline( buff,100, ',' );
{
ListView1->Items->Insert(i);
ListView1->Items->Item[i]->SubItems->Add(buff);
}
}
}
  theCSV.close();




[解决办法]

C/C++ code
void __fastcall TForm1::Button1Click(TObject *Sender){    TStringList *lst = new TStringList;    lst->LoadFromFile("D:\\ccrun\\a.csv");    String strLine, str;    for (int i = 0; i < lst->Count; i++)    {        strLine = lst->Strings[i];        TListItem *li = ListView1->Items->Add();        while (strLine.Pos(","))        {            str = strLine.SubString(1, strLine.Pos(","));            strLine = strLine.SubString(strLine.Pos(",") + 1, strLine.Length());            if (li->Caption.Length() < 1)                li->Caption = str;            else                li->SubItems->Add(str);        }        if (li->Caption.Length() < 1)            li->Caption = strLine;        else            li->SubItems->Add(strLine);    }    delete lst;} 

热点排行