Buttonをクリックしておきる動作を1度だけにするには?

解決


ciel  2005-08-11 02:40:11  No: 16964

ButtonをクリックしたらMemoEditにデータを追加して、1度追加されたらそれ以上追加しないようにするにはどうすればいいでしょうか。Buttonには【procedure TForm1.Button1Click(Sender: TObject);
var
  E1,E2 : Integer;
  i : Integer;

begin
  if (TValEdit1.Text ='') or (TValEdit2.Text ='') then
    begin
    ShowMessage('数値が入力されていません');
      if TValEdit1.Text ='' then
         TValEdit1.SetFocus
      else
         TValEdit2.SetFocus;
    end
  else
  begin
    E1 := StrToInt(TValEdit1.Text);
    E2 := StrToInt(TValEdit2.Text);

  for i := E1 to E2 do
    MemoEdit1.Lines.Add(IntToStr(i)) ;
    MemoEdit1.Lines.Add('終了');

  end;】
が記述されています。まだ初心者ですのでおかしいところもあると思いますがよろしくお願いします。


駆け出し  2005-08-11 03:11:57  No: 16965

はぢめての回答かも^^

Button1.Enabled:= false;
{処理}
Button1.Enabled:= true;

過去ログ検索すれば、たくさん出てくると思いますけどね。
初心者同士、がんがりませう。


駆け出し  2005-08-11 03:13:33  No: 16966

場合によっては、
{処理}
Application.ProcessMessages;
Button1.Enabled:= true;
とするといいみたい。


にしの  2005-08-11 05:17:59  No: 16967

一度追加されたら二度と押さないというのであれば、
Button1.OnClick := nil;
でもできます。
次に押したい時があれば、
Button1.OnClick := Button1Click;
とすれば元に戻せます。


ciel  2005-08-12 20:17:32  No: 16968

ありがとうございました。がんばってみます。


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

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






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