Var i :integer; begin for I:=0 to Memo1.Lines.Count-1 do begin begin showmessage(inttostr(i+1)); break; //如果你希望在查询到第一个后,结束查找,就加上这一句,否则,去掉 end; end;
to gulf1234(小顾) 怎么没有看到查找过程?
Var i :integer; begin for I:=0 to Memo1.Lines.Count-1 do begin begin if Memo1.Item[i] = '要查的值' then showmessage(inttostr(i+1)); break; //如果你希望在查询到第一个后,结束查找,就加上这一句,否则,去掉 end; end;
Var i :integer; begin for I:=0 to Memo1.Lines.Count-1 do begin begin if Memo1.Lines[i] = '要查的值' then begin showmessage(inttostr(i+1)); Exit; end end; end;上面错了
Var i :integer;begin for I:=0 to Memo1.Lines.Count-1 do if POS( AnsiLowerCase('1234') , AnsiLowerCase(Memo1.Item[i]) ) <> 0 then begin showmessage('在第' + inttostr(i+1) + ‘行找到此字符串’ ); if messageDLG('是否继续查找?',mtconfirmation,[mbyes,mbno],0)=mrno then break; end;end ; *********注意**********BEGIN 例如: a := 'AABBCC' ; b := 'BB' ; c := 'bB'POS ( b , a ) // 返回值为 3 。 POS ( c , a ) // 返回值为 0 。*********注意**********END。 总结 :POS 函数是有区分大小写的。 所以用上AnsiLowerCase函数 将字符转换为小写后再比较 ,或者可以用AnsiUpperCase 函数 将字符转换为大写后再比较
运用Pos写一个Function ,要查找的值作为输入参数。 就算是这样也要一行行遍历
procedure FindStr(Memo1:TMemo;str:String); var i:integer; begin For i:=0 to Memo1.Lines.Count-1 Do Begin if pos(str,Memo1.Lines[i])<>0 then ShowMessage('Line In '+IntToStr(i)); End; end;procedure TForm1.Button4Click(Sender: TObject); begin FindStr(Self.Memo1,'come'); end;
i :integer;
begin
for I:=0 to Memo1.Lines.Count-1 do
begin
begin
showmessage(inttostr(i+1));
break; //如果你希望在查询到第一个后,结束查找,就加上这一句,否则,去掉
end;
end;
怎么没有看到查找过程?
i :integer;
begin
for I:=0 to Memo1.Lines.Count-1 do
begin
begin
if Memo1.Item[i] = '要查的值' then
showmessage(inttostr(i+1));
break; //如果你希望在查询到第一个后,结束查找,就加上这一句,否则,去掉
end;
end;
i :integer;
begin
for I:=0 to Memo1.Lines.Count-1 do
begin
begin
if Memo1.Lines[i] = '要查的值' then
begin
showmessage(inttostr(i+1));
Exit;
end
end;
end;上面错了
for I:=0 to Memo1.Lines.Count-1 do if POS( AnsiLowerCase('1234') , AnsiLowerCase(Memo1.Item[i]) ) <> 0 then
begin
showmessage('在第' + inttostr(i+1) + ‘行找到此字符串’ );
if messageDLG('是否继续查找?',mtconfirmation,[mbyes,mbno],0)=mrno then
break;
end;end ; *********注意**********BEGIN
例如:
a := 'AABBCC' ;
b := 'BB' ;
c := 'bB'POS ( b , a ) // 返回值为 3 。
POS ( c , a ) // 返回值为 0 。*********注意**********END。
总结 :POS 函数是有区分大小写的。
所以用上AnsiLowerCase函数 将字符转换为小写后再比较 ,或者可以用AnsiUpperCase 函数 将字符转换为大写后再比较
就算是这样也要一行行遍历
var i:integer;
begin
For i:=0 to Memo1.Lines.Count-1 Do
Begin
if pos(str,Memo1.Lines[i])<>0 then
ShowMessage('Line In '+IntToStr(i));
End;
end;procedure TForm1.Button4Click(Sender: TObject);
begin
FindStr(Self.Memo1,'come');
end;