procedure TForm2.FindDialog1Find(Sender: TObject);
var
FindAt:longint;
toEnd,Start:integer;
begin
with RichEdit1 do
begin
if SelLength<>0 then
Start:=SelStart+SelLength
else
Start:=0;
toEnd:=length(Text)-Start;
FindAt:=FindText(FindDialog1.FindText,Start,toEnd,[stMatchCase,stWholeWord]);
//用showmessage测试FindAt结果总是-1,但上面的式子有什么地方出错,请大虾指示!
if FindAt<>-1 then
begin
SetFocus;
SelStart:=FindAt;
SelLength:=length(FindDialog1.FindText);
end
else
application.MessageBox('查找字符','查找字符串',MB_OK);
end;
var
FindAt:longint;
toEnd,Start:integer;
begin
with RichEdit1 do
begin
if SelLength<>0 then
Start:=SelStart+SelLength
else
Start:=0;
toEnd:=length(Text)-Start;
FindAt:=FindText(FindDialog1.FindText,Start,toEnd,[stMatchCase,stWholeWord]);
//用showmessage测试FindAt结果总是-1,但上面的式子有什么地方出错,请大虾指示!
if FindAt<>-1 then
begin
SetFocus;
SelStart:=FindAt;
SelLength:=length(FindDialog1.FindText);
end
else
application.MessageBox('查找字符','查找字符串',MB_OK);
end;
var
FindAt:longint;
toEnd,Start:integer;
begin
with RichEdit1 do
begin
if SelLength<>0 then
Start:=SelStart+SelLength
else
Start:=0;
toEnd:=length(Text)-Start;
FindAt:=FindText(FindDialog1.FindText,Start,toEnd,[]);//试试这样
//用showmessage测试FindAt结果总是-1,但上面的式子有什么地方出错,请大虾指示!
if FindAt<>-1 then
begin
SetFocus;
SelStart:=FindAt;
SelLength:=length(FindDialog1.FindText);
end
else
application.MessageBox('查找字符','查找字符串',MB_OK);
end;
if find then findat:=1;
else findat:=0;