导入文本文件替换内容并保存

function TForm22.SearchAllFile(const FileName: string; const SearchText: string;
IsReplace: Boolean; const ReplaceText: string): Boolean;
var
  getStream: TFileStream;
  setStream: TFileStream;
  temp: TStringList;
  AEncoding: TEncoding;
begin
  AEncoding := GetTextEncoding(FileName);
  getStream := TFileStream.Create(fileName, fmOpenRead or fmShareDenyNone);
  temp := TStringList.Create;
  temp.LoadFromStream(getStream, AEncoding);
  getStream.Free;
  if pos(SearchText, temp.Text) <> 0 then    {表示inString中有一句话SearchText}
  begin
    lbDirectories.Items.Add(FileName);
    bl := true;
    fileNum := fileNum + 1;
    if IsReplace then
    begin
      temp.Text := StringReplace(temp.Text, SearchText, ReplaceText, [rfReplaceAll]);
      setStream := TFileStream.Create(fileName, fmCreate);
      temp.SaveToStream(setStream, AEncoding);
      setStream.Free;
      ProgressBar1.Position := ProgressBar1.Position + 1;
    end;
  end;
  Temp.Free;
  StatusBar1.Panels[0].Text := '找到 ' + IntToStr(fileNum) + ' 个文件';
end;

posted @ 2012-10-17 10:31  邹晟  阅读(279)  评论(0编辑  收藏  举报