C++Builderを使用して数値の解析ソフトウェアを作っているのですが、112KBのファイルを9個同時に読み込むプログラムで、ファイルを読み込もうとすると 「プロジェクトproject1は例外クラスEStringListError(メッセージ'リストのインデックスが範囲を超えています(1)')を送出しました。」 というエラーが発生し、解決策が分からずに困っています。下のコードのnは0~8が入ります。ちなみに45.6KBのファイルではエラーは出ずに読み込めました。
C++
1void __fastcall TForm1::ReadFiles(int n) 2{ 3 OpenDialog1->Options << ofAllowMultiSelect; 4 int i, j; 5 int header_num = 22; 6 7 TStringList* file = new TStringList(); 8 TStringList* tsv = new TStringList(); 9 10 file->LoadFromFile(OpenDialog1->Files->Strings[n]); 11 12 tsv->Delimiter = '\t'; 13 14 for(i=header_num; i<(file->Count); i++) 15 { 16 tsv->DelimitedText = file->Strings[i]; 17 18 str[i-(header_num)][n+2] = tsv->Strings[1].ToDouble(); 19 StringGrid1->Cells[n+3][i-(header_num)+1] 20 = FormatFloat("0.00000;;0",str[i-(header_num)][n+2]); 21 } 22 23 delete tsv; 24 delete file; 25 26}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。