[fpc-pascal] Re: Is this if /else syntax wrong?

Frank Church vfclists at gmail.com
Thu Jul 1 11:53:29 CEST 2010


I will be upgrading to 2.4.0 soon.

It shouldn't be an error then.

2010/7/1 Guillermo Mart=EDnez Jim=E9nez <gmartinez at burdjia.com>

> > procedure TfrmHometel.SetSplitterSizes;
> > var
> >  i: integer;
> > begin
> >  for i:=3D3D 0 to ComponentCount - 1 do
> >  begin
> >   if Components[i] is TSplitter then
> >   begin
> >     with TSplitter(Components[i]) do
> >     begin
> >      if Cursor =3D3D crHSplit then
> >        Width :=3D3D 7
> >      else if Cursor =3D3D crVSplit then
> >        Height :=3D3D 7;
> >      ; // <-- removing this semicolon results in a syntax error. Is it
> > syntax error some kind of extra strict compiler check.
> >      Color :=3D3D clBlue;
> >     end;
> >   end;
> >  end;
> > end;
>
> Compare with next:
>
>      if Cursor =3D3D crHSplit then
>        Width :=3D3D 7
>      else
>        if Cursor =3D3D crVSplit then
>          Height :=3D3D 7; // <-- This semicolon is for the "if".
>      ; // <-- This semicolon is for the "else".
>
> Is like this:
>
> IF ... THEN
> BEGIN
>  ...
> END
> ELSE BEGIN
>  IF ... THEN
>  BEGIN
>    ...
>  END;  // <-- This END is for the "IF".
> END;  // <-- This END is for the "ELSE".
>
> I recommend to use "BEGIN ... END" blocks in nested "IF" always to
> prevent this kind of mistakes.
>
> Regards,
> Guillermo "=D1u=F1o" Mart=EDnez.
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>



-- =

Frank Church

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
http://devblog.brahmancreations.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freepascal.org/lists/fpc-pascal/attachments/20100701/362a=
12cf/attachment.htm


More information about the fpc-pascal mailing list