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 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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