Fórum Paradox - Como remover a senha da tabela? #299072
11/10/2005
0
Desde ja agradeço
Titanius
Curtir tópico
+ 0Posts
11/10/2005
Paulo
Gostei + 0
11/10/2005
Rjun
{ Adiciona a senha ao Banco de Dados}
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Close;
Table1.Exclusive := True;
Table1.Open;
AddMasterPassword(Table1,Edit1.Text);
Table1.Close;
Table1.Exclusive := False;
Table1.Open;
end;
{ Remove a senha ao Banco de Dados}
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Close;
Table1.Exclusive := True;
Table1.Open;
RemoveMasterPassword(Table1);
Table1.Close;
Table1.Exclusive := False;
Table1.Open;
end;
{ Esta função adiciona a senha ao banco de dados}
procedure AddMasterPassword(Table: TTable; pswd: string);
const RESTRUCTURE_TRUE = WordBool(1);
var
TblDesc: CRTblDesc;
hDb: hDBIDb;
begin
if not Table.Active or not Table.Exclusive then
raise EDatabaseError.Create(‘Table must be opened in exclusive ‘ +
‘mode to add passwords’);
FillChar(TblDesc, SizeOf(CRTblDesc), #0);
with TblDesc do
begin
StrPCopy(szTblName, Table.TableName);
StrCopy(szTblType, szPARADOX);
StrPCopy(szPassword, pswd);
bProtected := RESTRUCTURE_TRUE;
end;
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False));
Session.AddPassword(pswd);
Table.Open;
end;
{ Esta função remove a senha ao banco de dados}
procedure RemoveMasterPassword(Table: TTable);
const RESTRUCTURE_FALSE = WordBool(0);
var
TblDesc: CRTblDesc;
hDb: hDBIDb;
begin
if (Table.Active = False) or (Table.Exclusive = False) then
raise EDatabaseError.Create(‘Table must be opened in exclusive mode to add passwords’);
FillChar(TblDesc, SizeOf(CRTblDesc), 0);
with TblDesc do
begin
StrPCopy(szTblName, Table.TableName);
StrCopy(szTblType, szPARADOX);
bProtected := RESTRUCTURE_FALSE;
end;
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, FALSE));
Table.Open;
end;
Gostei + 0
11/10/2005
Titanius
obrigado a todos...
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)