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 {found!} begin Skipchars := 0; for J := 0 to I - 1 do Skipchars := Skipchars + Length(Memo1.Lines[J]); SkipChars := SkipChars + (I*20); SkipChars := SkipChars + PosReturn - 1; Memo1.SetFocus; Memo1.SelStart := SkipChars; Memo1.SelLength := Length(FindDialog1.FindText); Break; end; end;