Всем привет! Столкнулся с такой бядой. Если загрузить содержимое файла в буфер функцией LoadStringsFromFile, а затем сохранить в файл функцией SaveStringsToFile, то появляются какие-то дополнительные символы и размер файла увеличивается. Не подскажет кто, что это за фигня, и как с ней бороться?
И ещё несколько символов и 2 лишних символа в конце.
Код:
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[code]
var
i: Integer;
function GetValue(strFilename,keyFind: String; var tvalue: String): String;
var
strArr: TArrayOfString;
position_begin: Integer;
begin
LoadStringsFromFile(strFilename, strArr);
for i:= 0 to GetArrayLength(strArr)-1 do begin
position_begin:= Pos(keyFind,strArr[i]);
if position_begin>0 then begin
Delete(strArr[i],1,position_begin+Length(keyFind)+13);
Delete(strArr[i],3,position_begin+Length(keyFind)+13);
tvalue:= strArr[i];
Result:= tvalue;
Exit;
end;
end;
end;
procedure SearchReplace(FilePath, Find, Value: String);
var
sf, sr, sv: String;
ss: TArrayOfString;
begin
GetValue(FilePath, Find, sv);
LoadStringsFromFile(FilePath, ss);
for i:=0 to GetArrayLength(ss)-1 do begin
if Pos(find, ss[i])>0 then begin
sf:= sv;
sr:= Value;
StringChange(ss[i], sf, sr);
SaveStringsToFile(FilePath, ss, false);
Exit;
end;
end;
end;
function InitializeSetup: Boolean;
var
Path: String;
begin
Path:= ExpandConstant('{src}')+'\PlayerPreferences.sav';
SearchReplace(Path,'StrProperty','ru');
MsgBox('Готово!', mbInformation, MB_OK);
end;
И ещё несколько символов и 2 лишних символа в конце.
Вложения
-
1.5 KB Просмотры: 8