segunda-feira, 21 de maio de 2007

Rotina em DELPHI para verificar a senha de um usuário

Caros alunos, segue abaixo uma técnica de acesso a um banco de dados.
Não se esqueça de especificar um objeto ADOConnection no ""DataModule" de sua aplicação.

Saiba que o objeto ADOQuery1 da "unit" abaixo está apontando para o objeto ADOConnection por meio de sua propriedade "Connection".

unit UntVideo;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, XPMan, UntDataModule, DB,
ADODB;

type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
XPManifest1: TXPManifest;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
ADOQuery1: TADOQuery;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
function alx_boo_Usuario_Existe(alx_str_user_apelido_digitado: String): Boolean;
function alx_boo_Senha_Ok(alx_str_user_apelido_digitado: String ; alx_str_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_Ok(alx_str_user_apelido_digitado: String ; alx_str_senha_digitada: String): Boolean;
var
alx_str_sql_text : TStrings;
alx_boo_senha_ok : 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_senha_digitada) ) then begin
alx_boo_senha_ok:= true;
break;
end
else begin
alx_boo_senha_ok:= 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_ok;
end;
//==============================================================================




procedure TForm1.Button1Click(Sender: TObject);
begin
if(self.alx_boo_Usuario_Existe(self.Edit1.Text)) then begin
self.Edit1.Color:= clBlue;
showmessage('oi, o usuário existe!');
end
else begin
self.Edit1.Color:= clRed;
showmessage('oi, o usuário NÃO existe!');
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if(self.alx_boo_Senha_Ok(self.Edit1.Text , self.Edit2.Text)) then begin
self.Edit2.Color:= clGreen;
showmessage('oi, a senha do usuário [' + self.Edit1.Text + '] confere!');
end
else begin
self.Edit2.Color:= clRed;
ShowMessage('ôpa, a senha do usuário [' + self.Edit1.Text + '] NÃO confere!');
end;
end;

end.

Um comentário:

will disse...

FALA AI PROF. BLZ....

BACANA E EXTREMAMENTE IMPORTANTE ESSAAS ROTINAS, PRINCIPALMENTE PARA O PESSOAL Q SE FORMA ESSE ANO...........HEHEHEHE

WILLIAN 4º I.G.-UNIUV