[fpc-pascal]Problem with CASE statement
Lubomir.Cabla at cssz.cz
Lubomir.Cabla at cssz.cz
Tue Mar 23 14:20:34 CET 2004
In go32v2 i got a problem with case statement.
With compiler 1.0.10 is this without errors:
const kbDown = $5000;
kbUp = $4800;
var ch : char;
begin
ch:=ReadKey;
case ord(ch) of
Hi(kbDown): writeln('kbDown');
Hi(kbUp) : writeln('kbUp');
end;
end.
New FPC compiler 1.9.3 produced error 'duplicate case label'.
With these commands i found that function HI produced 0 for both constants.
writeln(HexStr(Hi(kbDown),2));
writeln(HexStr(Hi(kbUp),2));
OK i changed definition of kbDown and kbUp to
const kbDown : word = $5000;
kbUp : word = $4800;
and now Hi(kbDown) return $50 etc. but with compilation
i got another error 'Constant Expression expected'.
I know what this is but i don't understand why.
Maybe somebody help me ?
This definition 'const kbDown = $5000;' produced word or logint or ... ?
Lubomir Cabla
More information about the fpc-pascal
mailing list