Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ну вот и столкнулся :( [D6, dBase, FoxPro]


HAZARD ©   (2002-05-04 00:55:00) 

Есть база, как мне создать для нее индексный файл на основе имеющихся данных?
делал так:
...
Active := False;
IndexDefs.Clear;
with IndexDefs.AddIndexDef do
begin
Name := "";
Fields := "IMA";
Options := [ixPrimary];
end;
IndexFiles.Add("Table.MDX");
Active := true;
...
не получается и все тут.
Искал и нигде подобного примера найти не мог.
Кто знает помогите пожалуйста, если можно работающим примером, что в голове отложилось. Заране спасибо!


HAZARD   (2002-05-04 10:16:00) [1]

Получилось !!! Спасибо !!! Я Спасен !!! :)))


Derr   (2002-05-04 10:01:00) [2]

if book.Active then book.Close;
CorrectDBF("book.dbf");
if FileExists("book.cdx") then
DeleteFile("book.cdx");
book.Exclusive := TRUE;
book.Open;
//kolzap:=book.RecordCount;
DbiPackTable( book.DBHandle, book.Handle, nil, nil, False );
book.Close;
Book.AddIndex("Book", "dtos(datez)+timez+fam+car", [ixExpression]);
Book.AddIndex("Bookf", "fam+dtos(datez)+timez+car", [ixExpression]);
-----------------------------
procedure CorrectDBF(DBFFileName : String);
var
FileHandler : Integer;
Buf : Byte;
begin
buf:=0;
FileHandler:=FileOpen(DBFFileName,fmOpenWrite);
try
FileSeek(FileHandler,28,0);
FileWrite(FileHandler,Buf,1); // Обнуляем признак наличия CDX-файла
finally
FileClose(FileHandler);
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо