如何在delphi中解决这个简单的错误

Öme*_*tos 0 delphi if-statement

我在IF代码中使用IF代码:

if Label1.Caption=Label2.Caption then
begin
  Form1.Close;
  Form2.Show;
end
if Label2.Caption=Label3.Caption then
begin
  Form1.Close;
  Form2.Show;
end
end;
Run Code Online (Sandbox Code Playgroud)

我不断收到错误的分号运算符错误 有人可以请求如何在IF中创建一个简单的IF(更多行(开始/结束))?

Dav*_*nan 7

您需要使用分号分隔语句.

begin
  if ... then 
  begin
    ....
  end; // <--- add missing semi colon
  if ... then 
  begin
    ....
  end; // <-- semi-colon not needed, but looks silly if omitted
end;
Run Code Online (Sandbox Code Playgroud)

代码中的两个if语句需要分开.Pascal语法要求语句由分号分隔.官方语言指南全面涵盖了语言语法的这一领域:http://docwiki.embarcadero.com/RADStudio/en/Declarations_and_Statements

最后一点.你在问题中指出第二个if嵌套在第一个if中.事实并非如此.它们是一个接一个的单独陈述.因此,如果两个条件评估为True,您将调用Form1.Close两次,然后Form2.Show两次.这似乎不是你的意图,但我无法猜测你的真实意图是什么.

  • 这应该是接受的答案,因为它指出了实际问题:-) (2认同)