動作環境
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/28)
csv文字列をTStringGridの最後の行に追加する実装。
#include <memory>
// 中略
void __fastcall TFormUserList::addLine(String csvline, TStringGrid *dstPtr)
{
if (dstPtr == NULL) {
return; // error
}
std::unique_ptr<TStringList> line (new TStringList);
line->StrictDelimiter = true;
line->Delimiter = L',';
line->DelimitedText = csvline;
int last = dstPtr->RowCount;
dstPtr->RowCount = last + 1;
for(int idx=0; idx < line->Count; idx++) {
dstPtr->Cells[idx][last - 1] = line->Strings[idx];
}
dstPtr->Refresh();
}
使用例
(追記 2018/10/17)
以下のような使い方ができる。
addLine(L"PI,3.141592", StringGrid1);
addLine(L"Napier,2.7182", StringGrid1);
addLine(L"Avogadro,6.0221023", StringGrid1);