Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 14
Благодарности: 3

Профиль | Отправить PM | Цитировать


Мне недавно понадобилось найти в файле нужный параметр и дописать к нему своё значение. Функция замены строки в файле в "чистом" виде не подошла. Пришлось слегка доработать его. Собственно сам скрипт:
Код: Выделить весь код
Procedure StrInsert ();
var
  S: TArrayOfString;
  F: String;
  i:integer;
begin
  F := ExpandConstant('{app}')+'\file.txt';
  if not FileExists(F) then Exit;
  LoadStringsFromFile(F, S);
  for i:=0 to GetArrayLength(S)-1 do begin
    if Pos('param',S[i])>0 then
      begin
        if Pos('=', S[i])>0 then Insert('insParam ', S[i], Pos('=', S[i])+2) else Exit;
      end;
  end;
  SaveStringsToFile(F, S, False);
end;
В этом примере скрипт ищет в файле file.txt строку содержащую param, потом в полученной строке ищет знак равенства = Если такой знак имеется, то через один символ дописывает insParam.
Результат работы: было "bla bla param = bla bla" стало "bla bla param = insParam bla bla"
Может кому нибудь пригодится
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:00, 14-03-2010 | #1539