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
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
Nenhum comentário:
Postar um comentário