Edit、Button、StringGridがある状態で、
OnclickでStringGridのセルに、項目を入力し続けて、いきたいと思っています。
1回、項目を入力しクリックすると、セルに入力することはできるのですが、2回目に項目を入力しクリックした際に、1回目で入力されたセルの次の行に入力されるようにしたいのですが・・・。
また、Editに入力し1度ボタンを押すと、Editが空白になり、新たな文字を入力できるようにしたいのですが、やり方がわからず困っています。
初心者なので、馬鹿なことを聞いているかもしれないのですが、
どぞよろしくお願いいたします。
後者はonClickでEdit1.Clear()すればいいと思います。
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
private
i:integer;
{ Private 宣言 }
public
{ Public 宣言 }
end;
(中略)
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.Cells[1,i]:=Edit1.Text;//1列i行目に代入
inc(i);//iを1増やす
Edit1.Clear();//消す
end;
コメントを忘れましたが
privateで「i:integer;」
を宣言して下さいってことです。
>TtPIPICHさん
どうもありがとうございます。
教えていただいたとおりに編集したところ、無事にできました。
重ねてわからないことがあり、申し訳ないのですが質問させていただきます。
ここで、StringGridにある項目を検索したいのですが、
何を使えば検索をすることができるのでしょうか?
例えば
StringGrid1.Cells[1,i]:=Edit1.Text;
//ここで名前を入力して、名前データを並べていき、そのデータの中から
ある名前を探す、といったことを行いたいのです。
重ねがさね申し訳ありませんが、わかる方、教えていただけると嬉しいです。
StringGridの Colsプロパティは TStringsなので
IndexOfで検索が可能。詳細はHELPざんしょ〜
StringGrid1.Cols[1].IndexOf('ある名前')
ツイート | ![]() |