Q&A

  • FindDialog사용법..
안녕하세요~!!
초보 질문 있어 이렇게 몇자 적습니다.
꼬~~옥 점 도와주세요!!
혼자서 메모장을 만들고 있습니다.(확장된 모습....입니다..^^)
근데 메뉴에 찾기를 추가 하고 FindDialog를 사용했습니다.
근데....finddialog가 memo부분에서 찾게 하고 싶은데..어떻게 해야 할지 모르겠습니다.(보조프로그램에 있는 메모장의 찾기기능과 똑같이 만들고자 합니다.)
finddialog사용법 점 알려 주십시요~!!
(이왕이면 replacedialog도 알려 주시면 고맙구여..^^)
님들...부탁드립니다..
초보에게 튼튼한 동아줄을 내려주시길....
1  COMMENTS
  • Profile
    맑은물 2003.03.12 13:37
    procedure TForm1.FindDialog1Find(Sender: TObject);
    var
    I,J,PosReturn,SkipChars: integer;
    begin
      for I := 0 to Memo1.Lines.Count do
      begin
        PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);

           if PosReturn <> 0 then
             begin
               SkipChars := 0;
                 for J := 0 to I - 1 do
                   SkipChars := SkipChars + Length(Memo1.Lines[J]);

                   SkipChars := SkipChars + (I * 2);
                   SkipChars := SkipChars + PosReturn - 1;
                   Memo1.SetFocus;      //메모컴포넌트에 포커스를 옮긴다.
                   Memo1.SelStart := SkipChars;   //첫 인덱스의 문자선택
                   Memo1.SelLength := Length(FindDialog1.FindText); //찾는 문자열의 길이만큼
                   break;

             end;
        end;

    end;