OnclickでStringGridのセルに値を入力し続けるには?


小夏  2004-08-22 20:17:15  No: 10492

Edit、Button、StringGridがある状態で、
OnclickでStringGridのセルに、項目を入力し続けて、いきたいと思っています。

1回、項目を入力しクリックすると、セルに入力することはできるのですが、2回目に項目を入力しクリックした際に、1回目で入力されたセルの次の行に入力されるようにしたいのですが・・・。

また、Editに入力し1度ボタンを押すと、Editが空白になり、新たな文字を入力できるようにしたいのですが、やり方がわからず困っています。

初心者なので、馬鹿なことを聞いているかもしれないのですが、
どぞよろしくお願いいたします。


TtPIPICH  2004-08-22 22:56:53  No: 10493

後者はonClickでEdit1.Clear()すればいいと思います。


TtPIPICH  URL  2004-08-22 23:01:27  No: 10494

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;


TtPIPICH  2004-08-22 23:02:34  No: 10495

コメントを忘れましたが
privateで「i:integer;」
を宣言して下さいってことです。


小夏  2004-08-23 02:32:27  No: 10496

>TtPIPICHさん
どうもありがとうございます。
教えていただいたとおりに編集したところ、無事にできました。
重ねてわからないことがあり、申し訳ないのですが質問させていただきます。
ここで、StringGridにある項目を検索したいのですが、
何を使えば検索をすることができるのでしょうか?

例えば
StringGrid1.Cells[1,i]:=Edit1.Text;
//ここで名前を入力して、名前データを並べていき、そのデータの中から
ある名前を探す、といったことを行いたいのです。

重ねがさね申し訳ありませんが、わかる方、教えていただけると嬉しいです。


残暑(~_~;)  2004-08-23 09:07:21  No: 10497

StringGridの Colsプロパティは TStringsなので
IndexOfで検索が可能。詳細はHELPざんしょ〜
StringGrid1.Cols[1].IndexOf('ある名前')


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加