Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Delphi中的Sqrt函数_Windows_Delphi_Calculator_Sqrt - Fatal编程技术网

Windows Delphi中的Sqrt函数

Windows Delphi中的Sqrt函数,windows,delphi,calculator,sqrt,Windows,Delphi,Calculator,Sqrt,作为一个让我投入其中的练习,我想用Delphi设计一个计算器。到目前为止,和、子域、乘法和除法都很有效 我唯一对平方根有问题的函数 变量是扩展的,我基本上只是将字符串(我使用两个EditBox)转换为Float 德尔菲,它还我 [错误]calc.dpr(72):缺少运算符或分号 这个问题在上面的代码片段中并不明显。但既然我有了超能力,我仍然能知道这里发生了什么 表单上有一个名为sqrt的按钮。因此,在代码中写入sqrt时,它指的是按钮,而不是RTL函数 解决方案:编写System.Sqrt,而不

作为一个让我投入其中的练习,我想用Delphi设计一个计算器。到目前为止,和、子域、乘法和除法都很有效

我唯一对平方根有问题的函数

变量是扩展的,我基本上只是将字符串(我使用两个EditBox)转换为Float

德尔菲,它还我

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


这个问题在上面的代码片段中并不明显。但既然我有了超能力,我仍然能知道这里发生了什么

表单上有一个名为
sqrt
的按钮。因此,在代码中写入
sqrt
时,它指的是按钮,而不是RTL函数


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

@Micha Wiednmann刚刚做了,仍然是相同的错误。第72行表示R:=Sqrt(a)@米查维登曼:不,那里绝对不需要分号。分号不用于结束语句,而是用于分隔两个语句。因此,块中最后一个分号后面不需要分号。@AndreasRejbrand yes,没有意识到:-(请停止使用全局variables@PieterB:您的意思是存在名为
sqrt
的按钮吗?一个提示是过程的名称
SqrtClick
,但在我发布答案之前我实际上没有看到。因为OP在
sqrt(一些数字)上收到错误消息
缺少运算符或分号
,很明显,
Sqrt
不是一个函数或过程,但仍然是一个有效的标识符。因此,它很可能是一个对象。计算器有一个名为
Sqrt
的按钮并不牵强。
var
   Form1: TForm1;
   a, b, r: Extended;

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