// Para compactar (remover fisicamente todos registros apagados) de uma tabela Paradox deve-se utilizar o seguinte código 
procedure ParadoxPack(Table : TTable); 
var 
TBDesc : CRTblDesc; 
hDb: hDbiDb; 
TablePath: array[0..dbiMaxPathLen] of char; 
begin 
FillChar(TBDesc,Sizeof(TBDesc),0); 
with TBDesc do begin 
StrPCopy(szTblName,Table.TableName); 
StrPCopy(szTblType,szParadox); 
bPack := True; 
end; 
hDb := nil; 
Check(DbiGetDirectory(Table.DBHandle, True, TablePath)); 
Table.Close; 
Check(DbiOpenDatabase(nil, 'STANDARD', dbiReadWrite, dbiOpenExcl,nil,0, nil, nil, hDb)); 
Check(DbiSetDirectory(hDb, TablePath)); 
Check(DBIDoRestructure(hDb,1,@TBDesc,nil,nil,nil,False)); 
Table.Open; 
end;
sábado, 6 de junho de 2009
Assinar:
Postar comentários (Atom)
 


Nenhum comentário:
Postar um comentário