Delphi中的Sqrt函数

Raú*_*ade 2 windows delphi calculator sqrt

作为一个让我自己进行的练习,我想在Delphi中设计一个计算器.所以,总和,子道,乘法和划分是相当有效的.

我与Square Root有关的唯一功能.

变量是扩展的,我几乎只是从String(我使用两个EditBox)转换为Float

var
   Form1: TForm1;
   a, b, r: Extended;

procedure TForm1.SqrtClick(Sender: TObject);
begin
   a  := StrToFloat(Edit1.Text);
   r  := Sqrt(a);
   ShowMessage(FloatToStr(r));
end;
Run Code Online (Sandbox Code Playgroud)

德尔福回归我

[错误] calc.dpr(72):缺少运算符或分号.

And*_*and 14

在上面的代码段中,问题并不明显.但由于我获得了通灵能力,我仍然可以告诉他们这里发生了什么.

sqrt的表单上有一个按钮.因此,当您sqrt在代码中编写时,它指的是按钮,而不是RTL函数.

解决方案:写入System.Sqrt而不是Sqrt(= Self.Sqrt,按钮),或重命名按钮.

  • @PieterB:你的意思是存在名为`sqrt`的按钮?一个提示是程序的名称`SqrtClick`,但在我发布我的答案之前我实际上没有看到.由于OP在`Sqrt(某个数字)`上得到错误消息`Missing operator or semicolon`,很明显`Sqrt`不是函数或过程,但仍然是有效的标识符.因此,它很可能是一个对象.计算器有一个名为`sqrt`的按钮并不是很牵强. (2认同)