Q&A

  • if .. in... 있잖아요...
델파이에서 if .. in... 문 있잖아요...

아래와 같이 썼는데 계속 에러가 나네요... 어떻게 된건지 좀 알려주세요!!!



sData : string;

iTime : integer;

iSpce : array[1..20] of integer;

iJALI : array[1..20] of integer;

변수는 위와 같고요.. 파일을 읽어가며 판단을 하는것입니다.



if (Trim(Copy(sData,iJALI[06],iSpce[07])) IN ['Mon','Tue','Wed','Thu','Fri']) and

(iTime >= 1200) and (iTime <= 1380) then

iSA[1] := iSA[1] + StrToInt(Trim(Copy(sData,iJALI[16],iSpce[17])));

위와같이 쓰면

Ordinal type required 라는 에러메세지가 납니다.

제발좀 알려주세요...

1  COMMENTS
  • Profile
    구창민 2001.07.25 06:27
    안녕하세요~ 구창민입니다.



    if ..in.. 에서 in에는 스트링을 사용하실 수 없습니다.



    즉, 한바이트 단위만 사용하 실 수 있네요.



    Case 에서와 같다고 보시면 됩니다.



    Ordinal (서수형) 이기 때문입니다.



    그럼~ 즐거운 프로그래밍 하시길~~~





    델초보 wrote:

    > 델파이에서 if .. in... 문 있잖아요...

    > 아래와 같이 썼는데 계속 에러가 나네요... 어떻게 된건지 좀 알려주세요!!!

    >

    > sData : string;

    > iTime : integer;

    > iSpce : array[1..20] of integer;

    > iJALI : array[1..20] of integer;

    > 변수는 위와 같고요.. 파일을 읽어가며 판단을 하는것입니다.

    >

    > if (Trim(Copy(sData,iJALI[06],iSpce[07])) IN ['Mon','Tue','Wed','Thu','Fri']) and

    > (iTime >= 1200) and (iTime <= 1380) then

    > iSA[1] := iSA[1] + StrToInt(Trim(Copy(sData,iJALI[16],iSpce[17])));

    > 위와같이 쓰면

    > Ordinal type required 라는 에러메세지가 납니다.

    > 제발좀 알려주세요...