IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> обнуление и удаление строк в файле
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


дан файл со строками (их кол-во не известно). Если в 3 или 5 строке 4-й элемент пробел, то скопировать этот файл в другойб заменив при этом эти символы нулём. Если это условие не выполняется , то удалить эти строки, создав новый файл (имеется в виду переписать в новый файл исходный файл без 3-й и 5-й строк)

использовать только write, read, assign, rewrite, reset, eof, erase, rename, seek

прежде всего не знаю ,как ввести в файл текст по строкам, с вводом в моем варианте решения полная ерунда, получается что-то бесконечно..

ещё не пойму, как переписать в новый файл исходный файл без 3-й и 5-й строк



uses crt;
procedure save_file ( filename : string );
var
f : file of string;
s : string;
c : char;
begin
assign ( f, filename);
rewrite (f);
writeln ('vvedite dannye v file');
repeat
readln ( c );
s := s+c;
until c='.';
readkey;
write (f, s);
close (f);
end;

procedure print_file ( filename : string );
var
f : file of string;
s: string;
i : byte;
begin
assign ( f, filename );
reset (f);
while not eof (f) do
begin
for i := 1 to length (s) do
begin
read (f, s);
writeln (s[i]);
end;
end;
close (f);
end;

procedure file_preobrazovanie ( f_in,f_out : string );
var
f, f1 : file of string;
s : string;
i : byte;
begin
assign (f, f_in );
reset (f);
seek (f, 2 );
if (s[4] = ' ') then
begin
s[4] := '0';
assign (f1, f_out );
rewrite (f1);
while not eof (f) do
write ( f1, s );
close ( f1 );
end;
seek (f, 4);
if (s[4] = ' ') then
begin
s[4] := '0';
assign (f1, f_out );
rewrite (f1);
while not eof (f) do
write ( f1, s );
close ( f1 );
end;
close (f);
end;
vAR
fil : file of string;
begin
clrscr;
save_file ('x-files.bin');
writeln ('============================');
print_file ('x-files.bin');
file_preobrazovanie ('x-files.bin','x-files1.bin');
writeln ('========================');
print_file ('x-files1.bin');
readkey;
end.



Сообщение отредактировано: 18192123 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Цитата
я пытаюсь что-то ввести в файл, но нажимая буквы получаю только изменение положения курсора

Глюк форума:

procedure save_file ( filename : string );
var
f : file of string;
s : string;
c : char;
begin
assign(f,filename);
rewrite(f);
writeln('vvedite dannye v file');
repeat
s:='';
repeat
c:=readkey;
write©; {поставь после write "с" в дужках}
s:=s+c;
until (c='.') or (c=#13);
write(f,s);
writeln;
until c=#13;
close(f);
end;



Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Цитата(Bokul @ 17.12.2006 21:08)
Глюк форума:


Да, я уже поняла! сегодня когда выкладывала этот код, было тот самое!
Еще раз спасибо!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
18192123   обнуление и удаление строк в файле   17.12.2006 22:39
Bokul   Конец ввода строки - "." (точка) Конец в…   18.12.2006 0:32
18192123   continue; никогда с так…   18.12.2006 0:52
Bokul   Справка Паскаля: while not eof(f) do be…   18.12.2006 0:57
18192123   я пытаюсь что-то ввести в файл, но нажимая буквы …   18.12.2006 1:05
Bokul   Глюк форума: procedure save_file ( filename : …   18.12.2006 1:08
18192123   Глюк форума: Да, я уже поняла! сегодня когда …   18.12.2006 1:16
Bokul   Для этого у меня continue и стоит. Посмотри вни…   18.12.2006 1:18
18192123   а как сделать, чтоб в новый файл записывались стро…   18.12.2006 1:18
ordering cheap prednisone withou   Viagra Zurich   2.10.2021 8:04
Bokul   Я наверное читаю твои мысли... :lol: Посмотри на н…   18.12.2006 1:20
18192123   а можно как-нибудь без continue, а то наш препад, …   18.12.2006 1:47
Bokul   Можно и goto использовать... :) А если только…   18.12.2006 2:00
18192123   А если только проверками, то так: [code=pas] whil…   5.01.2007 16:08
Bokul   Почему же одно и то же? Ты не заметила вот эту стр…   5.01.2007 22:38


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.11.2022 11:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name