скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Поставить пароль на таблицу Paradox



Оформил: DeeCo

uses
   Bde, SysUtils, dbtables, windows;


 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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook