Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Вниз
packed record Найти похожие ветки
← →
Firefly © (2006-05-25 21:35) [0]Народ, подскажите, как удалить запись из packed record?
← →
Desdechado © (2006-05-25 21:40) [1]запись из записи? оригинально
← →
Firefly © (2006-05-25 21:46) [2]Неправильно выразился.
Один элемент из record
← →
Desdechado © (2006-05-25 21:51) [3]record - это тип данных
из переменной какого-либо типа нельзя что-то "удалить"
← →
Firefly © (2006-05-25 21:57) [4]Извиняюсь.
Не рекорд, а типизированный файл, в который записаны рекорды.
В файле есть 5 рекордов. Нужно удалить, скажем, второй.
Я надумал делать так: создать еще один файл, в него переписать все рекорды кроме удаляемого, исходный файл грохнуть, новому присвоить имя исходного.
Но хотелось бы сделать поизящнее:-))
← →
Джо © (2006-05-25 22:01) [5]пишем в редакторе
type
TMyRecord = packed record
a: Integer;
end;
Подводим курсор к нужному полю, нажимаем и удерживаем клавишу Del до достижения нужного эффекта.
← →
Джо © (2006-05-25 22:03) [6]> Я надумал делать так: создать еще один файл, в него переписать
> все рекорды кроме удаляемого, исходный файл грохнуть, новому
> присвоить имя исходного.
Нормальный вариант. Еще один: считать весь файл в память, при его записи на диск не записывать требуемые записи.
← →
Virgo_Style © (2006-05-25 22:03) [7]Firefly © (25.05.06 21:57) [4]
поизящнее
добавить в запись флаг "удалена"
← →
Firefly © (2006-05-25 22:18) [8]
> [5] Джо ©
Надеюсь, вы просто забыли поставить смайлик, ведь я вовремя поправился)))
Файл изначально пихается в поток, сохраняю его тупо:
MyStream.free;
В том-то и вопрос - как из сохранить на диск только требуемые записи?
> Virgo_Style
Можно и так, но при частом добавлении/удалении записей файл будет неоправданно разрастаться.
← →
Sergey Masloff (2006-05-25 22:25) [9]Firefly © (25.05.06 22:18) [8]
>Файл изначально пихается в поток, сохраняю его тупо:
>MyStream.free;
мда... действительно для сохранения оно как-то того...
>записей файл будет неоправданно разрастаться.
На фига. Новые писать поверх тех что с флагом
← →
unknown © (2006-05-25 22:26) [10]
> Firefly © (25.05.06 22:18) [8]
> неоправданно разрастаться.
Надо просто организовать механизм упаковки - т.е. переписываем
в новый файл данные из старого, за исключением помеченных на
удаление, затем старый файл заменяем новым.
← →
Loginov Dmitry © (2006-05-25 22:29) [11]Firefly © (25.05.06 22:18) [8]
В том-то и вопрос - как из сохранить на диск только требуемые записи?
В [4] и [6] все уже сказано.
(Думаю, поизящнее = максимально эффективно)?
← →
Firefly © (2006-05-25 23:02) [12]
> [9] Sergey Masloff
Попробую так.
> [11] Loginov Dmitry ©
:-))Поизящнее - покрасиВШе.
Еще играет детское желание выпендриться, сделать как-нибудь похитрее)))
В любом случае, всем ответившим - спасибо!
← →
tesseract © (2006-05-26 09:21) [13]Очередное изобретение DBF?
Почему бы просто не вести счёт удалённым записям. ввести ещё одиy параметр - Deleted, и при сохранении проверять его, Если он стоит, то на его место записываем новые данные, если нет - идём дальше.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.022 c