利用Tstringlist删除指定的行中出现的问题?

                            
利用Tstringlist删除文件中有‘                                                                                    4      1’,‘RINEX   FILE   SPLICE;   other   post-header   comments   skipped                     COMMENT’的行,空白处为空格符。   
  代码如下:  
  procedure   TForm1.Button2Click(Sender:   TObject);  
  var  
  s:tstrings;  
  num,pos1,pos2:integer;  
  begin  
      s:=tstringlist.create;  
      s.loadfromfile('c:\usno.06o');  
      for   num:=0   to   s.count-1   do  
      begin  
        pos1:=pos('                                                         4     1',s[num]);  
        pos2:=pos('RINEX   FILE   SPLICE;   other   post-header   comments   skipped                      COMMENT',s[num]);  
        if   pos1>0         then  
            s.Delete(num);  
        if   pos2>0   then  
            s.Delete(num);    
            s.SaveToFile('c:\1.06o');  
        end;  
    end;  
  在执行中出错提示'list   index   out   of   bounds   (48410)',此文件一共48432行。  
  本以为是超出了列表行数,但不作删除操作,把这些内容放在memo里都能正常显示出来,所以觉得还不是超出原因,可以是出在删除操作上了,请大家帮我看看是哪里出错,另外觉得这种方法操作文件有点慢,有没有什么好的方法,大家指点一下,万分感谢。。

查看回复