掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TStringGridについて (ID:3424)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
説明には「各Cellsに格納されている文字列を取り出し」とかかれているのに、Rowsからとってきていますよね。 それはさておき。 まず、問題を分解して、そのままコードに置き換えられるような設計をなさってみてはどうでしょう。 たとえば、 > StringGrid1(RowCount:=3)の、あるRows(i行目)をダブルクリックして この時点のi行目というのは、StringGrid1.Rowです。 各Cellsに格納されている文字列を取り出し、Edit1.Textに表示させ Cellsの指定は、Cells[ACol, ARow]なので、i行目であれば、Cells[j, i]です。 では、jは何かというと、その行の最初のセルから最後のセルまでの位置です。 i := StringGrid1.Row; s := ''; for j := 0 to StringGrid1.ColCount - 1 do begin s := s + ' ' + StringGrid1.Cells[j, i]; end; これだと、最初に半角スペースが入るので、StringGrid1.ColCountが1より大きいと仮定して i := StringGrid1.Row; s := StringGrid1.Cells[0, i]; for j := 1 to StringGrid1.ColCount - 1 do begin s := s + ' ' + StringGrid1.Cells[j, i]; end; とすれば、入ります。 ちなみに、改行区切りでよければ、 s := StringGrid1.Rows[StringGrid1.Row].Text; でOKですよ。 やりたいことを実現するための処理が、きちんとできていないように思えます。 問題を、最小サイズに分割して、それぞれこなしてみましょう。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.