大哥们帮帮忙!简单问题!!(10分)

  • 主题发起人 主题发起人 6713827
  • 开始时间 开始时间
6

6713827

Unregistered / Unconfirmed
GUEST, unregistred user!
For I:=0 To Yuan.Count-20 Do<br>Begin<br> &nbsp;If Pos(Yuan,Ben.Text)&gt;0 then<br> &nbsp;Begin<br> &nbsp;UpData.Delete(I);<br> &nbsp;End;<br>End;<br>问题出在POS函数<br>循环语句没循环一次,POS没查询数据都往行未走,只到最后,到了最后一行,什么都查不到了!<br><br>问题出在每循环一次,POS不会从行首开始查找,而是接着上次查询的行继续查找!!<br>那为大侠告诉弟弟一下啊!谢谢了!!!
 
procedure TForm1.Button5Click(Sender: TObject);<br>Var i:integer;<br> &nbsp;newitem:Tlistitem;<br> &nbsp;Temp:TStrings;<br>begin<br>Temp:=TStringList.Create;<br> &nbsp;For i:=0 To StrList.Count-1 Do<br> &nbsp;Begin<br> &nbsp; &nbsp;Temp.Delimiter:=FenGe;<br> &nbsp; &nbsp;Temp.DelimitedText:=StrList;<br> &nbsp; &nbsp;newitem:=ListView.Items.Add;<br> &nbsp; &nbsp;newitem.Caption:=Temp[0];<br> &nbsp; &nbsp;newitem.SubItems.Add(Temp[1]);<br> &nbsp; &nbsp;newitem.SubItems.Add(Temp[2]);<br> &nbsp; &nbsp;newitem.Checked:=true;<br> &nbsp;End;<br>Temp.Free;<br>end;<br><br>procedure TForm1.Button3Click(Sender: TObject);<br>Var UpData,Ben,Yuan:TStrings;<br>I,S:integer;<br>begin<br>UpData:=TStringList.Create;<br>Ben:=TStringList.Create;<br>Yuan:=TStringList.Create;<br>UpData.LoadFromFile(edit4.Text);<br>Ben.LoadFromFile(edit2.Text);<br>Yuan.LoadFromFile(edit4.Text);<br>S:=0;<br>For I:=0 To Yuan.Count-20 Do<br>Begin<br> &nbsp;Ben.Move(1,1);<br> &nbsp;If Pos(Yuan,Ben.Text)&gt;0 then<br> &nbsp;Begin<br> &nbsp;//showmessage(inttostr(i)+#13#10+'OK');<br> &nbsp;UpData.Delete(I-S);<br> &nbsp;Inc(S);<br> &nbsp;End;<br>End;<br>UpData.SaveToFile(ExtractFilePath(Application.ExeName)+'UpData.txt');<br>UpData.Free;<br>Ben.Free;<br>Yuan.Free;<br>end;
 
procedure TForm1.Button3Click(Sender: TObject);<br>Var UpData,Ben,Yuan:TStrings;<br>I,S:integer;<br>begin<br>UpData:=TStringList.Create;<br>Ben:=TStringList.Create;<br>Yuan:=TStringList.Create;<br>UpData.LoadFromFile(edit4.Text);<br>Ben.LoadFromFile(edit2.Text);<br>Yuan.LoadFromFile(edit4.Text);<br>S:=0;<br>For I:=0 To Yuan.Count-20 Do<br>Begin<br> &nbsp;Ben.Move(1,1);<br> &nbsp;If Pos(Yuan,Ben.Text)&gt;0 then<br> &nbsp;Begin<br> &nbsp;//showmessage(inttostr(i)+#13#10+'OK');<br> &nbsp;UpData.Delete(I-S);<br> &nbsp;Inc(S);<br> &nbsp;End;<br>End;<br>UpData.SaveToFile(ExtractFilePath(Application.ExeName)+'UpData.txt');<br>UpData.Free;<br>Ben.Free;<br>Yuan.Free;<br>end;
 
我想应该让文件的当前位置重定位一下,你找找文件方面的资料看看有没定位的函数咯?
 
哎,问了很多人,都不知道,不过我已经换成别的方式了!<br><br>呵呵,谢谢哥们们!
 
天哪,都没有中文说明,谁知道这程序做什么的<br>不过你用xxlist的话,要删某个记录,就要注意剩下的编号就全变了
 
兄弟说的好!<br><br>不过这是习惯问题,呵呵!<br><br>我写程序,重来不注明!习惯了!呵呵!<br><br>下次一定记得注明一下!
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部