Q&A

  • Editbox 입력으로 stringrid의 컬럼 성명근접검색하는 법 도와주세요
안녕하세요

procedure TForm1.Edit1Change(Sender: TObject);

begin

FindStringGrdStr(StringGrid1, 1, Edit1.Text);

end;



// Col : 검색 컬럼 , FindStr : 찾을 문자열



procedure FindStringGrdStr(StringGrid: TStringGrid; Col: Integer; FindStr: string);

var

i: Integer;

begin

for i := 0 to StringGrid.RowCount - 1 do

if StringGrid.Cells[Col, i] = FindStr then

begin

StringGrid.Row := i;

end;

위와 같이하면 컴파일은 되나 검색은 되지않습니다.

에디트 박스에서 쿼리의 성명 부분 "name" 을 근접검색하는

법 도와주세요



ex) kim 이면 ki,kim.... 으로



오빠들 도와주세여 네..



2  COMMENTS
  • Profile
    최용일 2000.05.25 08:57
    안녕하세요. 최용일입니다.



    근접검색에는 이진탐색알고리즘이 많이 쓰입니다. 제일 빠르고 효율적이니까요. 이건 자료구조책



    에 찾아보시면 다 나와 있습니다. 또한 근접검색을 하실려면 반드시 정렬되어있어야 합니다.



    물론 아래와 같이 for문을 이용한 순차검색알고리즘도 자료가 적을때는 가끔씩 쓰입니다.



    procedure FindStringGrdStr(StringGrid: TStringGrid; Col: Integer; FindStr: string);

    var

    I: integer;

    begin

    for I := 0 to StringGrid.RowCount - 1 do

    if CompareText(FindStr, StringGrid.Cells[Col, I]) < 0 then

    begin

    StringGrid.Row := I;

    Break;

    end;

    end;



    ^^ 항상 즐코하세요.



    윤미혜 wrote:

    > 안녕하세요

    > procedure TForm1.Edit1Change(Sender: TObject);

    > begin

    > FindStringGrdStr(StringGrid1, 1, Edit1.Text);

    > end;

    >

    > // Col : 검색 컬럼 , FindStr : 찾을 문자열

    >

    > procedure FindStringGrdStr(StringGrid: TStringGrid; Col: Integer; FindStr: string);

    > var

    > i: Integer;

    > begin

    > for i := 0 to StringGrid.RowCount - 1 do

    > if StringGrid.Cells[Col, i] = FindStr then

    > begin

    > StringGrid.Row := i;

    > end;

    > 위와 같이하면 컴파일은 되나 검색은 되지않습니다.

    > 에디트 박스에서 쿼리의 성명 부분 "name" 을 근접검색하는

    > 법 도와주세요

    >

    > ex) kim 이면 ki,kim.... 으로

    >

    > 오빠들 도와주세여 네..

    > -

  • Profile
    윤미혜 2000.05.26 03:14
    최용일님

    친절한 지도 감사합니다.

    근데요, 역시 검색은 안돼요 오빠.....

    어떻하면 좋죠..!!!!!11

    죄송하지만 이진알고리즘소스 좀 알려주셔요 네?

    파일 레코드가 전체는 약 5000건 부분적으로는 300 ~ 500 정도 되요.

    너무 많아서 안되는 것같기도 하고요..



    저가 프로그램 경험이 적어서 제대로 찾기 어려워요 ( 흐 흑 /교수님한테

    저 죽어요)

    조금 더 도와주세여.......





    procedure TForm1.search1;

    begin

    with Query3 do

    begin

    Close;

    SQL.Clear;

    SQL.Add(' SELECT nummer, name, vorname,rt7, abreise, pcode');

    SQL.Add(' from gaestest a, gres2 b ');

    SQL.Add(' where a.nummer = b.gastnr ');

    SQL.Add(' and a.vip in (1, 2, 3, 4, 5) ');

    SQL.Add(' and a.memo is null');

    //SQL.Add(' and a.gastname LIKE "%"');

    SQL.Add(' and a.name like :name ');

    ParamByName('name').AsString := '%' ;

    //SQL.Add(' and a.gastname.AsString := (edit17.Text + '%');

    //SQL.Add(' order by name ');

    //SQL.Add(' GROUP by 'A*');

    Open;

    begin





    여기서 쿼리를 날린 값을 name 필드의 그리드에서 근접검색하면 되여.

    물론 영문 검색이고요 ..... 부탁드릴께요....



    • 조규춘
      2000.05.25 16:24
      노석균(poppe) wrote: > > 조규춘님 저번에 plash에 이벤트 넣는법 질문드렸던 poppe(노석균)입니다.. ...
    • 우진
    • 2000.05.25 08:32
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 권영택
    • 2000.05.25 08:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권영택
      2001.05.23 00:42
      또 자답을 하는군요 pop서버로부터 메시지의 삭제를 요청하는데에는 POP 포트로 'DELE' 명령어를 보내야...
    • 최용일
      2000.05.25 08:01
      안녕하세요. 최용일입니다. Windows Media Player라면 간단합니다. Windows Media Player의 ActiveX 객...
    • 조규춘
      2000.05.25 08:13
      고마버유~! 역쉬 최용일님 멋져~! directshow도 성공을 했답니다. 푸항~! (시간까지만...) 신...
    • 최용일
      2000.05.25 08:30
      안녕하세요. 최용일입니다. 어떻게 성공하셨어요? 알려줘요. 다음에 써먹게요~~ 히히~ ^^ 항상 즐코...
    • 윤미혜
    • 2000.05.25 06:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.25 08:57
      안녕하세요. 최용일입니다. 근접검색에는 이진탐색알고리즘이 많이 쓰입니다. 제일 빠르고 효율적이니까...
    • 윤미혜
      2000.05.26 03:14
      최용일님 친절한 지도 감사합니다. 근데요, 역시 검색은 안돼요 오빠..... 어떻하면 좋죠..!!!!!11 죄...
    • 최용일
      2000.05.25 08:53
      안녕하세요. 최용일입니다. 바로 전에 실행시킨 윈도우 핸들은 알아낼 수 없습니다. 윈도우즈가 이러한 ...
    • 궁금한넘
      2000.05.25 18:55
      최용일님 친절한 답변에 감사드립니다. 제가 작성하려고 하는 프로그램에 대해서 자세히 알려 드리지요. ...
    • 박성모
    • 2000.05.25 05:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍세비
      2000.05.25 22:18
      박성모 wrote: > 델파이 공부를 시작한지 얼마 되지 않은 학생입니다. > 요즘 델파이를 이용해서 데이타...
    • 강인규
      2000.05.25 07:24
      저두 지금 한참 그쪽으로 공부하고 있어 한자 적습니다. 델파이메뉴의 뉴(물론 영어지요)에 보면 Webser...
    • 푸우
    • 2000.05.25 04:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.05.25 05:04
      이건 델파이 프로그램과는 좀 거리가 있긴 하지만 MDB라기에... 제가 전에 엑세스로 프로그램(VBA)을 개...
    • 문형록
    • 2000.05.25 04:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.05.25 04:17
      안녕하세요. 최용일입니다. WM_NCHITTEST메세지에 반응하여 HTCAPTION을 결과값으로 돌려주면 됩니다. ...
    • 문형록
      2000.05.25 20:47
      정확한 저의 말은 보더스타일이 none일때 일방적인 폼의 위치가 아니라 마우스로 드래그하면 그 마우스의 ...
    • 최용일
      2000.05.25 22:45
      무슨말인지 모르겠네요. Drag가 안될리가 없는데... 문형록 wrote: > 정확한 저의 말은 보더스타일이 n...
    • 최용일
      2000.05.25 04:24
      안녕하세요. 최용일입니다. 음냐~ DirectShow는 한번도 안 다뤄봤네요. 정말 알려주고 싶은데.... 아...
    • 조규춘
      2000.05.25 05:18
      용일님 감사합니다. 그런데.... 그 사이트는 벌써 본사이트인데용~! 윽... 어떤 고수분왈~! ========...
    • hpsycho
    • 2000.05.25 05:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.05.25 05:20
      '아이디필드'라는 필드의 데이터 형식이 CHAR형식일거라 생각이 듭니다. 아니 일거라 확신(?)합니다. ...
    • 박규형
    • 2000.05.25 02:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.05.25 05:26
      자세한 내용은 책을 참고하셔야 할것같습니다. 아는 범위내에서 간략히 설명하면.. PRIMARY는 인덱스를...
    • nilriri
      2000.05.25 05:30
      질문 내용이 좀 모호하네요... 디비그리드에 연결된 데이터 소스의 체인지 이벤트에서 디비그리드에 연...
    • Angel
    • 2000.05.25 01:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri
      2000.05.25 05:31
      폴더의 갯수가 몇개나 되는지 궁금합니다. Angel wrote: > InstallShield 에서 폴더의 갯수가 많으면 ...
    • leeeunjae
    • 2000.05.25 01:19
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.05.25 02:19
      안녕하세여.. 타락임다.. ^^ 질문이 모호하군여.. 아이콘으로 최소화된 폼을 되돌리고 포커스를 주는...
    • 최용일
      2000.05.25 01:53
      안녕하세요. 최용일입니다. DLL이 아니라 폼이겠죠... DLL에서 로드된 폼. 저두 DLL은 숨기거나 아이...
    • 숨은 DLL
      2000.05.25 01:27
      leeeunjae wrote: > 안녕하세요. 밑에 질문을 했느데 잘못 이해 하신거 같아서요. > 저가 묻고자 한건 메...
    • 김길남
    • 2000.05.25 00:53
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.05.25 02:10
      김길남 wrote: > MS-Access를 델파이에서 사용합니다. > Select Substring(column, 1, 2) From TableName...
    • 김길남
      2000.05.25 03:08
      어린왕자 wrote: > 김길남 wrote: > > MS-Access를 델파이에서 사용합니다. > > Select Substring(colum...
    • mashall3
      2000.05.25 18:52
      김길남 wrote: > 어린왕자 wrote: > > 김길남 wrote: > > > MS-Access를 델파이에서 사용합니다. > > >...