Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
p.s.goncalves@hotmail.com Aprendiz

Registrado: Sábado, 29 de Setembro de 2012 Mensagens: 241
|
Enviada: Qua Jan 06, 2016 10:36 am Assunto: Login admin - button enable false. |
|
|
Bom dia
tenho um sisteminha de cadastro com ADOCONECTION, ADOQUERY E BD ACCESS.
Eu gostaria que quando eu fizesse login com meu usuario(admin) o botão excluir ficasse enable true e quando fizer login com outro usuario o botão excluir ficasse enable false.
O meu login é:
procedure TfrmLogin.btnOkClick(Sender: TObject);
begin
if (EdtSenha.text=Dm.QUsu.FieldByName('senha').AsString) and (EdtApelido.text=Dm.QUsu.FieldByName('user').AsString) then
begin
FrmPrincipal.ShowModal; // Fechar a tela de login (então é executado o OnClose do Form);
frmLogin.Close;
end
else
messageBox(handle,'Usuário e/ou Senha devem ser preenchidos!','Senhor Usuário!',MB_ICONERROR+mb_OK);
Alguem pode me dar uma força. |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Jan 06, 2016 10:53 am Assunto: |
|
|
Em qual form fica o botão excluir?
Ou seria para todos os botões de exclusão do seu programa?
Código: | if FrmLogin.EdtApelido.Text = 'Admin' then
BotaoExcluir.Enabled := True
else
BotaoExcluir.Enabled := False; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
p.s.goncalves@hotmail.com Aprendiz

Registrado: Sábado, 29 de Setembro de 2012 Mensagens: 241
|
Enviada: Qua Jan 06, 2016 11:31 am Assunto: |
|
|
natanbh1 escreveu: | Em qual form fica o botão excluir?
Ou seria para todos os botões de exclusão do seu programa?
Código: | if FrmLogin.EdtApelido.Text = 'Admin' then
BotaoExcluir.Enabled := True
else
BotaoExcluir.Enabled := False; |
|
o botão excluir fica no frmAuditoria e o login fica no frmLogin |
|
Voltar ao Topo |
|
 |
viox Colaborador

Registrado: Sábado, 22 de Outubro de 2011 Mensagens: 1090 Localização: SINOP - MT
|
Enviada: Qua Jan 06, 2016 11:59 am Assunto: |
|
|
Uma forma mais elegante e que daria para aproveitar em outros lugares seria criar um método para tal usando o que o Natan falou.
Exemplo:
Código: |
function EhAdmin(): Boolean;
begin
Result := LowerCase(FrmLogin.EdtApelido.Text) = 'admin';
end;
|
e na sua tela de auditoria no OnShow do form por exemplo.
Código: |
BotaoExcluir.Enabled := EhAdmin();
|
_________________ Just another Delphi guy.
http://www.soft42.com
http://www.nortaonegocios.com.br |
|
Voltar ao Topo |
|
 |
p.s.goncalves@hotmail.com Aprendiz

Registrado: Sábado, 29 de Setembro de 2012 Mensagens: 241
|
Enviada: Qui Jan 07, 2016 8:02 pm Assunto: |
|
|
viox escreveu: | Uma forma mais elegante e que daria para aproveitar em outros lugares seria criar um método para tal usando o que o Natan falou.
Exemplo:
Código: |
function EhAdmin(): Boolean;
begin
Result := LowerCase(FrmLogin.EdtApelido.Text) = 'admin';
end;
|
e na sua tela de auditoria no OnShow do form por exemplo.
Código: |
BotaoExcluir.Enabled := EhAdmin();
|
|
Mais em qual form eu crio está funcão? |
|
Voltar ao Topo |
|
 |
p.s.goncalves@hotmail.com Aprendiz

Registrado: Sábado, 29 de Setembro de 2012 Mensagens: 241
|
Enviada: Qui Jan 07, 2016 8:03 pm Assunto: |
|
|
natanbh1 escreveu: | Em qual form fica o botão excluir?
Ou seria para todos os botões de exclusão do seu programa?
Código: | if FrmLogin.EdtApelido.Text = 'Admin' then
BotaoExcluir.Enabled := True
else
BotaoExcluir.Enabled := False; |
|
esse IF aí eu coloco onde? |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Sex Jan 08, 2016 8:24 am Assunto: |
|
|
Você pode colocar essa condição no evento OnShow do form frmAuditoria onde fica o botão de exclusão.
Postei a maneira mais simples, de fácil implementação.
Mas como disse o Viox, existem maneiras mais elegantes de se fazer.
Uma delas é criar uma função como ele mostrou. Essa função você poderia ser colocada em uma Unit separada para apenas funções e procedures.
Sugiro você tentar implementar a maneira mais simples primeiramente e se funcionar, quando puder, tente implementar a maneira mais elegante. _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
p.s.goncalves@hotmail.com Aprendiz

Registrado: Sábado, 29 de Setembro de 2012 Mensagens: 241
|
Enviada: Seg Jan 11, 2016 10:37 am Assunto: |
|
|
natanbh1 escreveu: | Você pode colocar essa condição no evento OnShow do form frmAuditoria onde fica o botão de exclusão.
Postei a maneira mais simples, de fácil implementação.
Mas como disse o Viox, existem maneiras mais elegantes de se fazer.
Uma delas é criar uma função como ele mostrou. Essa função você poderia ser colocada em uma Unit separada para apenas funções e procedures.
Sugiro você tentar implementar a maneira mais simples primeiramente e se funcionar, quando puder, tente implementar a maneira mais elegante. |
Estou precisando desabilitar os 03 botões abaixo,
if FrmLogin.EdtApelido.Text = 'Admin' then
BotaoExcluir.Enabled := True;
BotãoBackup.Enabled := True;
BotãoRelatorio.Enabled := True
else
BotaoExcluir.Enabled := False;
BotãoBackup.Enabled := False;
BotãoRelatorio.Enabled := False;
mais está dando o seguinte erro:
Build
[Error] UAuditoria.pas(190): 'END' expected but 'ELSE' found
[Fatal Error] Sgtpsnet.dpr(1 : Could not compile used unit 'UAuditoria.pas' |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Seg Jan 11, 2016 12:35 pm Assunto: |
|
|
Coloque dentro de blocos Begin..End.
Código: | if FrmLogin.EdtApelido.Text = 'Admin' then
begin
BotaoExcluir.Enabled := True;
BotãoBackup.Enabled := True;
BotãoRelatorio.Enabled := True
end
else
begin
BotaoExcluir.Enabled := False;
BotãoBackup.Enabled := False;
BotãoRelatorio.Enabled := False;
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
|