Пакование таблиц Paradox и dBASE

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: 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;

{/codecitation}

Добавить комментарий