Ir para conteúdo
Fórum Script Brasil
  • 0

verificando conteudo de uma query


AllJack

Pergunta

Salvem rapazeada, td belê com vocês

é o seguinte....

estou desenvolvendo um sistema de diário escolar

com uma tabela paradox com os campos CODIGO, NOME, SENHA e PRIVILEGIO onde nessa tabela devo efetuar um login, no caso

com o nome e a senha, Até aii td perfeito porém eu tenho tmb que veficar o privilegio do camarada(Administrador, Professor e Outros) é aii que o bixo pega rsrsrs segue aii o código do botão Entrar

procedure TForm1.BtnEntrarClick(Sender: TObject);

var

PRIVILEGIO1 : string;

begin

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('SELECT * FROM USUARIO WHERE NOME = :USER AND SENHA = :PASSWD');

Query1.ParamByName('USER').AsString:=Edit1.Text;

Query1.ParamByName('PASSWD').AsString:=Edit2.Text;

Query1.Open;

if(Form1.Query1.RecordCount)=1 then

begin

Query2.Close;

Query2.SQL.Clear;

Query2.SQL.Add('SELECT *');

Query2.SQL.Add('FROM USUARIO');

Query2.SQL.Add('WHERE PRIVILEGIO = :PRI');

Query2.ParamByName('PRI').AsString:=PRIVILEGIO1;

if(PRIVILEGIO1='Administrador')then

begin

Form2.Show;

Form2.Enabled:=true;

Form1.Hide;

end;

if(PRIVILEGIO1='Professor')then

begin

Form2.Show;

Form2.Enabled:=true;

Form1.Hide;

Form2.Usurio1.Enabled:=false;//Menu para cadastrar usuário no caso false para professores

end;

end

else

begin

ShowMessage('Acesso Negado');

Exit;

end;

end;

se alguém puder dar uma luz aii

vlw rapazeada!!!!!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
estou desenvolvendo um sistema de diário escolar

com uma tabela paradox com os campos CODIGO, NOME, SENHA e PRIVILEGIO onde nessa tabela devo efetuar um login, no caso

com o nome e a senha, Até aii td perfeito porém eu tenho tmb que veficar o privilegio do camarada(Administrador, Professor e Outros) é aii que o bixo pega rsrsrs segue aii o código do botão Entrar

primeiro voce deve levar e conta que, se esta tabela não for criptografada, não vai adiantar nada colocar senha

um exemplo simples de criptorafia para NOME e SENHA

7AE04FD2 11023CCF212B5C98

859D9AA6 17033CC822364CAC37BF3158E305

CD4EEC788B8AEF E675C553A6A1C0

Quem olhar a tabela não vai saber quem é o usuario ou sua senha

Exemplo simples sem criptografia

function ValidaUser(login, senha : string) : boolean;
Begin
<nome da query>.Close;
<nome da query>.ParamByName('LOGIN').AsString := login;
<nome da query>.ParamByName('SENHA').AsString := senha;
<nome da query>.Open;
if <nome da query>.recordCount<>0 then
Result := True;
end;

// No click do botao chama a funcao

if ValidaUser(<NomedoEdit1>.text,<NomedoEdit2>.text) then
"acao desejada";


 o SQL da query, la vai o codigo :

"Select * From <tabela> Where nome= :LOGIN and senha= :SENHA"
outro exemplo
procedure TFormLogin.BtnOKClick(Sender: TObject);
begin
DataModule1.UsuIBQuery.close;
DataModule1.UsuIBQuery.sql.clear;
DataModule1.UsuIBQuery.sql.add('SELECT USUARIO_LOGIN,USUARIO_SENHA');
DataModule1.UsuIBQuery.Sql.Add('from USUARIO');
DataModule1.UsuIBQuery.sql.Add('where USUARIO_LOGIN = :Nome and USUARIO_SENHA =:Login ' );
DataModule1.UsuIBQuery.parambyname('Nome').asstring:=ednome.text;
DataModule1.UsuIBQuery.ParamByName('Login').asstring:=edsenha.text;
DataModule1.UsuIBQuery.open;
begin
if DataModule1.UsuIBQuery.RecordCount = 0 then
ShowMessage('Senha ou Usuario Invalido! '+ 'Certifique-se que a Tecla Caps Lock não esteja Ativada! ')
else
begin
TelaPrincipal.enabled:=true;
FormLogin.release;
end;
end;
end;

outros exemplos

http://www.activedelphi.com.br/print.php?sid=200

https://www.scriptbrasil.com.br/script/delphi/login.rar

existem muitos outros na net

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

valeu cara pela sua atenção mais consegui resolver aqui o embrólio rsr

coloquei este código aqui e ta funfando certim

procedure TF_Login.BitBtn1Click(Sender: TObject);

var

PRIVILEGIO : string;

begin

SENHA:=0;

F_Principal.Table1.Last;

REGISTRO:=F_Principal.Table1.FieldByName('CODIGO').AsInteger;

F_Principal.Table1.First;

repeat

if(F_Principal.Table1.FieldByName('USUARIO').AsString=Edit1.Text)and

(F_Principal.Table1.FieldByName('SENHA').AsString=Edit2.Text)then

begin

if(F_Principal.Table1.FieldByName('ESTADO_USUARIO').AsBoolean=False)then

begin

MessageDlg('Sua conta encontra-se inativa no momento contate o administrador do sistema',MtWarning,[mbOk],0);

Exit;

end;

if(F_Principal.Table1.FieldByName('PRIVILEGIO').AsString<>'Administrador')then

begin

PRIVILEGIO:=F_Principal.Table1.FieldByName('PRIVILEGIO').AsString;

F_Login.Visible:=false;

F_Principal.Show;

F_Principal.Enabled:=true;

F_Principal.Usurio1.Enabled:=false;

F_Principal.StatusBar1.Panels[0].Text:='Usuário Logado : '+Edit1.Text+' Privilégios : '+PRIVILEGIO;

F_Principal.Timer1.Enabled:=true;

Exit;

end

else

if(F_Principal.Table1.FieldByName('PRIVILEGIO').AsString='Administrador')then

begin

PRIVILEGIO:=F_Principal.Table1.FieldByName('PRIVILEGIO').AsString;

F_Login.Visible:=false;

F_Principal.Show;

F_Principal.Enabled:=true;

F_Principal.Usurio1.Enabled:=true;

F_Principal.StatusBar1.Panels[0].Text:='Usuário Logado : '+Edit1.Text+' Privilégios : '+PRIVILEGIO;

F_Principal.Timer1.Enabled:=true;

Exit;

end;

end

else

F_Principal.Table1.Next;

if(F_Principal.Table1.FieldByName('CODIGO').AsInteger=REGISTRO)then

SENHA:=SENHA+1;

until F_Principal.Table1.Eof;

if SENHA<>0 then

begin

MessageDlg('Usuário ou Senhas Inválidos para o sistema',MtError,[mbOk],0);

Exit;

end;

ta aii para quem tiver a mesma duvida que eu tive... ;)

só uma dúvida cara....

como faço esta criptografia aii que tw falow

pois eu tentei por este codigo que eu peguei em outro fórum

var

K : integer;

begin

K:=Ord(Key);

K:=K+3;

Key:=Chr(K);

end;

no evento onkeydown do dbedit da senha so que não funciona por que ele so vai acrescentar mais tres digitos em cada tecla digitada se a senha for ABC123 ele acrecentara mais tres ,ou seja CDE456 o que não seria muito legal pois gostaria que so na hora de visualizar a tabela a senha aparecece criptografada e não que modificasse a senha deu pra entender

falou

abraço

Editado por AllJack
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...