|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.04.2011, 21:22 | #1 |
Пользователь
Регистрация: 03.04.2010
Сообщений: 26
|
удаление полей в Record
Доброго времени суток
Мне нужно удалить поля из Record. Код:
TZap= record Naim: String[50]; Count: String[30]; Cena: String[30]; Summ: string[30]; Pro: string[1]; end; Я думаю что можно сдвигать записи, но что делать с последней Последний раз редактировалось nulyjarden; 29.04.2011 в 21:26. |
30.04.2011, 11:55 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) Вам нужно удалить не поля, а ЗАПИСИ (с нужным значением полей)
2) на форуме неоднократно предлагались решения. в общем случае они сводятся к двум вариантам. 1) все записи после каждой удаляемой аписи сдвигаются на одну позицию к началу. (переписывать в цикле последующую запись на место предыдущей). после окончания файл обрезается по нужное место командой truncate(f); 2) все записи, кроме удаляемых переписываются в новый (временный) файл. После окончания записи. Оба файла (исходный и временных) закрываются. Исходный переименовывается в ИмяФайла.BAK (или просто удаляется), а временный файл переименовывается в ИмяИсходногоФайла 3) в реальных (практических) задачах для эффективности добавляют поле-признак удаления записи. Записи, которые нужно удалить - просто помечают как удалянные (устанавливают признак). При обработке данных все записи с этим признаком игнорируются Это самый быстрый и эффективный способ.. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамическое число полей в Record | Alex2391 | Общие вопросы Delphi | 6 | 13.02.2011 21:26 |
В чём различие записей Record от Packed Record? | Terran | Общие вопросы Delphi | 7 | 08.06.2010 17:14 |
При удалении записей значения полей с type:=Autoincrement (т.е+) в оставшихся полей не изменяются | kenta | БД в Delphi | 2 | 29.10.2009 08:28 |
Объеденение полей запроса в для отображения нескольких полей в одном списке | mrCreator | Microsoft Office Access | 3 | 08.08.2009 00:53 |
Удаление/добавление полей runtime | /Denis/ | БД в Delphi | 1 | 06.08.2008 22:35 |