AntherOne 发表于 2013-9-23 23:39:09

查找对话框

procedure TForm1.dlgFind1Find(Sender: TObject);
var
i,k,PosReturn,SkipChars:Integer;
begin
for i:= 0 to mmo1.Lines.Count do
begin
    PosReturn:=Pos(dlgFind1.FindText,mmo1.Lines);
    if PosReturn <> 0 then
    begin
      Skipchars:=0;
      for k:= 0 to i-1 do
      Skipchars:= SkipChars + Length(mmo1.Lines);
      SkipChars:= SkipChars + (i*2);
      Skipchars:= SkipChars + PosReturn - 1;

      mmo1.SetFocus;
      mmo1.SelStart:=SkipChars;
      mmo1.SelLength:=Length(dlgFind1.FindText);
      Break;
    end;
end;
end;
求详细解释~

my_angel 发表于 2013-9-24 03:19:12

你起码也要把要问的问题说出来啊。。。

AntherOne 发表于 2013-9-24 13:15:24

my_angel 发表于 2013-9-24 03:19 static/image/common/back.gif
你起码也要把要问的问题说出来啊。。。

就是小甲鱼delphi记事本实现查找功能那一段,我一直不明白

夏七夕 发表于 2013-9-24 15:50:53

what,what?

AntherOne 发表于 2013-9-24 17:35:32

my_angel 发表于 2013-9-24 03:19 static/image/common/back.gif
你起码也要把要问的问题说出来啊。。。


我输入'abcd'然后查找了其中的'b',为什么k的值是2?(整个程序其它地方都没有用到整形变量k!)

为什么运行到这里k的值一直没变?

林黛玉的葬礼 发表于 2013-9-25 20:37:29

学习了,长见识了
页: [1]
查看完整版本: 查找对话框