本文整理自网络,侵删。
procedure TForm1.Button3Click(Sender: TObject);
var
I, L: Integer;
begin
Memo1.WordWrap:= False;
Memo1.Lines.LoadFromFile('Windows.pas');
I:= Pos('finalization', Memo1.Text);
if I > 0 then begin
L := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, I - 1, 0);
ShowMessage('Found at line ' + IntToStr(L));
// if you need to select the text found:
Memo1.SelStart := I - 1;
Memo1.SelLength := Length('finalization');
Memo1.SetFocus;
end;
end;
请注意,行号是从零开始,你也应该从减去1 Pos的结果获得从零开始的偏移SendMessage和TMemo.SelStart。
相关阅读 >>
Delphi 解决timage无法在窗体resize时改变canvas的大小
更多相关阅读请进入《Delphi》频道 >>