Следующая статья: Создание таблицы Paradox.
Проверьте работу приведенной ниже функции, она пакует таблицы Paradox и dBase (требуется компонент TDatabase, указывающий на ту же директорию, где хранятся таблицы):
uses BDE;
function PackTable(tbl:TTable; db:TDatabase): DBIResult;
var crtd: CRTblDesc;
begin
Result:=DBIERR_NA;
with tbl do
if Active then Active:=False;
with db do
if not Connected then Connected:=True;
FillChar(crtd,SizeOf(CRTblDesc), 0);
StrPCopy(crtd.szTblName, tbl.TableName);
crtd.bPack:=True;
Result:=DbiDoRestructure(db.Handle, 1, @crtd, nil, nil, nil, FALSE);
end;
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);begin if PackTable(Table1, DataBase1)=DBIERR_NONE then … else MessageBeep(0); end;