[fpc-pascal] Re: What is wrong with this enum and array related code

Frank Church vfclists at gmail.com
Sun Sep 12 13:58:49 CEST 2010


I need to elaborate more on this code

On this line

d := stTypes[i - Ord(low(stType))];

since stTypes is an array, I expect stTypes[n], with n being 1 to 4,  to
retrieve an array value and as 'i - Ord(low(stType)) evaluates to integer it
should compile but it generates an error.

What would be the correct way?

On 12 September 2010 12:51, Frank Church <vfclists at gmail.com> wrote:

> program testnums;
> //{$APPTYPE CONSOLE}
>
> uses
>   Classes, SysUtils;
> type
>    stType = (stLite := -100, stDb, stBothLite, stBothDb); //settings
> location Type
>    stTypes = Array [stType] of integer;
> var
>  d : stType;
>  s : string;
>  i : integer;
> begin
>  writeln('');
>  for i := Ord(low(stType)) to Ord(high(stType)) do
>  begin
>   d := stTypes[i - Ord(low(stType))];
>    writestr(s,d);
>    writeln(d + ' ' + IntToStr(Integer(i)));
>  end;
>  readln;
>
> end.
>
> --
> Frank Church
>
> =======================
> http://devblog.brahmancreations.com
>



-- 
Frank Church

=======================
http://devblog.brahmancreations.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20100912/79c42c8f/attachment.html>


More information about the fpc-pascal mailing list