![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
V@nix |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ помогите. Есть 2 файла 1 и 2, в 1-ом файле содержатся записи о книгах:
book= record
cod:integer;{шифр книги}
title:integer;{название книги}
ekz:byte;{кол-во книг в каталоге}
end;
В файле 2 - запись об абонементах: man=record
ncb:integer; {номер читательского билета}
{книги находящиеся у абонемента от 1 до 20 книг}
k:array[1..20] of atribut;
запись atribut выглядит так: atribut=record
shifr:integer;
when:integer;
dowhen:integer;
end;
Вопрос! Когда абонемент берет книгу то должны вносится изменения в запись book (файл №1). Изменяется кол-во книг текущей книги book.ekz. И шифр книги cod добавляется в запись man.k[i].shifr ... Как внести изменения в существующую запись (запись находится в файле)? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Так вот после этого:
man.k[o].shifr:=book.cod;
book.ekz:=book.ekz-1;
...
в памяти все изменения уже произведены - осталось перенести их в файл. Для этого возвращаемся на 1 позицию в обоих файлах назад и пишем измененные переменные: { продолжаем: вместо readkey }
seek(a, filepos(a)-1); write(a, man);
seek(f, filepos(f)-1); write(f, book);
exit; { и выходим }
|
V@nix |
![]() ![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо Volvo!
|
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 22:22 |