编写一个判断登陆语句,编译通过,但运行后按钮还是灰色的
  str:=AdoQuery1.fieldbyname('权限名称').AsString;
    
  if str='进货单' then
    manage.Button1.Enabled:=true;
  if str='销售单' then
     manage.Button2.Enabled:=true;
  
费了老大劲后来修改为
  if str='进货单' then
  begin
    manage.Button1.Enabled:=true;
  end;
  if str='销售单' then
  begin
     manage.Button2.Enabled:=true;
   end;
登录后按钮显示正常。请教为什么不加begin end编译能通过却不正常,应该什么情况下加,什么情况下不加
谢谢!

解决方案 »

  1.   

    按你写代码,每种执行一次后,就没有效果了。
    其实,我觉得你应该这样写.
      if str='进货单' then
      begin
        manage.Button1.Enabled:=true;
        manage.Button2.Enabled:=false;
      end;
      if str='销售单' then
      begin
        manage.Button2.Enabled:=true;
        manage.Button1.Enabled:=false;
      end;
      

  2.   

    if后面语句只有一句,或者后面是with,while,for...的话,加不加begin...end效果都一样这只是其中一段代码吧,是不是还有另外的代码