距离我上一次使用Pascal已经约20年了。我似乎无法正确地使用语言的结构元素,特别是在嵌套if then
块时使用begin
和end
。例如,这会让编译器报错,提示“需要标识符”("Identifier Expected")。
procedure InitializeWizard;
begin
Log('Initialize Wizard');
if IsAdminLoggedOn then begin
SetupUserGroup();
SomeOtherProcedure();
else begin (*Identifier Expected*)
Log('User is not an administrator.');
msgbox('The current user is not administrator.', mbInformation, MB_OK);
end
end;
end;
当然,如果我删除与它们相关的 if then
块和 begin end
块,那么一切都没问题。
有时候我能正确使用这种语法,并且结果也没问题,但是当嵌套 if then else
块时,问题会变得更加棘手。
仅仅解决问题还不够。我想要更好地理解如何使用这些块。显然我缺少某些概念。可能来自C++或C#的某些东西正在从我的思维的另一个部分渗入,并且破坏了我的理解力。我已经阅读了几篇相关文章,虽然我认为我理解了,但事实上并不是这样。