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


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




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, nilnilnil, false) <> DBIERR_NONE then
    exit;
  if
 pTblDesc <> nil then
    FreeMem(pTblDesc, sizeof(CRTblDesc));
  result := true
end
;

end
.

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







DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100