|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.12.2017, 20:51 | #1 |
Пользователь
Регистрация: 30.11.2017
Сообщений: 22
|
Имеется программа, которая заменяет определенное слово в файле, что изменить чтобы вместо файла, писать в консольном режиме предложение в котором будет меняться слово.-Delphi
program Project3_ready;
{$APPTYPE CONSOLE} uses SysUtils, Windows; const D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13]; M = 1; cFn1 = 'file1.txt'; cFn2 = 'file2.txt'; var F1, F2 : Text; S, Sw, Fn1, Fn2 : String; Arr1, Arr2 : array[1..M] of String; i, j, Len, LenW, Cnt : Integer; begin SetConsoleCP(1251); SetConsoleOutputCP(1251); Fn1 := ExtractFilePath(ParamStr(0)) + cFn1; Fn2 := ExtractFilePath(ParamStr(0)) + cFn2; repeat Writeln('Файл с исходным текстомГ¬: ', Fn1); Writeln; Writeln('Задайте слова, которые нужно заменить'); i := 0; repeat Write('Ñëîâî ', i + 1, ': '); Readln(S); if S <> '' then begin Inc(i); Arr1[i] := S; end; until (S = '') or (i = M); Cnt := i; Writeln('Задайте слова на которые нужно заменить.'); i := 0; repeat Write('Ñëîâî ', i + 1, ': '); Readln(S); if S <> '' then begin Inc(i); Arr2[i] := S; end; until (S = '') or (i = M); if i < Cnt then Cnt := i; Writeln('Количество пар для замены: ', Cnt); if Cnt = 0 then begin Writeln('Пары не заданы. Действие отменено.'); Readln(S); Continue; end; AssignFile(F1, Fn1); AssignFile(F2, Fn2); Reset(F1); Rewrite(F2); while not Eof(F1) do begin Readln(F1, S); Len := Length(S); LenW := 0; for i := Len downto 1 do if not (S[i] in D) then begin Inc(LenW); if (i = 1) or (S[i - 1] in D) then begin Sw := Copy(S, i, LenW); j := 1; while (j <= Cnt) and (Sw <> Arr1[j]) do Inc(j); if j <= Cnt then begin Delete(S, i, LenW); Insert(Arr2[j], S, i); end; LenW := 0; end; end; Writeln(F2, S); end; CloseFile(F1); CloseFile(F2); Writeln('Текст обработан. Результат записан в файл: ', Fn2); Writeln; Readln(S); until S <> ''; end. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа находит и длинное и короткое слово можете изменить её так чтобы она находило только короткое слово | Александр121 | Помощь студентам | 3 | 23.11.2017 20:25 |
программа, которая удаляет из слова наименьшее количество букв так, чтобы слово не содержало двух типов опечаток. | Николай Сергеев | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 20.11.2013 16:52 |
Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово (С++) | Lapochka | Помощь студентам | 6 | 01.12.2011 14:05 |
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. | Паскалька^^ | Помощь студентам | 5 | 19.10.2010 00:55 |
Как изменить цвет текста на всей строке в RichEdit, если строка содержит определенное слово?? | IIpopoK | Общие вопросы Delphi | 0 | 22.06.2008 07:57 |