Мне нужна настройка inno, чтобы взять строку, проверить номер Area. и добавьте +1, см. пример ниже
Original FILE:
[Area.1]
Title=World P1
Local=C:\scenery\world\p
Layer=
Active=TRUE
Required=FALSE
[Area.2]
Title=World C1
Local=C:\scenery\world\c
Layer=
Active=TRUE
Required=FALSE
[Area.3]
Title=World D1
Local=C:\scenery\world\d
Layer=
Active=TRUE
Required=FALSE
[Area.4]
Title=World E1
Local=C:\scenery\world\e
Layer=
Active=TRUE
Required=FALSE
Inno setup проверит, какая область является последней, в случае Area.4 она возьмет число, добавит +1 и добавит еще один область с дополнительным номером, чтобы иметь возможность следить за файлом, как сказано. Итак, возьмите Area.4 и добавьте
[Area.5]
Title = World F1
Local = C: \ scenery \ world \ f
Слой =
Актив = ИСТИНА
Обязательно = ЛОЖЬ
Inno Setup, прочитайте и проверьте последнюю область, после установки она останется вот так
[Area.1]
Title=World P1
Local=C:\scenery\world\p
Layer=
Active=TRUE
Required=FALSE
[Area.2]
Title=World C1
Local=C:\scenery\world\c
Layer=
Active=TRUE
Required=FALSE
[Area.3]
Title=World D1
Local=C:\scenery\world\d
Layer=
Active=TRUE
Required=FALSE
[Area.4]
Title=World E1
Local=C:\scenery\world\e
Layer=
Active=TRUE
Required=FALSE
[Area.5]
Title=World F1
Local=C:\scenery\world\f
Layer=
Active=TRUE
Required=FALSE
Я использую этот код, но он просто добавляет, мне нужен установщик, чтобы проверить число в исходном файле и изменить строки [1], добавив +1, как если бы это было сумма в PHP / mysql
function saveStringToFile(): boolean;
var
InstallDir: string;
fileName : string;
lines : TArrayOfString;
begin
if FileExists(ExpandConstant('{app}\scenery.cfg')) then
begin
MsgBox('Archive "scenery.cfg" found', mbInformation, MB_OK);
Result := True;
fileName := ExpandConstant('{app}\scenery.cfg');
SetArrayLength(lines, 43);
//
lines[0] := '';
lines[1] := '[Area.5]';
lines[2] := 'Title=World F1';
lines[3] := 'Local=C:\scenery\world\f';
lines[4] := 'Layer=';
lines[5] := 'Active=TRUE';
lines[6] := 'Required=FALSE';
lines[7] := '';
//
Result := SaveStringsToFile(filename,lines,true);
exit;
end
else
begin
MsgBox('Archive "scenery.cfg" not found', mbInformation, MB_OK);
Result := False;
end;
end;