Uso de senha no meu projeto
caro colegas
Tenho um projeto e quero colocar um formulário de senha, o que acontece e o seguinte criei uma tabela (t_cadusuario) com cod, usuário e senha. E gostaria de localizar os usuários para acesso ao sistema na tabela. Fiz dessa forma conforme dicas do fórum mais ainda não deu certo, o que estou fazendo de errado?
procedure TF_senha.FlatButton1Click(Sender: TObject);
begin
(if t_cadusuario.Locate(´usuario´,flatedit1.text,[])= true and
(if t_cadusuario.Locate(´senha´,flatedit2.text,[])= true then
begin
ShowMessage(´Longin aceito´);
//aqui acho que chama o form principal
end;
end.
Quando executo da os seguintes erros
[Error] u_senha.pas(37): Undeclared identifier: ´t_cadusuario´
[Error] u_senha.pas(37): ´THEN´ expected but identifier ´Locate´ found
[Error] u_senha.pas(39): ´THEN´ expected but identifier ´Locate´ found
[Error] u_senha.pas(44): ´)´ expected but ´;´ found
[Error] u_senha.pas(46): ´;´ expected but ´.´ found
[Error] u_senha.pas(48): Declaration expected but end of file found
[Error] u_senha.pas(21): Unsatisfied forward or external declaration: ´TF_senha.FormCreate´
[Fatal Error] Locadora.dpr(24): Could not compile used unit ´u_senha.pas
Tenho um projeto e quero colocar um formulário de senha, o que acontece e o seguinte criei uma tabela (t_cadusuario) com cod, usuário e senha. E gostaria de localizar os usuários para acesso ao sistema na tabela. Fiz dessa forma conforme dicas do fórum mais ainda não deu certo, o que estou fazendo de errado?
procedure TF_senha.FlatButton1Click(Sender: TObject);
begin
(if t_cadusuario.Locate(´usuario´,flatedit1.text,[])= true and
(if t_cadusuario.Locate(´senha´,flatedit2.text,[])= true then
begin
ShowMessage(´Longin aceito´);
//aqui acho que chama o form principal
end;
end.
Quando executo da os seguintes erros
[Error] u_senha.pas(37): Undeclared identifier: ´t_cadusuario´
[Error] u_senha.pas(37): ´THEN´ expected but identifier ´Locate´ found
[Error] u_senha.pas(39): ´THEN´ expected but identifier ´Locate´ found
[Error] u_senha.pas(44): ´)´ expected but ´;´ found
[Error] u_senha.pas(46): ´;´ expected but ´.´ found
[Error] u_senha.pas(48): Declaration expected but end of file found
[Error] u_senha.pas(21): Unsatisfied forward or external declaration: ´TF_senha.FormCreate´
[Fatal Error] Locadora.dpr(24): Could not compile used unit ´u_senha.pas
Wagner
Curtidas 0
Respostas
Nigro
09/12/2003
Vamos lá...
Não precisar dar locate nos dois campos, pois o locate ´localiza´ o registro e posiciona o poenteiro nele.
Dê o locate no campo usuário e compare a senha digitada com o campo senha, só isso, com apenas um locate
Não precisar dar locate nos dois campos, pois o locate ´localiza´ o registro e posiciona o poenteiro nele.
Dê o locate no campo usuário e compare a senha digitada com o campo senha, só isso, com apenas um locate
GOSTEI 0
Nilton
09/12/2003
Caro colega,tenho a sua solução,escreva exatamente o código abaixo:
Var
A:Integer;
begin
A := 1;
if not dataModule.t_cadusuario.Locate (´Nome;senha´,VarArrayOf ([EditNome.text,EditSenha.text]),[]) then
begin
A := 0; beep; showMessage (´Nome ou Senha incorretos´);end;
if A <> 0 then
begin
showMessage (´Usuário aceito´);
frmPrincipal.show;
end;
end;
end;
OBS: Onde está escrito DataModule,escreva o nome do seu DataModule,na form de login insira duas edits,EditNome.text-EditSenha.text, pode fazer que não tem erro.
Boa sorte!
Var
A:Integer;
begin
A := 1;
if not dataModule.t_cadusuario.Locate (´Nome;senha´,VarArrayOf ([EditNome.text,EditSenha.text]),[]) then
begin
A := 0; beep; showMessage (´Nome ou Senha incorretos´);end;
if A <> 0 then
begin
showMessage (´Usuário aceito´);
frmPrincipal.show;
end;
end;
end;
OBS: Onde está escrito DataModule,escreva o nome do seu DataModule,na form de login insira duas edits,EditNome.text-EditSenha.text, pode fazer que não tem erro.
Boa sorte!
GOSTEI 0
Wagner
09/12/2003
Ok, caros colegas me desculpe em abusar na insistencia. mais ainda nao consegui, eu fiz dessa forma mais ainda deu uns erros que nao sei como resolver de acordo com a dica do nilton so com alteracoes na tabela e datamodule, veja como ficou, e me ajudem mais uma vez por favor
procedure TForm10.BtconfirmaClick(Sender: TObject);
Var
A:Integer;
begin
A := 1;
if not f_cadsenha.tbsenha.locate (´usuario;senha´,[u:40a56963b6][b:40a56963b6]VarArrayOf[/b:40a56963b6][/u:40a56963b6] ([EditNome.text,EditSenha.text]),[]) then
begin
A := 0; beep; showMessage (´Nome ou Senha incorretos´);
if A <> 0 then
begin
showMessage (´Usuário aceito´);
f_menu.show;
end;
end;
end;
erros
[Error] USenha.pas(74): Undeclared identifier: ´VarArrayOf´
[Error] USenha.pas(74): Undeclared identifier: ´EditNome´
[Fatal Error] progcessos1.dpr(29): Could not compile used unit ´USenha.pas´
procedure TForm10.BtconfirmaClick(Sender: TObject);
Var
A:Integer;
begin
A := 1;
if not f_cadsenha.tbsenha.locate (´usuario;senha´,[u:40a56963b6][b:40a56963b6]VarArrayOf[/b:40a56963b6][/u:40a56963b6] ([EditNome.text,EditSenha.text]),[]) then
begin
A := 0; beep; showMessage (´Nome ou Senha incorretos´);
if A <> 0 then
begin
showMessage (´Usuário aceito´);
f_menu.show;
end;
end;
end;
erros
[Error] USenha.pas(74): Undeclared identifier: ´VarArrayOf´
[Error] USenha.pas(74): Undeclared identifier: ´EditNome´
[Fatal Error] progcessos1.dpr(29): Could not compile used unit ´USenha.pas´
GOSTEI 0
Maxymus
09/12/2003
Caro amigo, para resolver faça o seguinte;
No form da senha, vc já deve ter colocado um edit, pois bem;
no botao [Ok] ou no exit do edit, como vc preferir, faça o seguinte;
TbSenha.Cancel;
TbSenha.SetKey;
if tbsenha.FindKey([Edit1.Text)] then // compara se existe na tabSenha
Begin
ShowMessage(´Senha incorreta´);
Edit1.SetFocus;
End
else
FMenu.ShowModal;
Espero ter ajudado!!
No form da senha, vc já deve ter colocado um edit, pois bem;
no botao [Ok] ou no exit do edit, como vc preferir, faça o seguinte;
TbSenha.Cancel;
TbSenha.SetKey;
if tbsenha.FindKey([Edit1.Text)] then // compara se existe na tabSenha
Begin
ShowMessage(´Senha incorreta´);
Edit1.SetFocus;
End
else
FMenu.ShowModal;
Espero ter ajudado!!
GOSTEI 0