Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Как удалить запись из типизированного файла ?   Найти похожие ветки 

 
Developerr ©   (2005-12-06 18:30) [0]

Файл создан на основе <TMyRecord = packed record>
Как удалить конкретную запись?

Спасибо


 
Anatoly Podgoretsky ©   (2005-12-06 20:08) [1]

Нельзя, но можно на это место сдвинуть оставшие записи и образать файл.


 
Германн ©   (2005-12-07 02:38) [2]

2 Anatoly Podgoretsky ©   (06.12.05 20:08) [1]
Опять "промахнулся", вместо "э" нажал "а". :-)

2 Developerr ©   (06.12.05 18:30)
См. [1], это в первую очередь, поскольку показывает правильный путь к решению задачи. Но если нужно производить "многократные" операции удаления/изменения/добавления в типизированном файле, то, имхо, лучше создать свой класс, считать в него файл, произвести изменения, записать результат в файл.


 
Джо ©   (2005-12-07 03:27) [3]

Есть еще один подход, вернее, развитие [1].
В запись вводится отдельное поле, указывающее на то, что запись "пуста". Соответственно, при удалении записи в типизированном файле просто записывается в нужную позицию "пустая" запись. Выигрыш от такого подхода становится ощутимым при частых операциях удаления. В конце работы программы или в иное удобное время (или же по специальной команде) производится т.н. "упаковка" файла, т.е., все непустые записи переносятся в отдельный файл, которым потом заменяется исходный.

Но, все-же, имеет смысл рассмотреть вариант хранения всех записей в массиве или списке, обеспечив процедуры удаления/вставки записей и сохранение/загрузки в/из файла. Развитие этой идеи приводит к переходу на объектно-ориентированную модель, т.е., инкапсуляции данных и операций над ними в один класс.



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
6-1126532017
LostCodder
2005-09-12 17:33
2005.12.25
Получение текста в TServerSocket


1-1133350499
Vitek
2005-11-30 14:34
2005.12.25
Форма и DLL


11-1115148344
Леший
2005-05-03 23:25
2005.12.25
Перерисовка окна


14-1133802135
_kostet
2005-12-05 20:02
2005.12.25
литература по T-SQL


4-1130398364
G-h-o-s-t
2005-10-27 11:32
2005.12.25
Возможно ли нажать неактивную кнопку в чужом приложении