Q&A

  • 리스트의 값 비교
컴파일은 잘되는데, 실행하면 에러가 나거든요

리스트박스에 있는 값을 비교해서 정렬하는 건데,

이렇게 하면 안되는가 봅니다.

방법을 알려주세요...



if strtoint(list.items[i])
temp:=strtoint(list.items[i]);

list.items[i]:=list.items[i+1];

list.items[i+1]:=inttostr(temp);

end;

3  COMMENTS
  • Profile
    닌자코브라 2000.10.11 01:34
    swap이네요

    근데 i값이 리스트 첨자의 마지막이면 index out of bounds

    짧은 콩글리쉬로...

    가 날지도 모르겠네요...

    단순히 아래코딩으로 봐서 덧붙여 integer로 변환이 안되는 문자열이 있던가







    차소영 wrote:

    > 컴파일은 잘되는데, 실행하면 에러가 나거든요

    > 리스트박스에 있는 값을 비교해서 정렬하는 건데,

    > 이렇게 하면 안되는가 봅니다.

    > 방법을 알려주세요...

    >

    > if strtoint(list.items[i])
    > temp:=strtoint(list.items[i]);

    > list.items[i]:=list.items[i+1];

    > list.items[i+1]:=inttostr(temp);

    > end;

  • Profile
    차소영 2000.10.11 02:05
    네, list index out of bounds(4) 그런 에러 나요...

    swap 도 맞구...버블소팅의 일부거든요

    에디트박스에서 입력받은 ist1의 정렬된 값을 list2로 넘기는데, 소팅 함수는 클래스로 구현해야 하구..

    제가 워낙에 초보라 여기저기 뒤적거려가며 하고 있는데, 아무래도 많은 오류가 있나봐요...

    아직 미완성의 소스지만, 분석을 좀 해주십사 부탁드립니다...(다른 분들두요....)

    저에게 메일을 주시면, 소스를 보내드릴게요...

    T.T....







    닌자코브라 wrote:

    > swap이네요

    > 근데 i값이 리스트 첨자의 마지막이면 index out of bounds

    > 짧은 콩글리쉬로...

    > 가 날지도 모르겠네요...

    > 단순히 아래코딩으로 봐서 덧붙여 integer로 변환이 안되는 문자열이 있던가

    >





  • Profile
    DelChobo 2000.10.11 00:27
    차소영 wrote:

    > 컴파일은 잘되는데, 실행하면 에러가 나거든요

    > 리스트박스에 있는 값을 비교해서 정렬하는 건데,

    > 이렇게 하면 안되는가 봅니다.

    > 방법을 알려주세요...

    >

    > if strtoint(list.items[i])
    > temp:=strtoint(list.items[i]);

    > list.items[i]:=list.items[i+1];

    > list.items[i+1]:=inttostr(temp);

    > end;



    제가 해본바로는 잘 되네요..



    혹시 리스트 박스의 값 중에 Integer Type으로 변환이 안되는 값이 있지 않나요?