|
Выход из текущего сеанса
unit MainFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, Grids, DBGrids, DB, DBTables;
type
═════TMainForm = class(TForm)
══════════dbMain: TDatabase;
══════════tblEmployee: TTable;
══════════dsEmployee: TDataSource;
══════════dgbEmployee: TDBGrid;
══════════btnLogon: TButton;
══════════btnLogOff: TButton;
══════════procedure btnLogonClick(Sender: TObject);
══════════procedure dbMainLogin(Database: TDatabase;
LoginParams: TStrings);
══════════procedure btnLog0ffClick(Sender: TObject);
══════════procedure FormCreate(Sender: TObject);
══════════procedure FormDestroy(Sender: TObject);
═════public
══════════TempLoginParams: TStringList;
══════════LoginSuccess: Boolean;
═════end;
var
═════MainForm: TMainForm;
implementation
uses LoginFrm;
{$R *.DFM}
procedure TMainPorm.btnLogonClick(Sender: TObject);
begin
═════// Получение новых параметров
регистрации
═════if GetLoginParams(TempLoginParams) = mrOk then
═════begin
══════════// Oтключение компонента
TDatabase
══════════dbMain. Connected := False;
══════════try
══════════{ Попытка повторного
подключения к компоненту ТDаtаbаsе.
Эта попытка вызовет обработчик
события DataBaselLogin, который внесет в
LoginParams текущие имя пользователя и
пароль. }
═══════════════dbMain.Connected := True;
═══════════════tblEmployee.Active ;= True;
═══════════════LoginSuccess := True;
══════════except
═══════════════on EDBEngineError do
═══════════════begin
═══════════════{ Если регистрация
в системе не выполнена,
генерируется исключительная
ситуация. }
════════════════════LoginSuccess := False;
════════════════════Raise;
═══════════════end;
══════════end;
═════end;
end;
procedure TMainForm.dbMainLogin(Database: TDatabase; LoginParams:
TStrings);
begin
═════LoginParams.Assign(TempLoginParams);
end;
procedure TMainForm.btnLogOffClick(Sender: TObject);
begin
{ Отключим компонент TDatabase и сбросим
значения переменных.}
═════dbMain.Connected := False;
═════TempLoginParams.Clear;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
═════TempLoginParams := TStringList.Create;
end;
procedure
TMainForm.FormDestroy(Sender: TObject);
begin
═════TempLoginParams.Free;
end;
end.
|
|