Função para Getar senha

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Quem é vivo sempre aparece. :)
rrfsistemas escreveu:Ja que vcs stão precisando de uma função de senha
Essa função é +/- equivalente ao exemplo postado pelo Leonardo. Se bem que a sua (não testei) é bem mais enxuta.
Mas, como eu tinha dito, a modificação do GETSYS traz mais benefícios. Por exemplo: o sujeito vai se cadastrar e você quer que ele digite a senha duas vezes, pra confirmação. Num GET de verdade ficaria muito mais fácil. Mas toda dica é válida, claro. Alguém sempre pode aproveitar. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
rrfsistemas
Usuário Nível 3
Usuário Nível 3
Mensagens: 249
Registrado em: 11 Jul 2004 18:16
Localização: Uberlândia/MG

Mensagem por rrfsistemas »

Pois é Maligno estou vivo !!
Mas sempre estou olhando os posts, só não escrevo mais pq agora uso java e o.Net.

Deixei de programar na area comercial e estou com o setor de Call Center.

A burrocracia do governo me espantou de uma ve$ por toda$.
"Não é a ferramenta que faz o artesão e sim a sua criatividade...""
Renato Ribeiro Ferreira
Tecnologia em Analise de Sistemas de Informação
http://www.rrfsistemas.hd1.com.br
( VFP 9 + MySql e/ou Oracle 11 ) - ...Harbour/MiniGui...
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

só não escrevo mais pq agora uso java e o.Net.
Boa opção. Melhor que o VFP, a meu ver.
A burrocracia do governo me espantou de uma ve$ por toda$.
Felizmente há outras alternativas em sistemas de administração que não dependem do governo em nada. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Malígno!
Como eu poderia alterar o Getsys, qual função eu devo alterar?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Mas o Stanis postou um exemplo já prontinho. Note que a função si, é um leitor especialista. No código exemplo ele modificou a variável que contém o bloco de código que faz a leitura do campo (o último da lista GET, daí o ATail()), usando esse leitor especialista. Simples de tudo. Eu não testei, nem li o código direito, mas tá com pinta de que vai funcionar bem. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Opa,

A função que postei não fui eu que desenvolvi.

Foi uma época que precisei desta rotina e não tinha tempo para desenvolver nada, eu até poderia ter aproveitado uma função que eu usava para pesquisa incremental, que utiliza este mesmo método das outras postadas. No entanto esta me pareceu mais completa por trabalhar, ainda que não perfeitamente, com lista de gets.

É como eu disse, da pra aprimorar.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Malígno ou Stanis!
É que a rotina postada trava no último get e não dá prá usar a seta para cima, ai os operadores ficam enchendo.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

É extamante isso que falei que da pra aprimorar.

Todas as rotinas postadas apresentam este problema.

Poderia alterar o GET pelo std.ch adicionando uma cláusula PASSWORD e colocando uma rotina lá. Não é tão complicado.

Falou...
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Seguindo a dica de vocês incluí as seguintes linhas:

Código: Selecionar todos

...
...
ELSEIF L2 = 5           // Volta para o get anterior
   P1:CARGO := space(15)//preenche o get com espaços
   GetApplyKey(P1, L2)  // NOME COMPLETO
....
....
... e ficou tudo certinho.

Valeu a força.[/code]
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Muito bom mesmo, era disso que eu tava falando! rs

Aproveite a segunda dica e coloque a cláusula password no std.ch, vai ficar excelente!!!

Falou!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Quanto a alterar a STD.ch acho que não vai dar, nunca alterei esses arquivos, se não me enganno ele serve para criar vários comandos e definir com eles vão agir no clipper.

Poderia também colocar mais uma máscara no picture, no getsys?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

É que a rotina postada trava no último get e não dá prá usar a seta para cima, ai os operadores ficam enchendo.
Como eu disse, não li o código. Mas pelo jeito você conseguiu se virar muito bem. Parabéns. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Quanto a alterar a STD.ch acho que não vai dar, nunca alterei esses arquivos, se não me enganno ele serve para criar vários comandos e definir com eles vão agir no clipper.
É muito mais fácil do que você imagina. É só seguir os exemplos que já existem no próprio STD.CH.
Poderia também colocar mais uma máscara no picture, no getsys?
Aí a coisa já complica um pouco, já que você teria de fazer o GETSYS entender como a máscara deverá ser interpretada.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Que me desculpem quem sabe fazer coisa melhor, mas pra que complicar se pode facilitar? STD, Getsys, Cargo...? Complicou, falou aramaico antigo...

Que tal usar só o INKEY() numa função caseira? A seguir, uma idéia.

Código: Selecionar todos

...
publ senha:="Eolo0703" // senha c/ 8 digitos, guardada em qq lugar (DBF, EXE etc)
...
if senha()=.t.
  relat_venda()
endi



function senha
priv lk,tc,ret
do whil .t.
  inkey(0) // espera entradas...
  lk=lastkey()
  if lk=27 // se teclar ESC, sai fora...
    ret=.f.
    exit
  endi
  if !((lk>47 .and. lk<58) .or. (lk>64 .and. lk<91) .or. (lk>96 .and. lk<123))
    * se não digitou A/Z ou 0/9, volta pro loop
    loop
  endi
  tc=tc+chr(lk)
  @10,10 say repl("*",len(tc)) // mostra N asteriscos em algum lugar da tela
  if len(tc)=8 // se atingiu 8 dígitos, sai
    if tc==senha
      ret=.t.
    else
      ret=.f.
    endi
    exit
  endi
endd
retu ret
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Sim, Eolo. É o que tínhamos conversado antes. Há uma utilidade pra isso. Em alguns casos até resolve, mas é simples demais e não interage com o GETSYS. E há situações em que é necessário manter um campo (ou dois) de senha numa lista GET. Aí essa função já não resolve.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder