![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить индекс из таблицы DBF [D7, WinXP]
Дима80 © (2006-06-21 10:34:00)Добрый день! Появилось необходимость проммно удалить индекс таблицы DBF. Подскажите пожалуйста, как это сделать? Заранее блогодарю.
Jakudza (2006-06-21 11:23:00) [1]var f: TfileStream;
s: string;
b: byte;
begin
b:=0;
s:='FILENAME.dbf';
f:= TfileStream.Create(s, fmOpenReadWrite);
f.Seek(28, soFromBeginning);//обнуляем индекс(29 байт обнуляет кодовую страницу)
f.Write(b, sizeof(b));
f.Destroy;
Пользуйся...
Jeer (2006-06-21 10:59:00) [2]Дима80 (21.06.06 10:34)
Байт по смещению 28 перезаписать нулем.
Дима80 (2006-06-21 10:50:00) [3]2 palva
Дело в том, что если удалить CDX файл, он будит открываться в DBF редакторах путем "Ignore" на вопрос где файл? Но не будит открываться из программ, допустим написанных в delphi. Судь задачи такова:
Работать из программы с проиндексированным файлом, а потом программно отправить этот файл в организацию где другая программа будит ее импортировать, я пробовал отправить просто DBF без индекса у них
идет сбой:( Нужно снять индекс как ни будь перед отправкой.
palva (2006-06-21 10:42:00) [4]Если у вас файл с расширением dbf, то он сам индекс не содержит. Индекс лежит в отдельном файле, а его можно просто удалить. Расширение у файла с индексом зависит от того, каким средством вы его создавали. Кроме того, если вы пользуетесь SQL, то можете выдать команду DROP INDEX ...