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