![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сжать таблицу [D5, Paradox]
td © (2003-03-12 23:13:00)как можно программно сжать таблицу Парадокс?
Pat (2003-03-12 23:18:00) [1]
uses bde;
procedure PackTable(Table: TTable);
var TblDesc: CrTblDesc;
TempDBHandle:HDBIDb;
WasActive:boolean;
begin
FillChar(TblDesc, SizeOf(TblDesc),0);
with TblDesc do
begin
StrPCopy(szTblName, Table.TableName);
strPCopy(szTblType, szPARADOX);
bPack:=true;
end;
WasActive:=Table.active;
if WasActive then Table.close;
try
Check(dbiOpenDatabase(PChar(Table.DatabaseName),nil,dbiREADWRITE,
dbiOpenExcl,nil,0,nil,nil,TempDBHandle));
try
Check(dbiDoRestructure(TempDBHandle,1,@TblDesc,nil,nil,nil,false));
finally
dbiCloseDatabase(TempDBHandle);
end;
finally
Table.Active:=WasActive;
end;
end;