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

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

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

> удаление в типиз. типах, по номеру записи
сообщение
Сообщение #1


Пионер
**

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

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


задача:
1 Открыть файл
2 Добавить запись
3 Изменить запись по номеру
4 Удалить запись по номеру
5 Распечатать построчно
6 Выйти

Проблема с 4 пунктом. Препод сказал сделать так - узнать номер строки, создать новый файл и перенести туда все строки кроме этой, потом - переименовать новый файл в старый. Подскажите плз как сделать, а уж с 5 и 6( smile.gif ) я сам разберусь yes2.gif

program lol;
uses crt;
label metka1, metka2;
type Pprice=record
Pname:string[20];
Pvalue:real;
end;
var price:file of Pprice;
p:pprice;
i,n,z,x:integer;
procedure vivod;
begin
reset(price);
while not eof(price) do
begin
read(price,p);
write(p.pname:10);
writeln(p.pvalue:10:2);
writeln;
end;
close(price);
end;

begin
clrscr;
begin {' otkritie '}
assign(price,'C:\price.dat');
write('noviy file - 0, redakt - 1 ');
readln(i);
if i=0 then rewrite(price) else reset(price);
end;

begin {' dobavlenie '}
write('dobavit? da - 1, net - 0 ');
readln(n);
if n=1 then
begin
metka1:
seek(price,filesize(price));
write('vvedite na3vanie tovara ');
read(p.pname);
write('vvedite na3vanie ceni ');
read(p.pvalue);
write(price,p);
write('dobavit? da - 1, net - 0 ');
readln(n);
if n=1 then goto metka1;
end;
close(price);
end;

vivod;

begin {' i3menenie '}
reset(price);
metka2:
write('vvedite nomer stroki dlia i3meneniya ');
readln(i);
seek(price,i-1);
write('vvedite na3vanie tovara ');
read(p.pname);
write('vvedite na3vanie ceni ');
read(p.pvalue);
write(price,p);
write('eshe redaktirovat? da - 1, net - 0 ');
readln(n);
if n=1 then goto metka2;
close(price);
end;

vivod;

begin {' ydalenie '}
write('vvedite nomer stroki dlia ydaleniya ');
readln(i);
??? sad.gif
end;

readln;
end.


--------------------
Цитата
          .     .
           \__/
          (**)
(>:=:=:~~ 
  ^ ^ ^ ^ 

Креветка присваивания :DDD
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
kr3v3tkus   удаление в типиз. типах   15.03.2006 3:51
volvo   Бред... Нет в типизированном файле такого понятия,…   15.03.2006 4:07
kr3v3tkus   2 volvo: пардон, мой косяк спешил и описа'лся …   15.03.2006 4:28
volvo   :yes2: Именно так и пишешь: if filepos(old_file…   15.03.2006 4:33
kr3v3tkus   Пасибоньки :) в который раз... :)   15.03.2006 5:06
мисс_граффити   основа такая же, но маленькое дополнение внесу. м…   15.03.2006 13:22
volvo   можно в саму запись добавить одно поле логического…   15.03.2006 15:12
klem4   И зачем хранить совершенно лишнюю и не нужную инфо…   15.03.2006 13:27
мисс_граффити   всегда надо удалять только одну запись?   15.03.2006 15:14
volvo   мисс_граффити, давай ты будешь ВНИМАТЕЛЬНО читать …   15.03.2006 15:18
kr3v3tkus   я конечно извиняюс за свою тупость, но никак не мо…   15.03.2006 16:16
volvo   Я не говорил тебе переименовывать так: var price…   15.03.2006 16:24
kr3v3tkus   вроде понял, это просто строка, в которую мы переи…   15.03.2006 16:59
volvo   Не знаю, что у тебя происходит: только что прогнал…   15.03.2006 17:32
kr3v3tkus   :blink: офигеть, а у меня не прёт :cray: системо…   15.03.2006 19:28
kr3v3tkus   Блин, вобщем сдал я прорамку эту(тока 2 чела удале…   16.03.2006 23:47
vladivarov   Да мне кажется, что любой ответ будет являться суб…   10.10.2012 0:37


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

 





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