Q&A

  • 근접 검색...버그가 보임다..T.T
안녕들 하신지요..영원한 델초보 어린왕자임다..

리스트박스의 근접검색..아..

버그가 있슴다..



먼저 소스 먼저 쓰져..



var

Search: array[0..255] of char;

tmp:String;



begin

//중간소스 생략..





if tmp='' then i:=-1 else begin

strpcopy(Search,tmp);

i:=Completion.ListForm.Lbx_Com.Perform(LB_SELECTSTRING,0, longint(@Search));

// 리스트박스에 가까운 아이템 선택됨.

end;

end;



Lbx_Com은 당근 TListBox죠..





위 리스트박스의 아이템이 1부터서 20까지 있는 상태에서..



tmp='1'이 되면...리스트박스의 '10'인 아이템을 가리키더라구요..허참..



근데..tmp='2'이면 '20'이 아닌 '2'를 잘 가리키는데 말이죠..



이거 왜 그런 겁니까? 고수님덜...



2  COMMENTS
  • Profile
    최용일 2000.08.18 01:43
    안녕하세요. 최용일입니다.



    처음부터 검색하실려면 -1을 넣으셔야되요. wParam으로 들어가는 것은 검색시작하기 전의



    아이템인덱스입니다. 그러니까 0이 들어가면 1번 인덱스부터 검색합니다.



    ^^ 항상 즐코하세요.



    어린왕자 wrote:

    > 안녕들 하신지요..영원한 델초보 어린왕자임다..

    > 리스트박스의 근접검색..아..

    > 버그가 있슴다..

    >

    > 먼저 소스 먼저 쓰져..

    >

    > var

    > Search: array[0..255] of char;

    > tmp:String;

    >

    > begin

    > //중간소스 생략..

    >

    >

    > if tmp='' then i:=-1 else begin

    > strpcopy(Search,tmp);

    > i:=Completion.ListForm.Lbx_Com.Perform(LB_SELECTSTRING,0, longint(@Search));

    > // 리스트박스에 가까운 아이템 선택됨.

    > end;

    > end;

    >

    > Lbx_Com은 당근 TListBox죠..

    >

    >

    > 위 리스트박스의 아이템이 1부터서 20까지 있는 상태에서..

    >

    > tmp='1'이 되면...리스트박스의 '10'인 아이템을 가리키더라구요..허참..

    >

    > 근데..tmp='2'이면 '20'이 아닌 '2'를 잘 가리키는데 말이죠..

    >

    > 이거 왜 그런 겁니까? 고수님덜...

    >

  • Profile
    어린왕자 2000.08.18 01:42
    .