Тема: Pascal
Показать сообщение отдельно
Старый 05.06.2014, 15:17   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от natali_lavr Посмотреть сообщение
модуль, заменять в файле
Ну, как-то так. Модуль сохранить, как файл с именем My_Unit.pas.

Модуль:

Код:
Unit My_Unit;

Interface

Procedure Replace_Word(Nm,S1,S2:String);

Implementation

Procedure Replace_Word(Nm,S1,S2:String);
Var
 f1,f2:Text;
 S:String;
 C:Char;
 i:Byte;
Begin
 C:=' ';
 S:='';
 Assign(f1,Nm);
 Reset(f1);
 Assign(f2,'xxx');
 Rewrite(f2);
 Repeat
  While (C<>S1[1]) and not EoF(f1) do
   begin
    Read(f1,C);
    if C<>S1[1] then Write(f2,C);
   end;
  If not EoF(f1) then
   begin
    S:=S+S1[1];
    for i:=2 to Length(S1) do
     begin
      read(f1,C);
      S:=S+C;
     end;
    if S=S1 then
     for i:=1 to Length(S2) do Write(f2,S2[i])
    else
     for i:=1 to Length(S1) do Write(f2,S1[i]);
   end;
  S:='';
 Until EoF(f1);
 Close(f1);
 Close(f2);
 Rewrite(f1);
 Reset(f2);
 Repeat
  Read(f2,C);
  Write(f1,C);
 Until EoF(f2);
 Close(f1);
 Close(f2);
 Erase(f2);
end;

end.


Программа:


Код:
Uses My_Unit;

Var
 Name,Sbef,Saft:String;

Begin
 Write('Enter file name: ');
 Readln(Name);
 Write('Word to find: ');
 Readln(Sbef);
 Write('Replace with: ');
 Readln(Saft);
 Replace_Word(Name,Sbef,Saft);
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070