Цитата:
Сообщение от mad-d
P.S. А можно ли как-нибудь реализвать процедуру редактирования и удаления отдельных записей в файле. Если есть мысли, то поделитесь =) Буду нереально рад
http://tempfile.ru/file/3031352
12345123
|
Редактирование записи: перемещаемся с помощью
Seek к записи которую нужно отредактировать, читаем её с помощью
Read в переменную-запись (Cars: TCar), выводим данные на форму и даём пользователю возможность изменять. Когда пользователь нажимает "Сохранить" считываем данные с формы в переменную-запись (Cars: TCar), опять перемещаемся к этой же записи с помощью
Seek и записываем назад данные с помощью
Write.
Удаление записи: если нужно удалить последнюю запись, то всё просто - перемещаемся к ней с помощью
Seek и обрезаем файл с помощью
Truncate.
Если же нужно удалить не последнюю запись, то чуть сложнее: перемещаемся к последней записи с помощью
Seek, читаем содержимое в переменную-запись (Cars: TCar) с помощью
Read, перемещаемся с помощью
Seek к записи которую нужно удалить и записываем в эту запись содержимое переменной-записи (Cars: TCar) с помощью
Write, потом опять перемещаемся к последней записи с помощью
Seek и обрезаем файл с помощью
Truncate.
p.s. Количество записей которые уже есть в файле можно узнать с помощью
FileSize. Если от этого числа отнять единицу, то получим номер последней записи, если это не отрицательное число, то указывая его в процедуре
Seek можем переместиться к последней записи.