掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CSVを特定の行だけStringGridに表示するには? (ID:25335)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TStringList上でデータの整形をした方がいいのでは? TStringGridは行削除が出来ないので面倒です。 下記を参考にして見て下さい。 procedure TForm1.Button1Click(Sender: TObject); var TextBuf, LineBuf: TStringList; MaxCol, I : Integer; begin MaxCol := 1; TextBuf:= TStringList.Create; LineBuf:= TStringList.Create; try TextBuf.LoadFromFile('aaa.txt'); // 該当データ以外の削除及び書込データの整形 for I:= TextBuf.Count - 1 downto 0 do begin LineBuf.CommaText:= TextBuf[I]; if AnsiCompareText(LineBuf[0], 'SIRO') <> 0 then TextBuf.Delete(I) else begin LineBuf.Delete(0); if LineBuf.Count > MaxCol then MaxCol:= LineBuf.Count; TextBuf[I]:= LineBuf.CommaText; end; end; // グリッドの行列数設定 StringGrid1.ColCount:= MaxCol; if (TextBuf.Count > 0) then StringGrid1.RowCount:= TextBuf.Count else StringGrid1.RowCount:= 1; // データ書込 for I:= 0 to TextBuf.Count - 1 do StringGrid1.Rows[I].CommaText:= TextBuf[I]; finally LineBuf.Free; TextBuf.Free; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.