git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@20 40301925-124e-1c4e-b97d-170ad7a8785b
142 lines
3.7 KiB
ObjectPascal
142 lines
3.7 KiB
ObjectPascal
unit uEditorLogin;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, ExtCtrls, ComCtrls, cxGraphics, cxControls,
|
||
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit,
|
||
cxImageComboBox, ImgList, PngImageList, pngimage, ToolWin, JvExControls,
|
||
JvComponent, JvGradient, JvGIF, JvComponentBase, JvFormPlacement,
|
||
JvAppStorage, JvAppRegistryStorage, uIEditorLogin, uUsuariosController;
|
||
|
||
type
|
||
TfEditorLogin = class(TForm, IEditorLogin)
|
||
Panel1: TPanel;
|
||
Label3: TLabel;
|
||
Label4: TLabel;
|
||
edtPassword: TEdit;
|
||
bAceptar: TButton;
|
||
bCancelar: TButton;
|
||
Label1: TLabel;
|
||
edtUser: TEdit;
|
||
JvGradient1: TJvGradient;
|
||
Button1: TButton;
|
||
Timer1: TTimer;
|
||
JvAppRegistryStorage1: TJvAppRegistryStorage;
|
||
JvFormStorage1: TJvFormStorage;
|
||
Image1: TImage;
|
||
procedure bAceptarClick(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Timer1Timer(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure edtUserKeyPress(Sender: TObject; var Key: Char);
|
||
private
|
||
FController : IUsuariosController;
|
||
FIntentos : Integer;
|
||
function GetController : IUsuariosController;
|
||
procedure SetController (const AValue : IUsuariosController);
|
||
published
|
||
property Controller : IUsuariosController read GetController write SetController;
|
||
end;
|
||
|
||
|
||
implementation
|
||
|
||
uses
|
||
uFactuGES_App, uDataModuleConexion, uDisplayUtils;
|
||
|
||
{$R *.dfm}
|
||
|
||
{
|
||
********************************* TfEditorLogin **********************************
|
||
}
|
||
procedure TfEditorLogin.bAceptarClick(Sender: TObject);
|
||
var
|
||
bOk : Boolean;
|
||
begin
|
||
Timer1.Enabled := False;
|
||
|
||
ShowHourglassCursor;
|
||
try
|
||
bOK := FController.ComprobarUsuario(edtUser.Text, edtPassword.Text);
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
|
||
if bOk then
|
||
ModalResult := mrOK
|
||
else begin
|
||
Application.MessageBox('Usuario no v<>lido. Compruebe si ha escrito correctamente'
|
||
+ #13 + #10 + 'el usuario y la contrase<73>a.', 'Atenci<63>n', MB_OK);
|
||
Inc(FIntentos);
|
||
if (Controller.MaxIntentosLogin > 0) and (FIntentos = Controller.MaxIntentosLogin) then
|
||
ModalResult := mrCancel;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorLogin.ToolButton4Click(Sender: TObject);
|
||
var
|
||
ATimer : Boolean;
|
||
begin
|
||
ATimer := False;
|
||
if Timer1.Enabled then
|
||
begin
|
||
ATimer := True;
|
||
Timer1.Enabled := False;
|
||
end;
|
||
|
||
dmConexion.ConfigurarConexion;
|
||
|
||
if ATimer then
|
||
Timer1.Enabled := True;
|
||
end;
|
||
|
||
procedure TfEditorLogin.edtUserKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
// Desactivar el timer si el usuario escribe algo
|
||
Timer1.Enabled := False;
|
||
end;
|
||
|
||
procedure TfEditorLogin.FormCreate(Sender: TObject);
|
||
begin
|
||
FIntentos := 0;
|
||
end;
|
||
|
||
procedure TfEditorLogin.FormDestroy(Sender: TObject);
|
||
begin
|
||
FController := NIL;
|
||
end;
|
||
|
||
procedure TfEditorLogin.FormShow(Sender: TObject);
|
||
begin
|
||
ScaleFormFont(Self);
|
||
Self.Caption := AppFactuGES.AppFullName;
|
||
// JvFormStorage1.RestoreFormPlacement;
|
||
|
||
// Hacer login autom<6F>tica si hay usuario/password y no hay m<>s de una base
|
||
// de datos como opci<63>n para conectarse.
|
||
if ((Length(edtUser.Text) > 0) and (Length(edtPassword.Text) > 0)) then
|
||
Timer1.Enabled := True;
|
||
end;
|
||
|
||
function TfEditorLogin.GetController: IUsuariosController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
procedure TfEditorLogin.SetController(const AValue: IUsuariosController);
|
||
begin
|
||
FController := AValue;
|
||
end;
|
||
|
||
procedure TfEditorLogin.Timer1Timer(Sender: TObject);
|
||
begin
|
||
Timer1.Enabled := False;
|
||
bAceptar.Click;
|
||
end;
|
||
|
||
end.
|