2010/9/12 Frank Church <vfcli...@gmail.com>: > 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.
I think the array and enum are correct, but the usage isn't. I did not compile this code, but I expect a type mismatch error. You are using an integer as index in d := stTypes[i - Ord(low(stType))], but you declared stTypes an array to be indexed by stType. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal