Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Junior.just.it

Login e Senha Delphi 2007

Recommended Posts

Olá pessoal!

 

estou precisando de uma ajuda aí. Eu tenho um Programa em construção, nele tenho a tabela usuário com nome_usuario, senha, dica_senha, nome completo e tals. uso MSSQLSVR2005 e tenho um DataModule conectado por ADOConnection q é conectado a um ADODataSet que é conectado por DataSetProvider depois ClientDataSet e por fim DataSource e a tabela é ClientDataSet no caso CDSUSUARIO, eu tenho um Form FLogin e tem os campos nome_usuario e senha puxados deste CDS, mas não estou conseguindo comparação de nome de usuário e senha, quando abre o FLogin ele ja aparece o primeiro usuário registrado e a senha, se der OK entra, só que se eu mudar o usuário e senha ele da como Senha incorreta e não entra, e estão corretas, e se eu fizer pra abrir o FLogin com os campos em branco, que é o que vou fazer, senão não tem lógica Login e Senha, ele da como usuário ou senha incorreto, não ta comparando parece, qualquer coisa eu passo o código pra cá.

 

Valeu aí, Abraço a todos!

 

Att.

Ademir Good Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

junior, você esta usando um DBEdit ou um edit normal?

caso esteja usando um DBEdit tente trocar por um edit e use querys para identificar o usuario, pq norlamente os DBedit ja iniciam com o primeiro registro do banco.

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

a Programação do Formulário de Login está aqui

 

public
	{ Public declarations }
	var Login : boolean;
  end;

var
  FLogin: TFLogin;

implementation

uses UDM, UPrincipal;

{$R *.dfm}

procedure TFLogin.SBAbrirClick(Sender: TObject);
begin
	if (EditSenha.text<>'') and (editLogin.text<>'') then begin
	if (EditSenha.text=ADOQuery.FieldByName('NOME_USUARIO').AsString) and
	(EditLogin.text=ADOQuery.FieldByName('SENHA').AsString) then begin
	FLogin.Close;
	login:=True;
	end else begin
	messageBox(handle,'Login e/ou Senha incorretos','ATENÇÃO!',MB_ICONERROR+mb_OK);
	EditSenha.Text:='';
	EditLogin.text:='';
	EditLogin.SetFocus;
	end;
  end else
  MessageBox(handle,'Por Favor, preencha Login e/ou Senha!','ATENÇÃO!',MB_ICONERROR+mb_OK);
end;

procedure TFLogin.SBSairClick(Sender: TObject);
begin
	Application.Terminate;
end;

end.
________________________________________________________________________________
____

Então, eu tenho uma var Login booleana e o código de comparação com uma Query e com Edits, q funcionaram perfeitamente substituindo o DBEdits, agradeço a vocês por dar uma luz aí sobre isso, o problema é que não to conseguindo comparação entre os campos, eu coloco Login e Senha corretos e da erro, na verdade uma Raised Exception com endereço de memória, só avisa quando eu deixo nulo q está vazio, e também eu tenho um Splash, vai aí a progr. do Splash no PROJECT SOURCE CODE

 

var TempoInicial, Intervalo: Cardinal;
{$R *.res}

begin
  FSplash:=TFSplash.Create(Application);
  FSplash.Show;
  FSplash.Refresh;
  TempoInicial:=GetTickCount;
  repeat
	Intervalo:=GetTickCount-TempoInicial;
  until
	Intervalo>3000;
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TFPrincipal, FPrincipal);
  Application.CreateForm(TDM, DM);

e também o código do Login e Splash no FPrincipal

 

procedure TFPrincipal.FormCreate(Sender: TObject);
begin
	FLogin:=TFLogin.Create(Application);
	FLogin.ShowModal;
end;

procedure TFPrincipal.FormShow(Sender: TObject);
begin
	FSplash.Free;
end;

Achei q era mais fácil esse Login e Senha mas ja levei uma surra dessa coisa aí, Abraço e Valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.