掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridで、範囲を超えたらエラーを出すには? (ID:38723)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
StringGridは以前苦しめられた経験あります。 表示されてないグリッドもしっかりデータを保持しています。 なので、表示されている範囲外でも、それ以前にデータを記入していたならば、 参照して値を取り出せてしまいます。 範囲外のグリッドは初期化されるものとばかり思い込んでいて、 最近そのまま保持されていることを知りましたw。 単純なものですが、以下は自分なりの回避策を書いてみました。 的外れだったらゴメンです。 var Form1: TForm1; i1,i2:integer; sw1:boolean; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1.Cells[10,10]:='10'; if StringGrid1.RowCount < i1 then if StringGrid1.ColCount < i2 then begin memo1.Text := ''; sw1 := True; end else begin memo1.Text := StringGrid1.Cells[i1,i2]; sw1 := false; end; end; procedure TForm1.SpinEdit1Change(Sender: TObject); begin i1 := SpinEdit1.Value; end; procedure TForm1.SpinEdit2Change(Sender: TObject); begin i2 := SpinEdit1.Value; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.