// ab_x = 100;
// ab_y = 200;
i := 2;
k := 0;
if (ab_x IN [i*148 .. (i+1)*147]) AND (ab_y IN [k*221..(k+1)*220]) then
begin
Showmessage('메세지내용');
end;
일때는 에러는 안나지만, ab_x값이 100 인데
if 문을 타서 메세지를 뿌려줌(범위가 아닌데 -_-;;)
if (ab_x IN [296 .. (i+1)*147]) AND (ab_y IN [k*221..(k+1)*220]) then
begin
Showmessage('메세지내용');
end;
일때는
Constant expression violates subrange bounds 라는 에러 메세지가 나옴.
위 2개의 차이점이 먼지 궁금하구요.
if i IN [x..y] then
이라는 의미가 i 가 x 와 y 범위 사이에 값일때라는 문장이 아닌가요?
초보라 궁금한것이 많네요
답변 좀 부탁 드립니다.
in 이나 범위 지정에선 작은 값이 앞에 큰 값이 뒤로 가야 하는것 같습니다.
제가 확인한 내용은 아니고, 경험상 그리 알고 있습니다.
두번째 if문은 i 값이 0 일경우 범위 지정에서 에러를 발생할 수
있어서, 그부분에서 에러가 나는 것 같습니다.
[작은값..큰값] 이런 표현이 성립 안될 수있으니깐요...