各位大虾,兄弟我是菜鸟,请帮一下忙。谢谢!有一文件ABC.TXT。现在要替换其中一小段内容。
ABC.TXT文件内容如下:
.....................................................................
我喜欢你,我们交往吧。                                              .
我被无形中的黑影压的喘不过气,越想逃跑就只会让我的人生变得一塌糊涂。.
爱情在人类的基因上是设定发生在三年后就将由浓转淡。                  .
爱情只不过是一种幻觉。                                              .
其实你和我在一起,才会真正快乐。                                    .
我现在只能相信,心中这伤痛一定会有慢慢消退的一天。                  .
.....................................................................
把其中的“爱情只不过是一种幻觉。”替换为“爱让我坚强。”
此过程要包括打开、读取、替换、保存、关闭文件,并且都不能在程序执行过程中显示。

解决方案 »

  1.   

    看delphi自带的demo,位置如下:
    C:\Program Files\Borland\Delphi7\Demos\RichEdit
      

  2.   

    with TStringList.Create do begin
      LocaFromFile('文件路径和文件名');
      Text := ReplaceString(Text , '爱情只不过是一种幻觉。',爱让我坚强。',[rfReplaceAll]);
      SaveToFile('新文件位置');
      Free;
    end;
      

  3.   

    使用MEMO控件
    memo1.Lines.LoadFromFile('c:\XXX.txt');
    for I := 0 to Memo1.Lines.Count do
      begin
        PosReturn := Pos('爱情只不过是一种幻觉。',UpperCase(Memo1.Lines[I]));
        if PosReturn <> 0 then {found!}
        begin
          SkipChars := 0;
          for J := 0 to I - 1 do
            SkipChars := SkipChars + Length(Memo1.Lines[J]);
          SkipChars := SkipChars+ (I*2); // I*2表求每行需加上回车和换行2个字符
          SkipChars := SkipChars + PosReturn - 1;
          Memo1.SetFocus;
          Memo1.SelStart := SkipChars;
          intLen:= Length(Memo1.Lines[I-1]);
          Memo1.SelLength := intLen; 
          Break;
        end;
      end;
    memo1.SelText:='爱让我坚强。';
    memo1.Lines.SaveToFile('c:\XXX.txt') ;
      

  4.   

    应该是
    Text := StringReplace(Text , '爱情只不过是一种幻觉。',爱让我坚强。',[rfReplaceAll]);