1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| V@nix |
21.05.2005 13:47
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Народ помогите. Есть 2 файла 1 и 2, в 1-ом файле содержатся записи о книгах:
book= record В файле 2 - запись об абонементах: man=record запись atribut выглядит так: atribut=record Вопрос! Когда абонемент берет книгу то должны вносится изменения в запись book (файл №1). Изменяется кол-во книг текущей книги book.ekz. И шифр книги cod добавляется в запись man.k[i].shifr ... Как внести изменения в существующую запись (запись находится в файле)? |
![]() ![]() |
| Free |
5.06.2005 17:26
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: 0 |
Цитата procedure FFind(var f:filetype); ... begin for i:=0 to filesize(f - 1) do { не до последней, а до предпоследней записи } ... А можно поинтересоваться, почему до предпоследней?
Остальное всё подправил, вроде работает |
| volvo |
5.06.2005 18:11
Сообщение
#3
|
|
Гость |
Цитата(Free @ 5.06.05 17:26) А можно поинтересоваться, почему до предпоследней? Потому что seek(f, filesize(f));означает "переместить указатель файла ЗА последнюю запись" - это обычно делается для добавления в конец файла. Не забывай, что у тебя нумерация записей в файле начинается с 0, и чтобы обратиться к записи №3 (№3 для тебя, начиная с 1-цы), тебе нужно сделать seek(f, 2);Если же ты сделаешь seek(f, 3); то будешь добавлять 4-ю запись (это допустимо), или читать 4-ю (а вот это и есть Error 100)... 2. procedure FSortByPrice(var f:filetype); |
V@nix Работа с файлами 21.05.2005 13:47
volvo А ты уже нашел запись, которую нужно менять, или н... 21.05.2005 13:53
V@nix
Я нашел запись. Лучше покажу, вот эта процедура к... 21.05.2005 18:39
volvo Так вот после этого:
man.k[o].shifr:=book.cod;
boo... 21.05.2005 18:51
V@nix Большое спасибо Volvo! 22.05.2005 21:48
Free Решил писать в эту же тему. Думаю у меня будет нес... 28.05.2005 18:44
volvo
В принципе - правильно, но есть кое-что "лиш... 28.05.2005 19:00
Free volvo, спасибо.
Ну это я для наглядности написал... 28.05.2005 19:32
volvo Преобразуем строковое представление числа (храняще... 28.05.2005 19:38
volvo Подробней читай Turbo Pascal Help... 28.05.2005 20:50
Free Подскажите как реализовать процедуру добавления но... 29.05.2005 1:11
volvo
Seek(f, FileSize(f));
Write(f, ...) 29.05.2005 8:15
suriv всмысле увеличить размер ?
забей туда что-нить 29.05.2005 2:33
Free suriv, я неправильно выразился. volvo, спасибо. 29.05.2005 12:34
Free Очередной вопрос. Сейчас работаю над процедурой ed... 29.05.2005 17:31
volvo
Нет, не будет... Ты не можешь работать с названия... 29.05.2005 18:38
Free Помогите разобраться с процедурой Delete, которая ... 4.06.2005 19:54
volvo type
telement = record ... end;
filetype = fil... 4.06.2005 20:10
Free Начал отладку программы, появились некоторые пробл... 5.06.2005 14:00
volvo
...
seek(f,i-1);
read(f, rec); { <--- Это что,... 5.06.2005 14:41
Free Всё вроде разобрался, программа раюотает! :) v... 7.06.2005 0:11![]() ![]() |
|
Текстовая версия | 8.12.2025 23:23 |