初学delphi
判断闰年的,语句出错,[Error] Unit1.pas(49): 'END' expected but 'ELSE' found
高手看看
procedure TForm1.Button1Click(Sender: TObject);
var
year,month,day,days,i:integer;
begin
year:=spinedit1.Value;
month:=spinedit2.value;
day:=spinedit3.Value;
days:=0;
  if (year mod 4=0) and  (year mod 100<>0)  then
begin
    for i:=1 to month-1 do
  begin
    case i of
      4,6,9,11: days:=days+30;
      2: days:=days+29;
      else
      days:=days+30;
  end;
end
  else
begin
    for i:=1 to month-1 do
  begin
    case i of
      4,6,9,11: days:=days+30;
      2: days:=days+28;
      else
      days:=days+30;
  end;
end;
showmessage(inttostr(days));
end;
end.

解决方案 »

  1.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
    year,month,day,days,i:integer;
    begin
    year:=spinedit1.Value;
    month:=spinedit2.value;
    day:=spinedit3.Value;
    days:=0;
      if (year mod 4=0) and (year mod 100<>0) then
    begin
      for i:=1 to month-1 do
      begin
      case i of
      4,6,9,11: days:=days+30;
      2: days:=days+29;
      else
      days:=days+30;
      end;
    end
      else
    begin
      for i:=1 to month-1 do
      begin
      case i of
      4,6,9,11: days:=days+30;
      2: days:=days+28;
      else
      days:=days+30;
     end;//少个end
      end;
    end;
    showmessage(inttostr(days));
    end;
    end.
      

  2.   

    begin和end没有配好对,自己检查吧,做好缩进,很容易就看出来了
      

  3.   

    上面的那个Case 也少个相应的End;
      

  4.   

    [Error] Unit1.pas(49): 'END' expected but 'ELSE' found
    系统提示很清楚了……
      

  5.   

    2楼,我复制了你的,但还是没有通过,还是在else的地方
      

  6.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
    year,month,day,days,i:integer;
    begin
    year:=spinedit1.Value;
    month:=spinedit2.value;
    day:=spinedit3.Value;
    days:=0;
      if (year mod 4=0) and (year mod 100<>0) then
    begin
      for i:=1 to month-1 do
      begin
      case i of
      4,6,9,11: days:=days+30;
      2: days:=days+29;
      else
      days:=days+30;
      end;
      end;
    end
      else
    begin
      for i:=1 to month-1 do
      begin
      case i of
      4,6,9,11: days:=days+30;
      2: days:=days+28;
      else
      days:=days+30;
     end;//少个end
      end;
    end;
    showmessage(inttostr(days));
    end;
    end.