Q&A

  • combo박스에서 원하는 데이타를 찾으려면...
combo박스에 예를들어 100개의 item이 있다고 하면 콤보박스를 눌러서 어디에 있을지도

모르는 item을 찾기위해 엄청나게 아래로 내려가야 합니다.

하지만 사용자들은 간단하게 찾고 싶거든요.

물론 짧을 경우에는 바로 사용을 하고요.

그렇다면 100개나 되는 무수히 많은 item중 50 번째에 있는 새우깡이라는 item을 찾으려면 combo박스에서 어떻게 해야하는지

예를들면 text박스에 새우깡하고 치고 Enter하면 50번째 item으로 자동 이동하려고 합니다.

고수님들의 많은 답변을 부탁드리며 이만....

3  COMMENTS
  • Profile
    흠냐 2001.05.03 19:58
    이원택 wrote:

    > combo박스에 예를들어 100개의 item이 있다고 하면 콤보박스를 눌러서 어디에 있을지도

    > 모르는 item을 찾기위해 엄청나게 아래로 내려가야 합니다.

    > 하지만 사용자들은 간단하게 찾고 싶거든요.

    > 물론 짧을 경우에는 바로 사용을 하고요.

    > 그렇다면 100개나 되는 무수히 많은 item중 50 번째에 있는 새우깡이라는 item을 찾으려면 combo박스에서 어떻게 해야하는지

    > 예를들면 text박스에 새우깡하고 치고 Enter하면 50번째 item으로 자동 이동하려고 합니다.

    > 고수님들의 많은 답변을 부탁드리며 이만....



    ComboBox1.ItmeIndex = ComboBox1.Items.IndexOf('새우깡');

    하시면 됩니다.







  • Profile
    이원택 2001.05.03 23:06
    흠냐 wrote:

    > 이원택 wrote:

    > > combo박스에 예를들어 100개의 item이 있다고 하면 콤보박스를 눌러서 어디에 있을지도

    > > 모르는 item을 찾기위해 엄청나게 아래로 내려가야 합니다.

    > > 하지만 사용자들은 간단하게 찾고 싶거든요.

    > > 물론 짧을 경우에는 바로 사용을 하고요.

    > > 그렇다면 100개나 되는 무수히 많은 item중 50 번째에 있는 새우깡이라는 item을 찾으려면 combo박스에서 어떻게 해야하는지

    > > 예를들면 text박스에 새우깡하고 치고 Enter하면 50번째 item으로 자동 이동하려고 합니다.

    > > 고수님들의 많은 답변을 부탁드리며 이만....

    >

    > ComboBox1.ItmeIndex = ComboBox1.Items.IndexOf('새우깡');

    > 하시면 됩니다.

    >

    그렇다면 만약 ???새우깡??? 이렇게 되어있을 경우에는 어떻게 하는지요.

    예를들면 "엄청난새우깡이야" 라는 내용중에 "새우깡"이라고 씌워져있는것도 찾을수

    있는지요....

  • Profile
    흠냐 2001.05.04 02:50
    이원택 wrote:

    > 흠냐 wrote:

    > > 이원택 wrote:

    > > > combo박스에 예를들어 100개의 item이 있다고 하면 콤보박스를 눌러서 어디에 있을지도

    > > > 모르는 item을 찾기위해 엄청나게 아래로 내려가야 합니다.

    > > > 하지만 사용자들은 간단하게 찾고 싶거든요.

    > > > 물론 짧을 경우에는 바로 사용을 하고요.

    > > > 그렇다면 100개나 되는 무수히 많은 item중 50 번째에 있는 새우깡이라는 item을 찾으려면 combo박스에서 어떻게 해야하는지

    > > > 예를들면 text박스에 새우깡하고 치고 Enter하면 50번째 item으로 자동 이동하려고 합니다.

    > > > 고수님들의 많은 답변을 부탁드리며 이만....

    > >

    > > ComboBox1.ItmeIndex = ComboBox1.Items.IndexOf('새우깡');

    > > 하시면 됩니다.

    > >

    > 그렇다면 만약 ???새우깡??? 이렇게 되어있을 경우에는 어떻게 하는지요.

    > 예를들면 "엄청난새우깡이야" 라는 내용중에 "새우깡"이라고 씌워져있는것도 찾을수

    > 있는지요....





    음. 바로 찾을 수 있는 델파이 내장함수는 없는 거 같구요.

    약간의 코딩이 필요할 거 같아요.



    for i:=0 to ComboBox1.Items.Count-1 do

    begin

    if pos('새우깡',ComboBox1.Items[i])>0 then

    begin

    ComboBox1.ItemIndex := i;

    break;

    end;

    end;



    POS함수는 델파이 도움말을 참조하시면 됩니다.

    일단 설명해드리면

    POS('새우깡','맛있는새우깡') = 7 로 리턴 되지만.

    POS('새우꽝','맛있는새우깡') = 0 로 리턴 됩니다.



    그래서 검색하고자 하는 문자열이 속해있으면 0보다 큰값이 리턴되고

    그렇지 않으면 0으로 리턴됩니다.