Текстовый файл! Задача!
Добавлено: 18 янв 2009, 11:06
Помогите плиз!!! Написать программу, которая вставляет пробел после знаков препинания в текстовом файле, если его там нет.
Я написал код который встваляет пробелы после запятой а нада после всех знаков препинания!!! И почему то читает только первую строку в файле, если в файле создавать несколько строк, то прога виснет!!! Помогите плиизз!!!!
procedure probel(var f:text);
begin
assign (f2,'C:\ret.txt');
rewrite(f2);
assign (f,'C:\ter.txt');
reset (f);
while not eof(f) do
readln(f,s);
while pos(',',s)<>0 do
begin
if s[pos(',',s)+1]<>' ' then
begin
ss:=ss+copy(s,1,pos(',',s))+' ';
delete (s,1,pos(',',s));
end
else
begin
ss:=ss+copy(s,1,pos(',',s)+1);
delete (s,1,pos(',',s)+1);
end;
end;
write(f2,ss);
close(f);
close(f2);
erase(f);
rename(f2,'C:\ter.txt');
end;
Я написал код который встваляет пробелы после запятой а нада после всех знаков препинания!!! И почему то читает только первую строку в файле, если в файле создавать несколько строк, то прога виснет!!! Помогите плиизз!!!!
procedure probel(var f:text);
begin
assign (f2,'C:\ret.txt');
rewrite(f2);
assign (f,'C:\ter.txt');
reset (f);
while not eof(f) do
readln(f,s);
while pos(',',s)<>0 do
begin
if s[pos(',',s)+1]<>' ' then
begin
ss:=ss+copy(s,1,pos(',',s))+' ';
delete (s,1,pos(',',s));
end
else
begin
ss:=ss+copy(s,1,pos(',',s)+1);
delete (s,1,pos(',',s)+1);
end;
end;
write(f2,ss);
close(f);
close(f2);
erase(f);
rename(f2,'C:\ter.txt');
end;