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!
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...
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!
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
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!
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.
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
...
...
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
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
É 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!
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!
...
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
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!