导入文本文件替换内容并保存
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;