C++Builder Tips


CSVファイル(カンマ区切りテキスト)の読み込み


CSVファイルをTStringListのCommmaTextプロパティで1項目づつ分割しリストボックスとリストビューに表示します。

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  AnsiString strPath = ExtractFilePath(Application->ExeName) + "Book1.csv";

  TStringList *strlFile = new TStringList;
  TStringList *strlRec = new TStringList;

  strlFile->LoadFromFile(strPath);

  //リストビューに追加
  for(int i=0;i<strlFile->Count;i++){
    strlRec->CommaText = strlFile->Strings[i];
    if(strlRec->Count > 0){
      ListView1->Items->Add()->Caption = strlRec->Strings[0];
      ListView1->Items->Item[i]->SubItems->Add(strlRec->Strings[1]);
      ListView1->Items->Item[i]->SubItems->Add(strlRec->Strings[2]);
    }
  }

  //リストボックスに追加
  TStringList *strlList = new TStringList;

  for(int i=0;i<strlFile->Count;i++){
    strlRec->CommaText = strlFile->Strings[i];
    if( strlRec->Count > 0 ){
      strlList->AddStrings(strlRec);
    }
  }

  ListBox1->Items->Assign(strlList);

  delete strlFile;
  delete strlRec;
  delete strlList;

}

DownLoad bcbtips062.lzh 4KB(BCB5)