Ну, убивать, в смысле руки отрывать, за такое надо.
Ты же все-равно делаешь замену в рамках одной строки. Ну так нафига читать файл целиком? Читай по одной строке. Что-то типа:
Код:
procedure ReplaceSubStringInFile(ASrcFileName, ATgtFileName, ASrcStr, ATgtStr : String);
var
F_Src, F_Tgt : TextFile;
S : String;
begin
AssignFile(F_Src,ASrcFileName);
AssingFile(F_Tgt,ATgtFileName);
Reset(F_Src);
Reqwrite(F_Tgt);
While Not EOF(F_Src) Do
Begin
ReadLN(F_Src,S);
S := StringReplace(S,ASrcStr,ATgtStr,[srReplaceAll]);
WriteLn(F_Tgt,S);
End;
CloseFile(F_Src);
CloseFile(F_Tgt);
end;