Pesquisa .DBF
Moderador: Moderadores
- mclpaltrin
- Usuário Nível 1

- Mensagens: 26
- Registrado em: 24 Set 2007 15:17
- Localização: Amparo-SP
Pesquisa .DBF
Prezados
- Algum poderia explicar como faço uma consulta em file.dbf
EX:
if SenhaInformada = SenhaGravadaDBF
? "SENHA CORRETA"
else
? "SENHA INVALIDA"
endif
* Usei o seek e found()
Mas não deu certo....poderia passar um exemplo.
Grato
- Algum poderia explicar como faço uma consulta em file.dbf
EX:
if SenhaInformada = SenhaGravadaDBF
? "SENHA CORRETA"
else
? "SENHA INVALIDA"
endif
* Usei o seek e found()
Mas não deu certo....poderia passar um exemplo.
Grato
Marcelo
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Você precisa indexar este arquivo pela chave senha e depois dar um seek e ver se achou assim:
use file
index on senha to indice1
seek senhaInformada
if !eof()
? "senha correta"
else
? "senha incorreta"
endif
use file
index on senha to indice1
seek senhaInformada
if !eof()
? "senha correta"
else
? "senha incorreta"
endif
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- mclpaltrin
- Usuário Nível 1

- Mensagens: 26
- Registrado em: 24 Set 2007 15:17
- Localização: Amparo-SP
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
Caro Marcelo faz assim:
select 0
use PASSWORD alias PASSWORD
if .not. file("SENIND.NTX")
index on SENHA to SENIND
endif
set index to SENIND
quando quiser abrir o arquivo PASSWORD, basta dar um select assim:
select PASSWORD
set order to 1
seek senhadigitada
if !eof()
? "a senha existe"
else
? "a senha nao existe"
endif
select 0
use PASSWORD alias PASSWORD
if .not. file("SENIND.NTX")
index on SENHA to SENIND
endif
set index to SENIND
quando quiser abrir o arquivo PASSWORD, basta dar um select assim:
select PASSWORD
set order to 1
seek senhadigitada
if !eof()
? "a senha existe"
else
? "a senha nao existe"
endif
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- mclpaltrin
- Usuário Nível 1

- Mensagens: 26
- Registrado em: 24 Set 2007 15:17
- Localização: Amparo-SP
Prezado
- Como vc pode analisar sou novo na linguagem e aqui no forum, grato pela
ajuda, bom conhecer pessoas especialista no assunto.
- Gostaria de tira mais umas duvidas com VC..
- Como faço para fazer uma alteração no caso, sendo que o usuario :: informe um Codigo ou Nome , claro se for codigo vou verificar se existe n table.dbf..?
- Na hora que o usuário informar a senha precisa aparecer o * e converter na string que ele esta informando como faço isso?
pode me ajudar...
GRATO
- Como vc pode analisar sou novo na linguagem e aqui no forum, grato pela
ajuda, bom conhecer pessoas especialista no assunto.
- Gostaria de tira mais umas duvidas com VC..
- Como faço para fazer uma alteração no caso, sendo que o usuario :: informe um Codigo ou Nome , claro se for codigo vou verificar se existe n table.dbf..?
- Na hora que o usuário informar a senha precisa aparecer o * e converter na string que ele esta informando como faço isso?
pode me ajudar...
GRATO
Marcelo
O método "canônico", mais usual, seria você não armazenar a senha, mas o hash MD5 da string equivalente da soma do nome de log-in e a senha do cidadão. Tendo uma chave de índice com esse hash, seria necessária apenas uma pesquisa simples. O Xharbour provavelmente tem uma função para cálculo do hash.
Como você disse que é novo na linguagem, imagino que não saiba o que é um hash. Trata-se de um algoritmo de computação que transforma uma entrada, de qualquer tamanho, numa string alfanumérica de tamanho fixo. É como se o conjunto de dados de entrada tivesse uma impressão digital única. Qualquer posterior alteração na entrada, por menor que seja, produz um hash totalmente diferente. Por isso, hashs são muito utilizados em comparações. E por ser de tamanho fixo, ainda economizam no espaço de armazenamento. São vários tipos: CRC32, MD5, SHA1, etc. Para dados de log-in o mais utilizado é o MD5.
Como você disse que é novo na linguagem, imagino que não saiba o que é um hash. Trata-se de um algoritmo de computação que transforma uma entrada, de qualquer tamanho, numa string alfanumérica de tamanho fixo. É como se o conjunto de dados de entrada tivesse uma impressão digital única. Qualquer posterior alteração na entrada, por menor que seja, produz um hash totalmente diferente. Por isso, hashs são muito utilizados em comparações. E por ser de tamanho fixo, ainda economizam no espaço de armazenamento. São vários tipos: CRC32, MD5, SHA1, etc. Para dados de log-in o mais utilizado é o MD5.
[]'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!
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!
Aliás, em tempo: o XHarbour tem realmente essa função de cálculo do MD5:
HB_MD5( <cString> ) --> cMD5
HB_MD5( <cString> ) --> cMD5
[]'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!
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!
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
bem, vou colocar um exemplo bem básico
vusuario=space(10) // aqui vc coloca o tamanho do seu campo
vsenha=space(10) // idem
@ 1,1 say "usuario" get vusuario
@ 2,1 say "senha" get vsenha picture
tem uma picture aqui que coloca * no momento da digitacao, eu esqueci mas alguem posta ai se lembrar
read
select PASSWORD
seek vusuario+vsenha
if !eof()
? "usuario e senha existem"
else
? "usuario e/ou senha nao existe"
endif
OBS: isso levando em consideracao que vc tem o campo usuario e senha no mesmo DBF e sua tabela está ordenada assim: index on usuario+senha to indice
vusuario=space(10) // aqui vc coloca o tamanho do seu campo
vsenha=space(10) // idem
@ 1,1 say "usuario" get vusuario
@ 2,1 say "senha" get vsenha picture
read
select PASSWORD
seek vusuario+vsenha
if !eof()
? "usuario e senha existem"
else
? "usuario e/ou senha nao existe"
endif
OBS: isso levando em consideracao que vc tem o campo usuario e senha no mesmo DBF e sua tabela está ordenada assim: index on usuario+senha to indice
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Padrão no XHarbour? E tem? Olhando o help dele vejo que não há nada sobre isso.tem uma picture aqui que coloca * no momento da digitacao, eu esqueci mas alguem posta ai se lembrar
[]'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!
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!
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
desculpa, näo é picture é set color
set color to w+/n,x
assim tudo oq vc digitar na senha nao vai aparecer na tela, mas será armazenado na variável....
set color to w+/n,x
assim tudo oq vc digitar na senha nao vai aparecer na tela, mas será armazenado na variável....
Muito Obrigado,
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Cor de frente e fundo iguais? Não é o que se pode chamar de método seguro, já que um print-screen revelará o conteúdo da digitação. Sem falar que fica bastante incômodo pra digitar. É provável que alguém já tenha postado na seção de XHarbour alguma função para colocar asteríscos no campo da senha. Na seção de Clipper tem uma discussão recente sobre isso.
[]'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!
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!
No meio da lista de GETs?sygecom escreveu:GetSecret()
[]'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!
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!

