segunda-feira, 14 de maio de 2007

Rotina em DELPHI para verificação de Login

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls, Buttons, DB, ADODB;

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
//----------
function alx_boo_Usuario_Existe(alx_str_user_apelido_digitado: String): Boolean;
function alx_boo_Senha_Confere(alx_str_user_apelido_digitado: String; alx_str_user_senha_digitada: String): Boolean;
//----------
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

//==============================================================================
function TForm1.alx_boo_Usuario_Existe(alx_str_user_apelido_digitado: String): Boolean;
var
alx_str_sql_text : TStrings;
alx_boo_usuario_existe: Boolean;
alx_str_user_apelido: String;
begin
try
alx_str_sql_text:= TStringList.Create();
alx_str_sql_text.Add('SELECT FUNC_APELIDO FROM FUNCIONARIOS ORDER BY FUNC_APELIDO ;');
self.ADOQuery1.Active:= False;
self.ADOQuery1.SQL.Clear();
self.ADOQuery1.SQL:= alx_str_sql_text;
self.ADOQuery1.Active:= True;
//------------
while not(self.ADOQuery1.Eof) do begin
alx_str_user_apelido:= self.ADOQuery1.Fields[0].AsString;
if (alx_str_user_apelido = alx_str_user_apelido_digitado ) then begin
alx_boo_usuario_existe:= true;
break;
end
else begin
alx_boo_usuario_existe:= false;
end;
self.ADOQuery1.Next();
end;
//------------
except
on E:Exception do begin
ShowMessage('Ôpa, ocorreu um erro ao verificar a existência de um usuário! VEja: ' + E.Message);
end;
end;
result:= alx_boo_usuario_existe;
end;
//==============================================================================
function TForm1.alx_boo_Senha_Confere(alx_str_user_apelido_digitado: String; alx_str_user_senha_digitada: String): Boolean;
var
alx_str_sql_text : TStrings;
alx_boo_senha_confere : Boolean;
alx_str_user_apelido : String;
alx_str_user_senha : String;
begin
try
alx_str_sql_text:= TStringList.Create();
alx_str_sql_text.Add('SELECT FUNC_APELIDO, FUNC_SENHA FROM FUNCIONARIOS ORDER BY FUNC_APELIDO ;');
self.ADOQuery1.Active:= False;
self.ADOQuery1.SQL.Clear();
self.ADOQuery1.SQL:= alx_str_sql_text;
self.ADOQuery1.Active:= True;
//------------
while not(self.ADOQuery1.Eof) do begin
alx_str_user_apelido:= self.ADOQuery1.Fields[0].AsString;
alx_str_user_senha := self.ADOQuery1.Fields[1].AsString;
if ((alx_str_user_apelido = alx_str_user_apelido_digitado) and (alx_str_user_senha = alx_str_user_senha_digitada)) then begin
alx_boo_senha_confere:= true;
break;
end
else begin
alx_boo_senha_confere:= false;
end;
self.ADOQuery1.Next();
end;
//------------
except
on E:Exception do begin
ShowMessage('Ôpa, ocorreu um erro ao verificar a senha de um usuário! VEja: ' + E.Message);
end;
end;
result:= alx_boo_senha_confere;
end;
//==============================================================================
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if(self.alx_boo_Usuario_Existe(self.Edit1.Text)) then begin
self.Edit1.Color:= clAqua;
if (self.alx_boo_Senha_Confere(self.Edit1.Text , self.MaskEdit1.Text)) then begin
self.MaskEdit1.Color:= clAqua;
ShowMessage('Usuário e Senha conferem!');
end
else begin
self.MaskEdit1.Color:= clRed;
ShowMessage('Senha do usuário não confere! Tente novamente');
self.MaskEdit1.SetFocus;
end;
end
else begin
self.Edit1.Color:= clRed;
ShowMessage('Esse usuário não existe!');
self.Edit1.SetFocus;
end;
end;

end.

Nenhum comentário: