Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 00:05   #1
Silverstone
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 75
По умолчанию Редактирование текстового файла.

Цитата:
Текстовая информация вводится с клавиатуры и заносится в текстовый файл. Признаком окончания ввода служит ввод пустой строки. Файл закрыть, затем открыть его для чтения и отредакти-ровать: в каждой строке текста проверить правильность расстанов-ки запятых. Правила следующие – в начале строки не должно быть запятой, не может идти подряд две и более запятых, перед запятой не может быть пробела, после запятой должен быть хотя бы один пробел. Отредактированный текст записать в промежуточный файл. Затем старый файл удалить, а новый переименовать – дать ему старое имя. Содержимое отредактированного файла выдать на экран.
не знаю как реализовать данное "правило". помогите пожалуйста.
Код:
repeat 
    writeln('введите текст');
    readln(x);
    if x<>'' then write(f,x);
   until x=''; 
 close(f);

reset(f);

 assign(d,'D:\text1.txt'); rewrite(d);
   while not eof(f) do begin  
    readln(f,x);
    if pos(',',x)<>0 then
       begin


       end;
    writeln(d,x);
   end;
 close(d);
 
close(f);
  erase(f); 
  rename(d,'D:\final_text.txt');
end.
Silverstone вне форума Ответить с цитированием
Старый 16.12.2011, 04:37   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
в начале строки не должно быть запятой
Код:
while s[1]=',' do delete(s,1,1);
Цитата:
не может идти подряд две и более запятых
Код:
while  pos(',,',s)<>0 do delete(s,pos(',,',s),1);
Цитата:
перед запятой не может быть пробела
Код:
while  pos(' ,',s)<>0 do delete(s,pos(' ,',s),1);
Цитата:
после запятой должен быть хотя бы один пробел
Код:
i:=1;
while i<=length(s) do
begin
if (s[i]=',') and (s[i+1]<>' ') then begin insert(' ',s,i);inc(i,2);end
else inc(i);
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# редактирование текстового файла dluhhbiu Помощь студентам 1 03.09.2011 17:45
Создание и редактирование текстового файла sasha0123 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.12.2010 00:00
Из текстового файла в бд!!! Poltev86 БД в Delphi 5 16.05.2010 23:18
считывание с текстового файла ciaonataha Помощь студентам 0 20.04.2009 12:09
Delphi Редактирование текстового файла Starscream Общие вопросы Delphi 11 18.02.2008 17:15