criar uma tela para login
-
- Rank: Analista Sênior
- Mensagens: 135
- Registrado em: Qui, 04 Out 2007 3:36 pm
- Localização: Belo Horizonte - MG
Prezado colega,
Criei o meu sistema que só tem um formulário. Gostaria de criar uma telinha para fazer o login para que ao clicar no icone do executável de meu arquivo, ao invés dele abrir aquela tela tradicional do oracle com o pedido de login, abra então esta tela que irie criar a meu gosto.
você tem algum exemplo ou melhor ainda, pode me explicar como fazer isso? Ficarei muito agradecido,
Edson
Criei o meu sistema que só tem um formulário. Gostaria de criar uma telinha para fazer o login para que ao clicar no icone do executável de meu arquivo, ao invés dele abrir aquela tela tradicional do oracle com o pedido de login, abra então esta tela que irie criar a meu gosto.
você tem algum exemplo ou melhor ainda, pode me explicar como fazer isso? Ficarei muito agradecido,
Edson
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Bother,
Passo 1:
Para que aquela telinha de logon não apareça, você deve anular a trigger ON-LOGON, do teu formulário.
Coloque um NULL; nela.
Passo 2:
Criar a tela de login, que, ao clicar em um botão, faça o logon no sistema.
Seria isso?
qualquer coisa, manda ai.
Passo 1:
Para que aquela telinha de logon não apareça, você deve anular a trigger ON-LOGON, do teu formulário.
Coloque um NULL; nela.
Passo 2:
Criar a tela de login, que, ao clicar em um botão, faça o logon no sistema.
Seria isso?
qualquer coisa, manda ai.
-
- Rank: Analista Sênior
- Mensagens: 135
- Registrado em: Qui, 04 Out 2007 3:36 pm
- Localização: Belo Horizonte - MG
Prezado Trevissoli,
òtima a sua ajuda, não sabia desse passo 1!! Agora a necessidade maior é mesmo o que você me perguntou no passo 2 ou seja; quero criar uma telinha onde eu colocoum campo para digitar as informações e clicar em um botão ára então a partir daí, aparecer o form para eu usar o programa!! ...
Lhe agradeço mais uma vez,
Atenciosamente,
Edson
òtima a sua ajuda, não sabia desse passo 1!! Agora a necessidade maior é mesmo o que você me perguntou no passo 2 ou seja; quero criar uma telinha onde eu colocoum campo para digitar as informações e clicar em um botão ára então a partir daí, aparecer o form para eu usar o programa!! ...
Lhe agradeço mais uma vez,
Atenciosamente,
Edson
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Então brother,
No passo 2, crie um form com 3 itens:
Usuário,
Senha,
Banco
Ao pressionar um botão, utilize a built-in LOGON.
Peguei este trecho do Help do próprio forms, onde:
un = username;
pw = password;
cn = conexão/banco;
qualquer coisa, manda ai.
No passo 2, crie um form com 3 itens:
Usuário,
Senha,
Banco
Ao pressionar um botão, utilize a built-in LOGON.
LOGON(un,pw||'@'||cn);
un = username;
pw = password;
cn = conexão/banco;
qualquer coisa, manda ai.
-
- Rank: Analista Sênior
- Mensagens: 135
- Registrado em: Qui, 04 Out 2007 3:36 pm
- Localização: Belo Horizonte - MG
Prezado Trevissoli,
Ok!! E como é que eu faço para associar este formulario do login com o form do meu programa? Basta só eu fazer a conexaõ com o banco através do formulário de login?
Grato,
Edson
Ok!! E como é que eu faço para associar este formulario do login com o form do meu programa? Basta só eu fazer a conexaõ com o banco através do formulário de login?
Grato,
Edson
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Faça com que ele seja o primeiro formulário do teu sistema, alterando as propriedades do ícone, na área de trablaho.
Como neste exemplo:
Onde teuform, é o fmx do login, beleza?
Depois de logado, você dá um OPEN_FORM ou CALL_FORM para o próximo formulario, beleza?
Como neste exemplo:
C:\oracle\dev6i\BIN\ifrun60.EXE teuform
Depois de logado, você dá um OPEN_FORM ou CALL_FORM para o próximo formulario, beleza?
-
- Rank: Analista Sênior
- Mensagens: 135
- Registrado em: Qui, 04 Out 2007 3:36 pm
- Localização: Belo Horizonte - MG
Caro Trevissoli,
Entendido!! E como já aprendi coisas só neste tópico até o momento!! E desculpe-me por mqais essa; onde é que eu vou usar estas duas instruções que você acabou de me passar? o Call_Form e o Open_Form?
Acho que com esta informação derradeira eu concluo e retorno aqui informando que deu tudo certo!!
Obrigado,
Edson Amorim
Entendido!! E como já aprendi coisas só neste tópico até o momento!! E desculpe-me por mqais essa; onde é que eu vou usar estas duas instruções que você acabou de me passar? o Call_Form e o Open_Form?
Acho que com esta informação derradeira eu concluo e retorno aqui informando que deu tudo certo!!
Obrigado,
Edson Amorim
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Enão, te dei esta dica, porque você falow que, depois de preencher usuário e senha, ele iria pra outra tela.
Talvez tua tela principal do sistema, beleza?
Por exemplo, vamos supor que ela se chame PRINCIPAL.FMB, após o login, você dá um:
qualquer coisa, manda ai.
Enão, te dei esta dica, porque você falow que, depois de preencher usuário e senha, ele iria pra outra tela.
Talvez tua tela principal do sistema, beleza?
Por exemplo, vamos supor que ela se chame PRINCIPAL.FMB, após o login, você dá um:
CALL_FORM('PRINCIPAL');
qualquer coisa, manda ai.
-
- Rank: Analista Sênior
- Mensagens: 135
- Registrado em: Qui, 04 Out 2007 3:36 pm
- Localização: Belo Horizonte - MG
Caro Trevisolli,
Só mais esta: Onde é que eu coloco esta instrução acima?
Grato,
Edson
Só mais esta: Onde é que eu coloco esta instrução acima?
Grato,
Edson
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Então brother,
Suponhamos que teu form1 se chama principal.fmb, que contem os campos:
-usuário;
-senha;
-string de conexão (banco);
E um botão de OK.
Após preencher essas informações (caso estejam corretas), no when-button-pressed do botão, você redireciona para o form inicial da tua aplicação, como o exemplo:
qualquer coisa, manda ai.
Suponhamos que teu form1 se chama principal.fmb, que contem os campos:
-usuário;
-senha;
-string de conexão (banco);
E um botão de OK.
Após preencher essas informações (caso estejam corretas), no when-button-pressed do botão, você redireciona para o form inicial da tua aplicação, como o exemplo:
BEGIN
CALL_FORM('INICIAL');
END;
-
- Rank: Analista Júnior
- Mensagens: 78
- Registrado em: Qua, 16 Jan 2008 5:06 pm
- Localização: RJ
Francisco Angelo
///////////////////////////////
///////////////////////////////
Bom Dia,
eu achei interessante fazer isso, só que quando fui fazer na hora que vou
colocar esse comando no Botão, da o seguinte erro:
O Identificador 'UN' deve ser declarado
como faço para declarar? e assim, vou ter que declarar também o PW e o CN também né??
desde já Obrigado..
eu achei interessante fazer isso, só que quando fui fazer na hora que vou
colocar esse comando no Botão, da o seguinte erro:
LOGON(un,pw||'@'||cn);
como faço para declarar? e assim, vou ter que declarar também o PW e o CN também né??
desde já Obrigado..
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Então brother...
Nesta caso, o UN, é o teu User Name, que será o valor do item de texto que você criou, para que o usuário digite o login dele, correto?
Este un, pode ser, por exemplo...
qualquer coisa manda ai.
Nesta caso, o UN, é o teu User Name, que será o valor do item de texto que você criou, para que o usuário digite o login dele, correto?
Este un, pode ser, por exemplo...
:BLOCO_LOGIN.CAMPO_LOGIN;
-
- Rank: Analista Júnior
- Mensagens: 78
- Registrado em: Qua, 16 Jan 2008 5:06 pm
- Localização: RJ
Francisco Angelo
///////////////////////////////
///////////////////////////////
Olá Pessoal boa noite !!!
Tentei fazer essa tela novamente, fiz a telinha com os três campos tudo certo. até chegar a parte onde configura o botão 'OK'.
inseri a trigger wen_button_pressed o codigo:
me apresenta o seguinte erro: UN deve ser declarado.
então fiz isso no botão 'OK':
desse jeito compilou certinho sem erro. so que quando vou fazer o teste ele vai para a tela do forms indicado mais não faz a conexão com o banco...
poderiam me dizer o que esta errado e como consertar???
desde já agradeço.
Tentei fazer essa tela novamente, fiz a telinha com os três campos tudo certo. até chegar a parte onde configura o botão 'OK'.
inseri a trigger wen_button_pressed o codigo:
LOGON(un,pw||'@'||cn);
então fiz isso no botão 'OK':
DECLARE
UN VARCHAR (20);
PW NUMBER (20);
CN VARCHAR (20);
BEGIN
UN := (BLOCO.CAMPO);
PW := (BLOCO.CAMPO);
CN := (BLOCO.CAMPO);
LOGON(un,pw||'@'||cn);
END;
OPEN_FORM('PEDIDO.FMX',ACTIVATE,SESSION);
poderiam me dizer o que esta errado e como consertar???
desde já agradeço.
-
- Rank: Analista Júnior
- Mensagens: 98
- Registrado em: Qui, 02 Ago 2007 3:06 pm
- Localização: sp
Érico Balboa
A pergunta mais cretina é aquela que não é feita
A pergunta mais cretina é aquela que não é feita
opa amigão, tenta fazer assim:
dentro da trigger ON-LOGON do forms, você põe o código:
Dentro da trigger WHEN-BUTTON-PRESSED de OK da senha, você põe o código:
Claro que isso funciona com todas as informações sendo passadas corretamente, não está tratando campos vazios, senhas erradas.....Se você quiser, testa deste jeito, dando certo, se você quiser melhorá-lo com mais alguns tratamentos dá um toque, abs.
dentro da trigger ON-LOGON do forms, você põe o código:
Default_Value( 'N', 'Global.LogScr' ) ;
if :Global.LogScr = 'N' then
-- Inibe a tela de login padrão.
Null ;
else
LOGON(:BLOCO.USERNAME,:BLOCO.PASSWORD||'@'||:BLOCO.CONEXAO, TRUE);
end if;
:Global.LogScr := 'S' ;
Execute_Trigger('ON-LOGON');
:Global.LogScr := 'N' ;
OPEN_FORM('x:\caminho_do_forms\PEDIDO.FMX');
-
- Rank: Analista Júnior
- Mensagens: 78
- Registrado em: Qua, 16 Jan 2008 5:06 pm
- Localização: RJ
Francisco Angelo
///////////////////////////////
///////////////////////////////
Po cara, funcionou perfeitamente. muito obrigado.
só que a tela de login ainda fica presente, mesmo eu colocando o codigo no final da instrução do botão :
o forms 'login' não some:
se tiver como ajudar, mais isso aí é o de menos.....
---- Agora tem como me ajudar novamente?? -----
Queria criar alguns usuarios, e que eles tivessem um tempo para expirar a senha. E apenas eu pudesse ativa-lás novamente.
exemplo: o usuario ficou 30 dias usando o programa depois a senha dele expirou, ele não vai conseguir mais se conectar com o banco.
depois eu vou lá no banco ou talvez pelo forms mesmo e reativo a senha dele ou troco por outra tanto faz. teria como fazer isso??
Desde já Obrigado.
só que a tela de login ainda fica presente, mesmo eu colocando o codigo no final da instrução do botão :
DO_KEY('EXIT_FORM');
se tiver como ajudar, mais isso aí é o de menos.....
---- Agora tem como me ajudar novamente?? -----
Queria criar alguns usuarios, e que eles tivessem um tempo para expirar a senha. E apenas eu pudesse ativa-lás novamente.
exemplo: o usuario ficou 30 dias usando o programa depois a senha dele expirou, ele não vai conseguir mais se conectar com o banco.
depois eu vou lá no banco ou talvez pelo forms mesmo e reativo a senha dele ou troco por outra tanto faz. teria como fazer isso??
Desde já Obrigado.
-
- Rank: Analista Júnior
- Mensagens: 98
- Registrado em: Qui, 02 Ago 2007 3:06 pm
- Localização: sp
Érico Balboa
A pergunta mais cretina é aquela que não é feita
A pergunta mais cretina é aquela que não é feita
você pode tentar escônde-la com;
Controle de senha você pode fazer uma tabela que armazene user, data de validação, data de criação e outras informações que você achar necessário,
com um select você verifica se a senha está ativa, expirada, enfim....
Para isso você vai precisar de um usuário padrão q logará no banco antes de você logar com o usuário q está logando, para q ele posso verificar essas informações e validar.
Boa Sorte, abs
HIDE_WINDOW('Sua_Window');
com um select você verifica se a senha está ativa, expirada, enfim....
Para isso você vai precisar de um usuário padrão q logará no banco antes de você logar com o usuário q está logando, para q ele posso verificar essas informações e validar.
Boa Sorte, abs
Olá pessoal.
Estou tentando montar uma tela de Login, estava com algumas dúvidas e as dicas mencionadas acima me ajudaram muito. Porém, estou com um problema que não estou conseguindo solucionar. Segue abaixo a situação.
Quando eu digito usuário ou a senha inválida, o forms me retorna uma janela com a seguinte mensagem: "ORA-01017: invalid username/password; logon denied". Quando eu clico em OK, ele me abre aquela tela padrão de login do Forms (que foi anulada na trigger on-logon). Tema alguma forma de eliminar essas duas telas que aparece? Para que eu possa mostrar uma mensagem dizendo que a senha ou o usuário estão incorretos e ao clicar em OK volte para a tela de login que eu criei?
Desde já agradeço.
Att.
Estou tentando montar uma tela de Login, estava com algumas dúvidas e as dicas mencionadas acima me ajudaram muito. Porém, estou com um problema que não estou conseguindo solucionar. Segue abaixo a situação.
Quando eu digito usuário ou a senha inválida, o forms me retorna uma janela com a seguinte mensagem: "ORA-01017: invalid username/password; logon denied". Quando eu clico em OK, ele me abre aquela tela padrão de login do Forms (que foi anulada na trigger on-logon). Tema alguma forma de eliminar essas duas telas que aparece? Para que eu possa mostrar uma mensagem dizendo que a senha ou o usuário estão incorretos e ao clicar em OK volte para a tela de login que eu criei?
Desde já agradeço.
Att.
Encontrei a solução, que por sinal é bem simples.ghbotti escreveu:Olá pessoal.
Estou tentando montar uma tela de Login, estava com algumas dúvidas e as dicas mencionadas acima me ajudaram muito. Porém, estou com um problema que não estou conseguindo solucionar. Segue abaixo a situação.
Quando eu digito usuário ou a senha inválida, o forms me retorna uma janela com a seguinte mensagem: "ORA-01017: invalid username/password; logon denied". Quando eu clico em OK, ele me abre aquela tela padrão de login do Forms (que foi anulada na trigger on-logon). Tema alguma forma de eliminar essas duas telas que aparece? Para que eu possa mostrar uma mensagem dizendo que a senha ou o usuário estão incorretos e ao clicar em OK volte para a tela de login que eu criei?
Desde já agradeço.
Att.
Na Built in LOGON, mude TRUE para FALSE, conforme abaixo, desta forma irá ignorar a mensagem padrão do Forms, de que a senha ou usuário são inválidos.
LOGON(:BLOCO.USERNAME,:BLOCO.PASSWORD||'@'||:BLOCO.CONEXAO, FALSE);
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes