我的memo失灵了吗??????????????????(简单问题求解)(40分)

  • 主题发起人 主题发起人 txyx
  • 开始时间 开始时间
T

txyx

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一段程序:
var s1,s2:string;
s1:='sdffgr';
memo1.lines.loadfromfile(f);
for i:= o to 50 do
begin
s1:=memo1.Lines.Strings;
if strcomp(pchar(s1),pchar(s2))=0 then
memo1.Lines.Delete(i);
end;
memo1.Lines.SaveToFile(f);
可是执行程序一看,根本就没有删除改行,怎么回事啊???
 

s1:=memo1.Lines.Strings;
改成
s2:=memo1.Lines.Strings;
 
你用comparetext试一下看。
 
s2没有付值。
 
是我的笔误:s1:=memo1.Lines.Strings;
应该是s2:=memo1.Lines.Strings;
 
你给s1 赋了值,又用string覆盖掉了
 
把这一行改一下:
for i:= o to 50 do
--〉
for i:=50 downto 0 do
 
拜托,自己跟踪一下,看看判断的时候两个值是否相等就完了。
 
for i:=50 downto 0 do
 
呵呵!发现问题所在,“for i:= o”????
应该是for i:= 0
 
改进了一下,不知是否满足你的需要?

var s1,s2:string;
s1:='sdffgr';
p:integer

begin
memo1.lines.loadfromfile(f);
Linescount:=Memo1.Lines.Count

for i:= 0 to Linescount-1 do
begin
s2:=memo1.Lines.Strings;
Repeat
p:=pos(s1,s2)

if p>0 then begin
memo1.Lines.Delete(i)

until p=0

end;
memo1.Lines.SaveToFile(f);
end;
 
多人接受答案了。
 
后退
顶部