안녕하세요 고수님들... ^^;
다름이 아니라 아래 소스가 전혀 이해가 가지 않아서요
주석문좀 부탁드립니다.
특히 이부분..
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;
> 안녕하세요 고수님들... ^^;
> 다름이 아니라 아래 소스가 전혀 이해가 가지 않아서요
> 주석문좀 부탁드립니다.
>
> 특히 이부분..
> 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) 란 못찾았다는 의미입니다...