Q&A

  • FindDialog 컴포넌트에 대해서...
안녕하세요 고수님들... ^^;

다름이 아니라 아래 소스가 전혀 이해가 가지 않아서요

주석문좀 부탁드립니다.



특히 이부분..

RichEdit1.SelStart := RichEdit1.FindText(Str, RichEdit1.SelStart,

length(RichEdit1.Text),[]);

RichEdit1.SelLength := Len;

과 아래부분이 이해가 가질 않습니다.

if RichEdit1.SelStart >= length(RichEdit1.Text) then

여기서 SelStart가 뭔지도 모르겠고요

length(RichEdit1.Text)의 길이가 어느정도 인지도 모르겠습니다.

자세한 설명좀 부탁드립니다.









procedure TForm1.FindDialog1Find(Sender: TObject);

var

Len : integer;

Str : String;

begin

Len := Length(FindDialog1.FindText);

Str := FindDialog1.FindText;



RichEdit1.SelStart := RichEdit1.FindText(Str, RichEdit1.SelStart,

length(RichEdit1.Text),[]);

RichEdit1.SelLength := Len;



if RichEdit1.SelStart >= length(RichEdit1.Text) then

begin

ShowMessage('더이상 찾을 자료가 없습니다.');

RichEdit1.SelLength := 0;

My_Start := 0;

end

else

My_Start := RichEdit1.SelStart + Len;



FindDialog1.CloseDialog;

end;

1  COMMENTS
  • Profile
    방문현 2001.04.30 19:23
    김아성 wrote:

    > 안녕하세요 고수님들... ^^;

    > 다름이 아니라 아래 소스가 전혀 이해가 가지 않아서요

    > 주석문좀 부탁드립니다.

    >

    > 특히 이부분..

    > RichEdit1.SelStart := RichEdit1.FindText(Str, RichEdit1.SelStart,

    > length(RichEdit1.Text),[]);

    > RichEdit1.SelLength := Len;

    > 과 아래부분이 이해가 가질 않습니다.

    > if RichEdit1.SelStart >= length(RichEdit1.Text) then

    > 여기서 SelStart가 뭔지도 모르겠고요

    > length(RichEdit1.Text)의 길이가 어느정도 인지도 모르겠습니다.

    > 자세한 설명좀 부탁드립니다.

    >

    >

    >Length(Richedit1.Text) = RichEdit1 에 기록된 모든 문자들의 총계이구요



    >FindDialog가 어떤 문장을 찾았을때 리치에디트에 셀렉트를 하거든요 이때



    >SelStart는 선택된 문장의 첫자리 position을 말합니다.



    >즉 SelStart > Length(Richedi1.Text) 란 못찾았다는 의미입니다...