Q&A

  • FindDialog, ReplaceDialog관련


간단한 메모장을 만들어 보고 있습니다.

RichEdit콘트롤을 사용하여 작성하고 있는데

이곳에 있는 문자를 찾거나 바꿀수 있는 기능을 넣을려고

합니다.



근데 FindDialog, ReplaceDialog 콤포넌트의 기능을 알고

싶군요. 단순히 다이알로그 박스만 나타내주는 것인지

실제로 찾기, 바꾸기 의 기능을 해주는 콤포넌트인지...



어줍잖은 실력으로 찾기,바꾸기 코딩을 하기보다는

활용하는게 현재로서는 좋을것 같아서요.. 답변부탁드립니다.

1  COMMENTS
  • Profile
    1999.05.27 21:33
    지니 께서 말씀하시기를...

    >

    > 간단한 메모장을 만들어 보고 있습니다.

    > RichEdit콘트롤을 사용하여 작성하고 있는데

    > 이곳에 있는 문자를 찾거나 바꿀수 있는 기능을 넣을려고

    > 합니다.

    >

    > 근데 FindDialog, ReplaceDialog 콤포넌트의 기능을 알고

    > 싶군요. 단순히 다이알로그 박스만 나타내주는 것인지

    > 실제로 찾기, 바꾸기 의 기능을 해주는 콤포넌트인지...

    >

    > 어줍잖은 실력으로 찾기,바꾸기 코딩을 하기보다는

    > 활용하는게 현재로서는 좋을것 같아서요.. 답변부탁드립니다.





    음냐....



    예제 입니다.



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    FindDialog1.Execute;

    end;





    procedure TForm1.FindDialog1Find(Sender: TObject);

    var

    FoundAt: LongInt;

    StartPos, ToEnd: integer;

    SearchType : TSearchTypes;

    begin

    with RichEdit1 do

    begin

    SearchType := [];//FindText메서드에 쓰일 옵션

    // 대/소문자구별, 단어검색 조검만 줄수 있다.

    //대소문자 구별인지 검사

    if (frMatchCase in FindDialog1.Options ) then

    SearchType := SearchType + [stMatchCase];



    // 단어 검색인지 검사

    if (frWholeWord in FindDialog1.Options ) then

    SearchType := SearchType + [stWholeWord];



    //검색순서가 현재 부터 위/아래인지 검사

    if (frDown in FindDialog1.Options ) then

    begin

    StartPos := SelStart;

    ToEnd := Length(Text) - StartPos;

    end

    else

    begin

    StartPos := 0;

    ToEnd := SelStart;

    end;



    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, SearchType);

    if FoundAt <> -1 then

    begin

    FindDialog1.CloseDialog; //단어를 발견하면 검색창을 닫는다.

    SetFocus;

    SelStart := FoundAt;

    SelLength := Length(FindDialog1.FindText);

    end;

    end;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    begin

    ReplaceDialog1.Execute;

    end;



    procedure TForm1.ReplaceDialog1Find(Sender: TObject);

    begin

    ShowMessage('OnFind');

    end;



    procedure TForm1.ReplaceDialog1Replace(Sender: TObject);

    begin

    if frReplaceAll in ReplaceDialog1.Options then

    ShowMessage('OnReplaceAll')

    else

    ShowMessage('OnReplace')

    end;





    그럼...



    • 지니
    • 1999.05.27 20:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.05.27 21:33
      지니 께서 말씀하시기를... > > 간단한 메모장을 만들어 보고 있습니다. > RichEdit콘트롤을 사용하여 ...
    • 황하성
    • 1999.05.27 20:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.27 20:51
      황하성 께서 말씀하시기를... > > MessageDlg에서 버튼 입력을 받아서 다음 과정으로 넘어가고 싶은데 ...
    • 이정욱
      1999.05.27 20:15
      GetASyncKeyState를 사용하시면 됩니다. 생각하신데로 루프를 돌면서 계속 검사를 하고 있는것입니다. 저...
    • 송기원
    • 1999.05.27 18:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.05.27 23:43
      송기원 께서 말씀하시기를... > Cached Update를 이용하여 자료를 저장시에 오류가 발생하면 > TQuery의 ...
    • Vincent
    • 1999.05.27 08:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.27 08:39
      Vincent 께서 말씀하시기를... > 급하게 음력생일을 양력생일로 변환하는 로직을 찾습니다. > 통합 델파...
    • 이정욱
      1999.05.27 10:46
      > 스트링 그리드에 관한것 인데요. > 스트링 그리드에서 특정셀로 포커스를 이동할 수 있는지 궁금합니다....
    • chbang
    • 1999.05.27 06:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.05.27 21:56
      음....sql의 구문에러 인듯 합니다. showmessage(query1.sql.lines.text); delphi30으로 oracle db와 con...
    • 조진희
    • 1999.05.27 04:26
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하윤철
      1999.05.27 05:54
      조진희 wrote: > 파락독스 db를 사용하고 있구요.. > 미혼인 경우에는 결혼기념일을 비활성해서 데이터를...
    • Heaven
      1999.05.27 05:54
      조진희 wrote: > 파락독스 db를 사용하고 있구요.. > 미혼인 경우에는 결혼기념일을 비활성해서 데이터를...
    • 글쎄요.
      1999.05.27 04:38
      조진희 wrote: > 파락독스 db를 사용하고 있구요.. > 미혼인 경우에는 결혼기념일을 비활성해서 데이터를...
    • 송기원
    • 1999.05.27 03:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.27 10:48
      델4에서는 Tools메뉴에서 Debugger Options 에 맨 밑에 있는 Integrated Debugging 을 켜주세요. 델3에...
    • 왕초
    • 1999.05.27 03:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.05.27 10:51
      쩝.. 저희 나이렉스의 고객지원 담당자분의 답변이 아니구 이곳의 방문자분께서 해주신 것입니다. 이곳에서...
    • 박훈철
    • 1999.05.27 02:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.05.27 07:10
      박훈철 께서 말씀하시기를... > 간단하게 게임을 제작하는 경우라고 생각해 봅시다. > > 먼저 움직이는...
    • 안치봉
      1999.05.27 06:56
      박훈철 께서 말씀하시기를... > 간단하게 게임을 제작하는 경우라고 생각해 봅시다. > > 먼저 움직이는...
    • 왕초
    • 1999.05.27 01:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 1999.05.27 03:00
      왕초 wrote: > Regsvr32 로 cfx32.ocx 를 등록시에 failed가 나옵니다.. > win95문제인지 Regsvr32, cfx3...
    • 윤상원
    • 1999.05.26 22:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 1999.05.27 21:27
      윤상원 께서 말씀하시기를... > 안녕하세요? > 처음으로 게시판을 이용하는것 같습니다. > 책한권과 통...
    • 1999.05.27 01:17
      윤상원 wrote: > 안녕하세요? > 처음으로 게시판을 이용하는것 같습니다. > 책한권과 통신에 올라온 Q&A...
    • chbang
    • 1999.05.26 22:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.05.27 01:44
      chbang wrote: > StringGrid에서 > 현재 선택되어진 cell 이나 row를 > 알수 있는 방법을 알고 싶습니...
    • 박훈철
    • 1999.05.26 21:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      1999.05.27 02:42
      박훈철 wrote: > 기능키가 아닌 일반 키를 두가지를 동시에 두를때 > 혹은 두가지 이상을 누를때 그 키를...
    • 이현신
    • 1999.05.26 21:00
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.05.27 01:41
      이현신 wrote: > 델파이에서 보면 smtp 콤포넌트에서 메일서버를 꼭지정해야 > 하더군요.. > 공개메일 ...
    • july
    • 1999.05.26 19:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • redhead
      1999.05.26 22:29
      july wrote: > 이렇게 계속 질문만 하게 되네요.... > > 다름이 아니오라, 2개의 날짜가 있어서 그 사...