2011-12-26 26 views
-2

デルファイフォームで数値を加算したり減算したりしたい。私は2つのボタンを持っています.1つは "+"とマークし、もう1つは " - "とマークしました。Delphi:加算と減算

「+」ボタンをクリックすると、明らかに、編集ボックスに表示されている既存の値に数値を追加する必要があります。 「+」をクリックするたびに、編集ボックスの数字を1ずつ増やす必要があります。 " - "をクリックすると、編集ボックスの値から1を引く必要があります。この値は、既存の値(この場合は35)の値を下回ることはできません。

私の質問は、Delphiのコーディングでこれをどのように探すのですか。どのように変数を宣言しますか?あなたの "+" ボタンに次のコード

+2

を追加し、これはhomewですork? – menjaraz

+0

いいえ、私はビジュアル・パスカルが好きなので、私は自分自身にデルファイを教えています。 – Jake

+2

なぜ '+'と ' - 'ボタンを使用していますか?代わりに 'TSpinEdit'を使用して、' MinValue'プロパティを35に設定します。これは、ユーザがWindowsが整数値で動作することを期待する方法です。ボタンのクリックに加えて、キーボード入力も処理します。 –

答えて

0

書き込み、 " - " しかし、実際に違いはありません。あなたに

Edit1.Caption := IntToStr(StrToInt(Edit1.Caption)+1); 
2

" - " button.clickイベントこのコード

procedure TForm1.Button1Click(Sender: TObject); 
var 
    //declare all your variables here 
    result : integer; 
begin 
    result:=StrToInt(Edit1.text); 
    if result=35 then 
    exit 
    else 
    Edit1.text:=IntToStr(result-1); 

end; 

上を追加あなたの "+" buttonclickこの

procedure TForm1.Button2Click(Sender: TObject); 
begin 
    Edit1.text:=IntToStr(StrToInt(Edit1.Caption)+1); 

end; 
+1

もし私があなただったら、私は 'TryStrToInt()'の代わりに行きます。 – Pateman

+0

ありがとうたくさんの人! – Jake

0
procedure TForm1.btnIncrementClick(Sender: TObject); 
var 
    j: integer; 
begin 
    j := StrToInt(edit1.Text); 
    inc(j); 
    edit1.Text := IntToStr(j); 
end; 

procedure TForm1.btnDecrementClick(Sender: TObject); 
var 
    j: integer; 
begin 
    j := StrToInt(edit1.text); 
    if J > 35 then 
    begin 
    dec(j); 
    Edit1.Text := IntToStr(j); 
    end; 
end; 
+0

あなたの 'btnDecrementClick'コードが間違っています。値が35を下回ることを妨げるものではありません。それが代わりになると、それを減らします。 (値が36の場合、それを35に減らします。これはコードが行うことを求めるものではありません) –

+0

ハァッか。変数が35より大きい場合を除き、DECは呼び出されません。私はこれをテストして動作します。 –

+0

私が再び書いたものを読んでください。 OPは、** 35の下には行かない価値を求めた。それが** **の場合はそれを減らしていますが、**の場合は**をチェックしていません。 (これはエディットコントロールに '33 'を入力し、デクリメントボタンを押して' 32'にすることができ、コードが減少しないようにすることを意味します。テストは 'Dec(j); j <35 then j:= 35; Edit1.Text:= IntToStr(j);やそれに類するもの –