Ir ao conteúdo

Delphi


jiz/df

Posts recomendados

Postado

Pessoal, to fazendo um programa que no inicio pede senha pra entrar no sistema. eu consegui fazer o programa para quando o usuario digita um nome que não esta cadastrado no banco, mas se o usuario existe mas a senha esta errada ele não mostra que a senha esta errada. Veja o codigo:

**********************************************

if dm.tblogin.FindKey([edit1.text])  then   //busca o nome no banco

begin

if(Edit1.Text = dm.tbLogin.FieldByName('nome').asstring) and

(edit2.text = dm.tbLogin.FieldByName('senha').asstring)

then

     begin

       showmessage('VOCÊ ESTA LOGADO NO SISTEMA');

       frmprincipal:=tfrmprincipal.Create(Application);

       frmprincipal.showmodal;

       frmprincipal.release;

       frmprincipal:=nil;

       close;

       end;

       end else

       begin

       beep;

       showmessage('SENHA OU LOGIN INCORRETO...DIGITE NOVAMENTE');

       edit1.clear;

       edit2.clear;

       edit1.setfocus;

       END;

**********************************************

so que estou com outra duvida, como irei fazer para cadastrar novos usuarios??? Ou seja tenho que fazer um codigo que verifique se o usuario a ser cadastrado já existe, se existir ele não aceita gravar. Essa verificação tem que ser feita antes do POST não é?? Me ajudem com isso porque sou novato na programação em Delphi. Valeu!!! :guilho:

Postado

acho que você errou numa vírgula e num end a mais

if dm.tblogin.FindKey([edit1.text])  then   //busca o nome no banco

begin

  if(Edit1.Text = dm.tbLogin.FieldByName('nome').asstring) and

  (edit2.text = dm.tbLogin.FieldByName('senha').asstring) then

   begin

      showmessage('VOCÊ ESTA LOGADO NO SISTEMA');

      frmprincipal:=tfrmprincipal.Create(Application);

      frmprincipal.showmodal;

      frmprincipal.release;

      frmprincipal:=nil;

      close;

      //end; tire essa instrução, senão ele interpreta o else como sendo do primeiro if e não do segundo.

   end

   else

   begin

       beep;

       showmessage('SENHA OU LOGIN INCORRETO...DIGITE NOVAMENTE');

       edit1.clear;

       edit2.clear;

       edit1.setfocus;

    end;

END;

Agora pra verificar se o usuário já existe depende de como você vai fazer pra inserí-lo. você pode inserir com Table.AddNew, ou via SQL (Insert INTO Table...) ou ainda com DBNavigator.

A forma mais simples é via Table.AddNew, você precisa fazer o teste antes do AddNew

Ex:

if Table.FindKey([editNewUser.Text] then

  showmessage('Já existe')

else

begin

  Table.AddNew;

  TableFieldName1.AsString:=EditNewUser.Text;

  TableFieldName2.AsString:=EditPassword.Text;

  Table.Post;

end;

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!