Delphi中做加法,总显示错误missing operator or semicolon

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi中做加法,总显示错误missing operator or semicolon相关的知识,希望对你有一定的参考价值。

procedure Tform1.Button1Click(Sender: TObject);
var
cmdstr:string;
str:string;
ab:string;
ac:string;
bb:string;
bc:string;
x,y,z,o:integer;
result:string;
//////////////begin
if checkbox1.checked then
begin

Randomize;
ADOQuery1.Close;
ADOquery1.SQL.Clear;
cmdstr:=edit2.text;

str:='select top ' + cmdstr + ' * from choice order by Rnd(-id*' + IntToStr(Random(100)) + ')';
ADOQuery1.SQL.Add(str);
ADOquery1.Open;
end;
if checkbox2.checked then
begin
Randomize;
ADOQuery2.Close;
ADOquery2.SQL.Clear;
ab:=edit3.text;
ac:='select top ' + ab + ' * from judge order by Rnd(-id*' + IntToStr(Random(100)) + ')';
ADOQuery2.SQL.Add(ac);
ADOquery2.Open;
end;
if checkbox3.checked then
begin
Randomize;
ADOQuery3.Close;
ADOquery3.SQL.Clear;
bb:=edit9.text;
bc:='select top ' + bb + ' * from tiankong order by Rnd(-id*' + IntToStr(Random(100)) + ')';
ADOQuery3.SQL.Add(bc);
ADOquery3.Open;
end;///////////////////////////
x:=strtoint(edit1.Text);
y:=strtoint(edit6.Text);
z:=strtoint(edit10.Text);
o:=x+y+z;
str(o,result);
label15.Caption:='总分值为:'+result;

end;
///中的都是对的 但是我一旦加上后面那句加法的代码,就会提示missing operator or semicolon,并且错误是出在str(o,result);上 ,我想实现的功能很简单,就是让三个edit返回的值相加,而且在代码中我也保证了三个edit框至少有值是0,不知道为什么不能运行,是不是关于字符类型定义有关,恳请高手看下

参考技术A 语法错误,result := inttostr(o);追问

str(o,result);
我之前也有类似的功能,这句可以实现,不过我现在改成你给的可以运行,不过运行时只能 总分值为: result结果没有显示出来,我实现了,我一开始把LABEL15的caption在Inspector中改成空的 ,但是现在有个问题,就是运行开始label的caption是label15

追答

哦,我试了下,确实可以
procedure TForm1.Button3Click(Sender: TObject);
var
x,y,o: Integer;
result: string;
begin
x:=strtoint(edit1.Text);
y:=strtoint(edit2.Text);
o:=x+y;
str(o,result);
label1.Caption:='总分值为:'+result

end;

总分值为:10

这个是正确的,问一下,你测试的时候也是这样吗?
//////////////begin
如果是这样的话,问题就出在这~

你的没显示,也有可能是label15的长度不够~~

caption的问题应该不会吧,我这试着没问题,你可以在窗体onshow里加个初始化操作试试
label15.caption := '';

追问

对 我在createform初始加了label15.caption := ''; 然后把label15属性font改成宋体,才可以正常显示了,非常谢谢你了,至于 str(o,result); 我这样就会错误,不知道为什么 ,我就用了呢先给的那个

本回答被提问者采纳

以上是关于Delphi中做加法,总显示错误missing operator or semicolon的主要内容,如果未能解决你的问题,请参考以下文章

重装系统以后总提示“ntldr is missing”怎么解决?

Delphi I/O Errors(几百种不同的错误)

delphi7报错: Missing operator or semicolon

我是个Delphi新手,在安装Delphi第三方控件时,按照标准步骤.却总不能在控件面版上显示新控件.求高手帮忙!

带有 SDL 的 CMake 导致错误

这个 Delphi 6 位图修改代码可以用 SIMD 或其他方法加速吗?