Dicas Delphi – Criando um Gerador de Senhas

Salve, salve amigos,

Veja nesta dica um código simples mas bastante útil, que gera senhas aleatórias podendo conter somente numeros, somente letras ou letras e números.
Primeiramente, vamos ao tutorial: insira em um form um Edit, abaixo dele um RadioGroup e depois outro Edit. Nesse RadioGroup, procure pela propriedade
Items no Object Inspector e adicione o seguinte: 
Somente números Somente letras Letras e números
Após isso, adicione dois Buttons. No primeiro mude a propriedade Caption para “Gerar” e o segundo “Limpar”. No OnClick do botao “Gerar” coloque o seguinte código:

Por http://www.activedelphi.com.br

procedure TForm1.Button1Click(Sender: TObject);
const
letras = 'abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ';
numeros = '1234567890';
letrasnumeros = letras + numeros;
var
i: integer;
begin
try

Edit2.Clear;
for i := 1 to StrToInt(Edit1.Text) do
begin

if RadioGroup1.ItemIndex = 0 then
Edit2.Text := Edit2.Text + numeros[random(length(numeros)) + 1]
else if RadioGroup1.ItemIndex = 1 then
Edit2.Text := Edit2.Text + letras[random(length(letras)) + 1]
else if RadioGroup1.ItemIndex = 2 then
Edit2.Text := Edit2.Text + letrasnumeros[random(length(letrasnumeros)) + 1];
end;
except
showmessage('Insira somente números no primeiro Edit');
end;
end;
Explicando
Criamos uma variavel i, do tipo inteira, que irá receber a quantidade de caracteres que o usuário quiser para a sua senha. Por isso convertemos o valor do Edit1.Text de String para Inteiro (StrToInt) dentro do for. Criamos também três constantes, adicionando a cada uma respectivamente as letras, numeros ou as duas juntas.
O comando “Try” funciona da seguinte maneira: falamos para o Delphi tentar executar esse código e, caso ele não conseguir, podemos utilizar o Except para apresentar, por exemplo, algumas mensagens de erro do que pôde acontecer. 
No exemplo, deve ser informado no Edit1 a quantidade de caracteres da senha e, caso a pessoa coloque letras ao invés de números, a função StrToInt não conseguirá ser executada. Com o Except, conseguimos informar ao usuário este problema e tiramos a mensagen de erro que o delphi emitiria, em inglês.
No segundo botão, coloque apenas:
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit2.Clear;
end;
Nesse momento, compile e rode sua aplicacão, informe um número no primeiro edit, selecione um método de geração e veja a senha gerada no segundo edit. É o nosso código em funcionamento!
Take care
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s