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

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

как сжать таблицу [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;


Наверх

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