procedure fDbiChgPassw(Tbl: TTable; password: string);
var
hDb: hDbiDb;
TblDesc: CRTblDesc;
Dir: String;
OpType: CROpType;
begin
SetLength(Dir, dbiMaxNameLen + 1);
Check(DbiGetDirectory(Tbl.DBHandle, False, PChar(Dir)));
SetLength(Dir, StrLen(PChar(Dir)));
try
FillChar(TblDesc, sizeof(CRTblDesc), #0);
Tbl.DisableControls;
Tbl.Close;
Check(DbiOpenDatabase(nil, nil, dbiReadWrite, dbiOpenExcl,
nil, 0,
nil, nil, hDb));
Check(DbiSetDirectory(hDb, PChar(Dir)));
StrPCopy(TblDesc.szPassword, password);
TblDesc.bProtected := true;
OpType := crADD;
//if u wanna change the password use
crMODIFY here
TblDesc.pecrSecOp := @OpType;
StrPCopy(TblDesc.szTblName, Tbl.TableName);
StrCopy(TblDesc.szTblType, szParadox);
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil,
nil, False));
finally
Check(DbiCloseDatabase(hDb));
Tbl.EnableControls;
Tbl.Open;
end;
end;