Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Создать индекс для таблицы ABS (Absolute Database)
   Категория: Базы данных
  Последний день месяца
   Категория: Базы данных
  Как создать вычисляемые поля
   Категория: Базы данных
  Программно скрыть MainMenu
   Категория: Компоненты
  Как произвести поиск файлов во вложенных папках
   Категория: Файловая система
  Компоненты Panel, GroupBox, Bevel, ScrollBox, Splitter
   Категория: Компоненты
  Компонент HotKey
   Категория: Компоненты
  Как закачать файл из Интернета
   Категория: Интернет и Сети
  Подсчет времени какого-либо события
   Категория: Математика

Delphi - База Знаний: Поставить пароль на Paradox

  << Вернуться к Содержанию  

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;
  << Вернуться к Содержанию