Delphi 德尔菲:加减法

Delphi 德尔菲:加减法,delphi,addition,subtraction,Delphi,Addition,Subtraction,我想在Delphi表单上添加和减去数字。我有两个按钮,一个标记为“+”,一个标记为“-” 如果单击“+”按钮,显然,它需要向编辑框中显示的预先存在的值添加一个数字。每次单击“+”时,编辑框中的数字需要增加1。如果单击“-”,则需要从编辑框中的值中减去1。该值不能低于先前存在的值,在本例中为35 因此,我的问题是,Delphi中的编码是如何查找的,以及如何声明变量?在“+”按钮上编写以下代码,“-”其实并没有什么不同: Edit1.Caption := IntToStr(StrToInt(Edit

我想在Delphi表单上添加和减去数字。我有两个按钮,一个标记为“+”,一个标记为“-”

如果单击“+”按钮,显然,它需要向编辑框中显示的预先存在的值添加一个数字。每次单击“+”时,编辑框中的数字需要增加1。如果单击“-”,则需要从编辑框中的值中减去1。该值不能低于先前存在的值,在本例中为35


因此,我的问题是,Delphi中的编码是如何查找的,以及如何声明变量?

在“+”按钮上编写以下代码,“-”其实并没有什么不同:

Edit1.Caption := IntToStr(StrToInt(Edit1.Caption)+1);
在“-”按钮上。单击事件添加此代码

 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;  
在“+”按钮上单击添加此项

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

 end;

如果我是你,我会选择
TryStrToInt()
。不。我自学delphi是因为我喜欢visual Pascal。为什么要使用
+
-
按钮?改为使用
TSpinEdit
,并将其
MinValue
属性设置为35。这是用户期望Windows处理整数值的方式;除了点击按钮之外,它还可以处理键盘输入。这有点离题(不是对你问题的直接回答),但我建议你继续。在MVP和MVC下标记的帖子可能会引起您的兴趣。不要忘记阅读的所有部分。您的
btn删除单击
代码是错误的。它不会阻止值低于35;相反,如果它过去了,它会递减。(如果值为36,则将其减至35。这不是问题要求代码执行的操作。)嗯?除非变量大于35,否则不会调用DEC。我测试了这个,它工作了。再看一遍我写的。OP要求数值不要低于35;如果它在上面,你将递减它,但不检查它是否在下面。(这意味着您可以在编辑控件中键入
33
,然后点击减量按钮使其
32
,您的代码不会阻止其减少。测试应为
Dec(j);如果j<35,则j:=35;Edit1.Text:=IntToStr(j)
,或类似的内容。我的错。我认为,因为他使用+和-按钮,所以他会将编辑控件设置为只读。只需再次阅读您的评论。我的代码很好,如果用户在编辑控件中键入33,则dec()从未被调用,因为我测试以确保值大于35。这不会阻止用户在编辑控件中输入较低的数字,但op没有要求这样做。
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;