private sub command1_click()
const mystr="abc"
dim location as integer
dim i,j as integer 'or long
for i=0 to len(memo.text) '哈哈,我用vb来写的,因为delphi的函数我忘了,
'但vb里没有这个memo
if mystr = mid(memo.text,i,3) then '我没有用回搠,直接判断
break '对不起呀,我不太清楚如何从循环中跳出
end if
next
if i<>len(memo.text) then
location=0
j=0
do while location< =i
location=location +len(memo.lines(j)) 'memo 里的行数是从0开始的
j=j+1
loop
debug.print "abc is first disappeared in line " & j
else
debug.print "No matched string..."
end if
'如果发现了,该如何处理呢?
'用如下思路,先把该line读入一个string,同时删除该行memo.lines.delete,然后截取"abc"的最后一个字符的位置,再分别一个字符一个字符拷到另外一个string,中间插入你想加的字串,然后写回memo.lines.insert...我就不再多述了.
以上并未通过测试,仅供参考.
我帮你写人段代码看能否实现
procedure seacher;
var
Tem_str1,Tem_str2,Tem_str3,tem_str4,Tem_str5,tem_str6:string;
Tem_int:integer;
i:integer;
N:integer;
begin
N:="Number"
tem_str1:=memo1.text;
Tem_str2:='abc'
Tem_int:=pos(Tem_str2,Tem_str2);
if Tem_int>0 then begin
Tem_str3:=copy(Tem_str1,1,Tem_int);
Tem_str4:=Copy(Tem_str1,Tem_int,Length(Tem_str1)-tem_int);
Tem_str5:='';
for i:=0 to n do Tem_str5:=Tem_str5+' ';
Memo1.Text:=Tem_str3+Tem_str5+Tem_str4;
end;
end;