Пакование таблиц Paradox и dBASE
Автор: Mike Orriss
Возвожно ли перестраивать и паковать таблицы Paradox из программ, написанных на Delphi, если да то как и где найти документацию по этому вопросу?
Попробуйте приведенную ниже функцию, она пакует таблицы Paradox и dBase (требуется компонент TDatabase, указывающий на ту же директорию, где хранятся таблицы):
uses DBIProcs, DBITypes, DBIErrs;
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;
|
|