有一个文本文件,按每行一个保存了数万个帐号,假定现已将该文本导入到RichEdit1中,
怎样将不满足某指定条件的行删除,只保留满足指定条件的行,并在RichEdit1中显示最终结果?求高效代码。

解决方案 »

  1.   

    对不满足条件的行进行:
    RichEdit1.Lines.Clear;
      

  2.   

    richedit1.lines.delete(不满足条件的航号)
      

  3.   

    我试过了,用richedit1自带的方法,速度非常慢。我以上提到的RichEdit控件只不过是用来显示最终结果用的,设计具体算法代码完全可以不涉及到它。
      

  4.   

    var
      Strs: TStrings;
    begin
      Strs := TStrings.Create;
      Strs.LoadFromFile('aa.txt');
      //....从Strs中删除不满足条件的行
      RichEdit.Lines.Assign(Strs);
      FreeAndNil(Strs);
    end;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  5.   

    TStrings不错顺便问一下,用什么来显示一个文本文件比较好了?好看,好用
      

  6.   

    先导入TStringList进行操作,删除相应行,然后付给richedit.lines
      

  7.   

    照lxpbuaa(桂枝香在故国晚秋) 的代码试了一下,出错。
    后来受dyf2001() 启发,将Strs := TStrings.Create;改为
    Strs := TStringList.Create;就可以了。但是还有一个问题,就是用代码RichEdit.Lines.Assign(Strs);的时候,鼠标闪动得很厉害,请问有什么办法解决?
      

  8.   

    在更新界面之前richedit1.Lines.BeginUpdate;
    更新之后richedit1.Lines.EndUpdate;
    屏幕就不会闪烁了,很多VCL都有这样的操作
      

  9.   

    闪动的问题已解决
    richedit1.text:=Strs.text;