Введите имя файла: 175187.txt
" 878 098 7 8 "
" 12d f 7 7 "
>878 098 7 8<
>12d f 7 7<
uses CRT;
VAR
t, t_buf: Text;
S: String;
fName: String; {Имя файла}
BEGIN
Write('Введите имя файла: '); ReadLn(fName);
Assign(t, fName);
{$I-}
{Защищаемся от сбоя, если файла нет или его нельзя открыть
В данном режиме отключается контроль операций ввода-вывода
Вернее - реакция на ошибки, но вырабатывается код завершения
операции. Особенно в чистом ДОС этого нельзя было делать надолго}
Reset(t);
{$I+} {Включаем контроль}
{Узнаем код открытия. Достаточно значть, что 0 - это хорошо}
if IOResult <> 0 then begin
WriteLn('Не удается открыть файл ', fName);
WriteLn('Работа программы завершается. Нажмите любую клавишу');
ReadKey;
Halt(1)
end;
{Сюда попадем, если все хорошо}
Assign(t_buf, 'buf.txt');
Rewrite(t_buf);
{Измененные строки будем писать в новый фавый буферный файл, который
потом перименуем и удалим}
{Функция EOF = EndOfFile определяет, достигнут ли конец файла}
{Возвращается в начало файла}
Reset(t);
While NOT EOF(t) do begin
{Здесь также надо бы проверять на првильность чтения, как
при открытии файла. Если нужно, скажите - допишу}
ReadLn(t, S);
{Следующая строка для контроля. В обычном режиме
не нужна - поэтому закомментировал}
{!!!! ЗДЕСЬ ИЗМЕНИЛ - убрал комментарий}
WriteLn('"',S,'"');
{Удаляем пробелы в начале, но если строка содержит одни пробелы,
то хотя бы один оставим}
While (S[1] = ' ') and (length(S) > 1) do delete(S, 1, 1);
{Пробелы в конце}
While (S[length(S)] = ' ') and (length(S) > 1) do
delete(S, length(S), 1);
{Двойные внутри: с помощью POS находим места, где два пробела}
While (POS(' ', S) <> 0 ) do delete(S, POS(' ',S), 1);
WriteLn(t_buf, S);
end;
Flush(t_buf);
{заставляет ждать, пока все перепишется в файл
Информация в текстовый файл пишется относительно долго
Может случится, что программа завершит работу, и файл
закроется, а еще не все дописано}
Close(t); Close(t_buf);
Erase(t);
Rename(t_buf, fName);
{!!!! ЗДЕСЬ ИЗМЕНИЛ}
Reset(t);
while NOT EOF(t) do begin
ReadLn(t, S);
WriteLn('>', S,'<');
end;
END.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.