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

Вниз

потерялся индекс в фоксе, как быть?   Найти похожие ветки 

 
DmitryA ©   (2001-12-20 18:29) [10]

Ну, ребята! Вы меня просту умилили!!!

Зачем с черто-то шутить? Вот исходники. Можно попробовать, хотя реально они выглядят несколько иначе (я их рихтовал уже в IN Browser"е). Но должно работать!..

TDBFHeader = record
abBuffer0: array[0..7] of byte;
wHeaderLength: word;
abBuffer1: array[0..17] of byte;
bMDX: byte;
abBuffer2: array[0..2] of byte;
end;

TDBFDesc = record
abBuffer0: array[0..30] of byte;
bMDX: byte;
end;

function DropIndexes(const DBFFileName: string): boolean;
var Header: TDBFHeader;
Desc: TDBFDesc;
iHandle, iDescCount, iDesc: integer;
sFileName: string;
begin
Result := true;

// Кооректируем заголовок
sFileName := DBFFileName + ".DBF";
iHandle := FileOpen(sFileName, fmOpenReadWrite or fmShareDenyNone);
if iHandle = -1 then
begin
Result := false;
exit;
end;

FileRead(iHandle, Header, 32);

Header.bMDX := 0;

FileSeek(iHandle, 0, fsSET);
FileWrite(iHandle, Header, 32);

iDescCount := (Header.wHeaderLength - 33) div 32;
for iDesc := 1 to iDescCount do
begin
FileRead(iHandle, Desc, 32);

Desc.bMDX := 0;

Application.ProcessMessages();

FileSeek(iHandle, iDesc * 32 , fsSET);
FileWrite(iHandle, Desc, 32);
end;

FileClose(iHandle);

// Удаляем индекс, если есть
sFileName := DBFFileName + ".MDX";
if FileExists(sFileName) then SysUtils.DeleteFile(sFileName);
end;

И еще.

Olivka! Если у Вас проблемы, пишитя прямо на мой e-mail: dmitry@lintec.net.ua



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

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

Наверх




Память: 0.46 MB
Время: 0.014 c
4-100127
Anton Hadeev
2001-12-01 13:12
2002.01.31
Добавить пользователя в NT


4-100096
Tsatur
2001-11-29 22:39
2002.01.31
Перехват обращения к Cd-Rom у


14-100038
MC TOL
2001-12-06 09:42
2002.01.31
Предложение конкурса.


3-99873
EternalWonderer
2001-12-26 15:21
2002.01.31
Вставка данных в поле LONG в ORACLE


1-100001
bill
2002-01-15 09:36
2002.01.31
считывание дос файла построчно в ListBox