저어... 델파이 help를 보면 example중에 부분범위현을 사용했습니다..
제가 집합형 변수를 선언하고요..
type
tmynum=set of [1..20];
var
mynum:tmynum;
begin
mynum:=[1,2,3,4,10,20,25,100];
if 25 in mynum then showmessahe('ok!'); //25는 ok이라고 나옵니다..
if 100 in mynum then showmessage('ok!'); //100은 ok가 아니구요..
end;
제 생각에는 mynum에는 1부터 20까지의 수만 쓸 수 있는 것이 아닐까 싶은데 그게 아니더라구요...그렇다면 25는 속하고 100은 속하지 않는 이유가 뭐지요???
물론 집합형 변수를 선언할 때 char이나 byte를 써도 되고 또한 부분범위형을 써도 되는 걸로 알고 있는데...그런데 위와 같다면 부분범위를 쓰는 이유가 뭔지요... 위처럼 된다면 부분범위형을 왜 선언하는지 통 알 수가 없습니다.
지난 번의 답변에 깊은 감사를 드리며 요 것에 대해서도 좀 알려주시면 정말로 감사하겠습니다.....
델파이 새내기....
tmynum=set of [1..20];
문장 에러가 나는 군요.. 저도 잘쓰지 않아서 헬프를 참고 했는데
아래와 같이 써야 맞더군요..
type
tmynum=set of 1..20;
위와 같이 바꾸고 테스트를 해본 결과 전혀 문제가 없었습니다.
에러가 나는 부분만 띠어내서 테스트를 해보시지요.....
영인 wrote:
> 저어... 델파이 help를 보면 example중에 부분범위현을 사용했습니다..
> 제가 집합형 변수를 선언하고요..
> type
> tmynum=set of [1..20];
>
> var
> mynum:tmynum;
>
> begin
> mynum:=[1,2,3,4,10,20,25,100];
> if 25 in mynum then showmessahe('ok!'); //25는 ok이라고 나옵니다..
> if 100 in mynum then showmessage('ok!'); //100은 ok가 아니구요..
> end;
>
> 제 생각에는 mynum에는 1부터 20까지의 수만 쓸 수 있는 것이 아닐까 싶은데 그게 아니더라구요...그렇다면 25는 속하고 100은 속하지 않는 이유가 뭐지요???
>
>
> 물론 집합형 변수를 선언할 때 char이나 byte를 써도 되고 또한 부분범위형을 써도 되는 걸로 알고 있는데...그런데 위와 같다면 부분범위를 쓰는 이유가 뭔지요... 위처럼 된다면 부분범위형을 왜 선언하는지 통 알 수가 없습니다.
>
> 지난 번의 답변에 깊은 감사를 드리며 요 것에 대해서도 좀 알려주시면 정말로 감사하겠습니다.....
>
> 델파이 새내기....
>