|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2010, 15:38 | #1 |
Регистрация: 28.08.2008
Сообщений: 3
|
Как очистить *.DBT файлы от пустого пространства?
Я использую компонент TDBF. В проекте имеются DBF-файлы (dBaseIV) с memo-полями. При удалении записей из DBF, blob файл (*.dbt) не уменьшается в размере. Подскажите как его можно сжать? Или может быть есть другие способы очистки от пустоты...
|
28.03.2010, 16:29 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
TDbf.PackTable
пробовали? не помогает? |
28.03.2010, 16:57 | #3 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Если вы используете BDE, обратите внимание на прямую функцию DbiPackTable.
Подробности и пример использования - в BDE32.HLP. Собственно, суть работы всякого рода упаковщиков сводится к нескольким шагам: 1. Копирование записей, не помеченных как удаленные, во временную таблицу. 2. Полная очистка (обнуление) исходной таблицы. 3. Копирование записей из временной таблицы в исходную. 4. Удаление временной таблицы. Последний раз редактировалось mihali4; 28.03.2010 в 17:03. |
30.03.2010, 17:17 | #4 |
Регистрация: 28.08.2008
Сообщений: 3
|
Не помогает
|
30.03.2010, 21:50 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
1) TDBF полностью в исходниках.
пройдитесь пошагово, посмотрите, что делается и как.. Хотя бы на уровне структурных (процедурных) блоков... может, что то и нащупаете.. 2) надаеюсь, версию TDBF используете крайнюю на текущий момент? (это версия 6.9.1) к слову, а Дельфи какая версия? 3) если ничего не помогает, попробуйте сделать по абсолютно точному алгоритму, предложенному Михалычем в пост #3 — копируйте Вашу таблицу в новую таблицу.. Если и это не поможет, тогда я рекомендую заменить TDBF на что-нибудь другое или отказаться от мемо-полей! p.s. если выложите архив с исходником проекта + тестовая БД с "несжимаемым" мемо-полем, можно будет "пощупать" ручками, и попытаться найти решение Вашей проблемы.. |
01.04.2010, 17:16 | #6 |
Регистрация: 28.08.2008
Сообщений: 3
|
Delphi 7, а TDBF 6.9
Попробую сначала порыться в исходниках TDBF. Если ничего не выйдет тогда скорее всего сделаю как предлагал Михалыч, думаю что прокатит. В общем дальше видно будет.... Спасибо за помощь! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как очистить экран? | dimorik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 01.10.2008 18:29 |
Как очистить Canvas? | beegl | Общие вопросы Delphi | 4 | 30.05.2008 02:51 |
Как очистить Canvas? | Pro_BerSerK | Общие вопросы Delphi | 9 | 30.01.2008 16:03 |
как очистить экран | doncova1 | Общие вопросы C/C++ | 3 | 18.03.2007 09:50 |