ger*_*ard 6 delphi if-statement and-operator
我被一位朋友带到了这个网站.
我试图and在Delphi中使用,但我似乎做错了.你需要投入使用吗?
我有以下代码:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:string;
begin
a:=edit1.Text;
b:=edit2.Text;
if a=abc and b=def then
showmessage(a+b);
end;
Run Code Online (Sandbox Code Playgroud)
我在第二个=符号时收到错误
PA.*_*PA. 31
您必须添加一些括号来更改运算符优先级:
if (a=abc) and (b=def) then
Run Code Online (Sandbox Code Playgroud)
运算符and在前面,=因此没有括号的结构被理解为
a=(abc and b=def)产生语法错误.
The*_*Fox 10
and优先级高于=.所以if a=abc and b=def then变得if a=(abc and b)=def then无效.所以写得像if (a=abc) and (b=def) then.
Delphi 的运算符优先级规则正在绊倒你.有四个级别.
在您的示例中,AND比较将首先发生,除非您使用括号强制首先完成相等比较.