Как назначить пароль на таблицу?

Previous  Top  Next

    
 

 

 

Code:

uses Unit2;

// ..

TablePasswort(Table1, 'secret');

 

unit Unit2;

 

interface

 

uses

BDE, SysUtils, DBTables, Windows;

 

function TablePasswort(var table: TTable; password: string): Boolean;

 

implementation

 

function StrToOem(const AnsiStr: string): string;

begin

SetLength(result, Length(AnsiStr));

if Length(result) > 0 then

   CharToOem(PChar(AnsiStr), PChar(result))

end;

 

function TablePasswort(var table: ttable; password: string): Boolean;

var

pTblDesc: pCRTblDesc;

hDb: hDBIDb;

begin

result := false;

with table do

begin

   if Active and (not Exclusive) then

     Close;

   if (not Exclusive) then

     Exclusive := true;

   if (not Active) then

     Open;

   hDb := DBHandle;

   Close

end;

GetMem(pTblDesc, sizeof(CRTblDesc));

FillChar(pTblDesc^, sizeof(CRTblDesc), 0);

with pTblDesc^ do

begin

   StrPCopy(szTblName, StrToOem(table.tablename));

   szTblType := szParadox;

   StrPCopy(szPassword, StrToOem(password));

   bPack := true;

   bProtected := true

end;

if DbiDoRestructure(hDb, 1, pTblDesc, nil, nil, nil, false) <> DBIERR_NONE then

   exit;

if pTblDesc <> nil then

   FreeMem(pTblDesc, sizeof(CRTblDesc));

result := true

end;

 

end.

 

 

©Drkb::02940

Взято с Delphi Knowledge Base: http://www.baltsoft.com/