скрыть

скрыть

  Форум  

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

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



Google  
 

Добавляем пароль к таблице 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;






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




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