segunda-feira, 24 de fevereiro de 2025

Executar Pack em Tabelas Paradox

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;

Nenhum comentário:

Postar um comentário