Вниз
Скачать: CL | DM;

Открыть .dbf без индекса   Найти похожие ветки 

 
Игорь Писанко   (2004-11-18 16:36) [0]

Требуется открыть базу .DBF но делфи выдает Invalid index descriptor. Как открыть базу и создать новый индексный фаил.Спасибо за пример.


 
SergP.   (2004-11-18 19:35) [1]

Открой dbf в фоксе (при этом индексного файла не должно быть в этой же папке). Фокс матюкнется на тебя. выберешь ignore и закроешь фокс.

Либо вручную исправь в dbf нужный байт в заголовке (только вот я не помню точно какой). Поищи сам...Поисковики есть..


 
Anatoly Podgoretsky ©   (2004-11-18 19:47) [2]

А зачем фокспро, что родных инструментов недостаточно или программным путем.


 
SergP ©   (2004-11-18 20:18) [3]

ну я так привык. Мне фокспро удобнее родных инструментов...:-))


 
Anatoly Podgoretsky ©   (2004-11-18 20:41) [4]

А что делать тем, кто этот фокспро и в глаза не видал, а Дельфи есть.


 
SergP ©   (2004-11-18 21:02) [5]

Хорошо. Тогда так:

Вот нашел описание заголовка:

+----------------------------------------------------------+
¦         Запись заголовка в файле с данными               ¦
¦----------------------------------------------------------¦
¦ Байты ¦              Описание                            ¦
¦-------+--------------------------------------------------¦
¦ 00    ¦Типы файлов с данными:                            ¦
¦       ¦ FoxBASE+/dBASE III +, без memo - 0х03            ¦
¦       ¦ FoxBASE+/dBASE III +, с memo   - 0х83            ¦
¦       ¦ FoxPro/dBASE IV,      без memo - 0х03            ¦
¦       ¦ FoxPro                с memo   - 0хF5            ¦
¦       ¦ dBASE IV              с memo   - 0x8B            ¦
¦-------+--------------------------------------------------¦
¦ 01-03 ¦Последнее изменение (ГГММДД)                      ¦
¦-------+--------------------------------------------------¦
¦ 04-07 ¦Число записей в файле                             ¦
¦-------+--------------------------------------------------¦
¦ 08-09 ¦Положение первой записи с данными                 ¦
¦-------+--------------------------------------------------¦
¦ 10-11 ¦Длина одной записи с данными (включая признак     ¦
¦       ¦удаления)                                         ¦
¦-------+--------------------------------------------------¦
¦ 12-27 ¦Зарезервированы                                   ¦
¦-------+--------------------------------------------------¦
¦ 28    ¦1-есть структ.составной инд.файл (типа .CDX),0-нет¦
¦-------+--------------------------------------------------¦
¦ 29-31 ¦Зарезервированы                                   ¦
¦-------+--------------------------------------------------¦
¦ 32-n  ¦Подзаписи полей**                                 ¦
¦-------+--------------------------------------------------¦
¦  n+1  ¦Признак завершения записи заголовка (0х01)        ¦
+----------------------------------------------------------+


Можно любыми другими средствами исправить  28-й байт (т.е. открыть любым hexedit"ором и исправить байт со смещением $0001С c 01 на 00)


 
Anatoly Podgoretsky ©   (2004-11-18 21:07) [6]

Ну тебя вообще потянуло на закерские хлеба.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
14-1101384711
Gektor
2004-11-25 15:11
2004.12.19
Посмотреть байт на осциллографе


14-1101370125
ИМХО
2004-11-25 11:08
2004.12.19
Слово о В.И.Ленине (Ульянове)


1-1101834140
Gloster
2004-11-30 20:02
2004.12.19
рисование на TCanvas из DLL


8-1092217378
Руслан
2004-08-11 13:42
2004.12.19
Как определить что MediaPlayer закончил проигрывать файл...


4-1099409218
Vladik
2004-11-02 18:26
2004.12.19
Что тут неверно в функции API




   Наверх