Как назначить пароль на таблицу? |
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/